aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rpkid/rpki/gui/app/templates/app/app_base.html1
-rw-r--r--rpkid/rpki/gui/app/templates/app/client_list.html22
-rw-r--r--rpkid/rpki/gui/app/templates/app/dashboard.html19
-rw-r--r--rpkid/rpki/gui/app/urls.py1
-rw-r--r--rpkid/rpki/gui/app/views.py9
5 files changed, 32 insertions, 20 deletions
diff --git a/rpkid/rpki/gui/app/templates/app/app_base.html b/rpkid/rpki/gui/app/templates/app/app_base.html
index d01130d5..f7ec0927 100644
--- a/rpkid/rpki/gui/app/templates/app/app_base.html
+++ b/rpkid/rpki/gui/app/templates/app/app_base.html
@@ -17,6 +17,7 @@
<ul class='unstyled'>
<li><a href="{% url rpki.gui.app.views.conf_list %}" title="select a different resource handle to manage">select identity</a></li>
<li><a href="{% url rpki.gui.app.views.user_list %}" title="manage users"><i class="icon-user"></i> users</a></li>
+ <li><a href="{% url rpki.gui.app.views.client_list %}" title="manage repository clients">repository clients</a></li>
</ul>
{% endif %}
diff --git a/rpkid/rpki/gui/app/templates/app/client_list.html b/rpkid/rpki/gui/app/templates/app/client_list.html
index a2a0a5a2..5024d8f6 100644
--- a/rpkid/rpki/gui/app/templates/app/client_list.html
+++ b/rpkid/rpki/gui/app/templates/app/client_list.html
@@ -1 +1,21 @@
-{% extends "app/object_list.html" %}
+{% extends "app/app_base.html" %}
+
+{% block content %}
+<div class="page-header">
+ <h1>Repository Clients</h1>
+</div>
+<table class="table table-striped">
+ <thead><tr><th>Handle</th><th>Action</th></tr></thead>
+ <tbody>
+ {% for client in object_list %}
+ <tr>
+ <td><a href="{% url rpki.gui.app.views.client_detail client.pk %}">{{ client.handle }}</a></td>
+ <td>
+ <a class="btn btn-mini" href="{% url rpki.gui.app.views.client_delete client.pk %}" title="Delete"><i class="icon-trash"></i></a>
+ </td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
+<a class="btn" href="{% url rpki.gui.app.views.client_import %}"><i class="icon-upload"></i> Import</a>
+{% endblock content %}
diff --git a/rpkid/rpki/gui/app/templates/app/dashboard.html b/rpkid/rpki/gui/app/templates/app/dashboard.html
index 3349c3cd..3be5927a 100644
--- a/rpkid/rpki/gui/app/templates/app/dashboard.html
+++ b/rpkid/rpki/gui/app/templates/app/dashboard.html
@@ -208,24 +208,5 @@
</table>
<a class="btn" href="{% url rpki.gui.app.views.repository_import %}"><i class="icon-upload"></i> Import</a>
</div><!-- /span -->
- {% if request.user.is_superuser %}
- <div class="span6">
- <div class="page-header">
- <h1>Repository Clients</h1>
- </div>
-<table class="table table-condensed table-striped">
- <tr><th>Handle</th><th></th></tr>
- {% for client in clients %}
- <tr>
- <td><a href="{% url rpki.gui.app.views.client_detail client.pk %}">{{ client.handle }}</a></td>
- <td>
- <a class="btn btn-mini" href="{% url rpki.gui.app.views.client_delete client.pk %}" title="Delete"><i class="icon-trash"></i></a>
- </td>
- </tr>
- {% endfor %}
- </table>
- <a class="btn" href="{% url rpki.gui.app.views.client_import %}"><i class="icon-upload"></i> Import</a>
- </div><!-- /span -->
- {% endif %}
</div><!-- /row -->
{% endblock %}
diff --git a/rpkid/rpki/gui/app/urls.py b/rpkid/rpki/gui/app/urls.py
index 8f11c5be..93936ad4 100644
--- a/rpkid/rpki/gui/app/urls.py
+++ b/rpkid/rpki/gui/app/urls.py
@@ -41,6 +41,7 @@ urlpatterns = patterns(
url(r'^gbr/(?P<pk>\d+)/delete$', views.ghostbuster_delete, name='gbr-delete'),
(r'^refresh$', views.refresh),
(r'^client/import$', views.client_import),
+ (r'^client/$', views.client_list),
(r'^client/(?P<pk>\d+)/$', views.client_detail),
(r'^client/(?P<pk>\d+)/delete$', views.client_delete),
(r'^client/(?P<pk>\d+)/export$', views.client_export),
diff --git a/rpkid/rpki/gui/app/views.py b/rpkid/rpki/gui/app/views.py
index 3e1cdbe2..0a393007 100644
--- a/rpkid/rpki/gui/app/views.py
+++ b/rpkid/rpki/gui/app/views.py
@@ -942,6 +942,15 @@ def repository_import(request):
@superuser_required
+def client_list(request):
+ """display a list of all repository client (irdb.models.Client)"""
+
+ return render(request, 'app/client_list.html', {
+ 'object_list': models.Client.objects.all()
+ })
+
+
+@superuser_required
def client_detail(request, pk):
return render(request, 'app/client_detail.html',
{'object': get_object_or_404(models.Client, pk=pk)})