diff options
author | maxbr <maxbr@mi.fu-berlin.de> | 2016-09-12 11:19:18 +0200 |
---|---|---|
committer | maxbr <maxbr@mi.fu-berlin.de> | 2016-09-12 11:19:18 +0200 |
commit | 79adac907cfef1222e9b29b4feb3b2f71b660e30 (patch) | |
tree | 47e59bbdef290e05e089147b40909d1086a504c7 /tools | |
parent | 167ed9ae59ded96d526b421c932b41554465f9eb (diff) |
Add user info panel
JIRA: PHAROS-264
Change-Id: I5404812a78755ce1026401b8dda1f0d167dc6fda
Signed-off-by: maxbr <maxbr@mi.fu-berlin.de>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/pharos-dashboard/account/urls.py | 3 | ||||
-rw-r--r-- | tools/pharos-dashboard/account/views.py | 15 | ||||
-rw-r--r-- | tools/pharos-dashboard/pharos_dashboard/urls.py | 9 | ||||
-rw-r--r-- | tools/pharos-dashboard/templates/account/user_list.html | 42 | ||||
-rw-r--r-- | tools/pharos-dashboard/templates/base.html | 5 |
5 files changed, 69 insertions, 5 deletions
diff --git a/tools/pharos-dashboard/account/urls.py b/tools/pharos-dashboard/account/urls.py index b837814a..7289da69 100644 --- a/tools/pharos-dashboard/account/urls.py +++ b/tools/pharos-dashboard/account/urls.py @@ -21,5 +21,6 @@ urlpatterns = [ url(r'^settings/', AccountSettingsView.as_view(), name='settings'), url(r'^authenticated/$', JiraAuthenticatedView.as_view(), name='authenticated'), url(r'^login/$', JiraLoginView.as_view(), name='login'), - url(r'^logout/$', JiraLogoutView.as_view(), name='logout') + url(r'^logout/$', JiraLogoutView.as_view(), name='logout'), + url(r'^users/$', UserListView.as_view(), name='users'), ] diff --git a/tools/pharos-dashboard/account/views.py b/tools/pharos-dashboard/account/views.py index 7d2c9bd0..fd1762e5 100644 --- a/tools/pharos-dashboard/account/views.py +++ b/tools/pharos-dashboard/account/views.py @@ -10,13 +10,14 @@ from django.contrib.auth.models import User from django.urls import reverse from django.utils.decorators import method_decorator from django.views.generic import RedirectView +from django.views.generic import TemplateView from django.views.generic import UpdateView from jira import JIRA from account.forms import AccountSettingsForm from account.jira_util import SignatureMethod_RSA_SHA1 from account.models import UserProfile -from pharos_dashboard import settings +from django.conf import settings consumer = oauth.Consumer(settings.OAUTH_CONSUMER_KEY, settings.OAUTH_CONSUMER_SECRET) @@ -50,7 +51,8 @@ class JiraLoginView(RedirectView): self.request.session['request_token'] = dict(urllib.parse.parse_qsl(content.decode())) # Step 3. Redirect the user to the authentication URL. url = settings.OAUTH_AUTHORIZE_URL + '?oauth_token=' + \ - self.request.session['request_token']['oauth_token'] + self.request.session['request_token']['oauth_token'] + \ + '&oauth_callback=' + settings.OAUTH_CALLBACK_URL return url @@ -109,3 +111,12 @@ class JiraAuthenticatedView(RedirectView): login(self.request, user) # redirect user to settings page to complete profile return url + +class UserListView(TemplateView): + template_name = "account/user_list.html" + + def get_context_data(self, **kwargs): + users = User.objects.all() + context = super(UserListView, self).get_context_data(**kwargs) + context.update({'title': "Dashboard Users", 'users': users}) + return context diff --git a/tools/pharos-dashboard/pharos_dashboard/urls.py b/tools/pharos-dashboard/pharos_dashboard/urls.py index 26ab3677..d8bf5608 100644 --- a/tools/pharos-dashboard/pharos_dashboard/urls.py +++ b/tools/pharos-dashboard/pharos_dashboard/urls.py @@ -13,13 +13,18 @@ Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) """ +from django.conf import settings from django.conf.urls import url, include +from django.conf.urls.static import static from django.contrib import admin urlpatterns = [ url(r'^', include('dashboard.urls', namespace='dashboard')), url(r'^booking/', include('booking.urls', namespace='booking')), - url(r'^account/', include('account.urls', namespace='account')), + url(r'^accounts/', include('account.urls', namespace='account')), url(r'^admin/', admin.site.urls), -]
\ No newline at end of file +] + +if settings.DEBUG is True: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
\ No newline at end of file diff --git a/tools/pharos-dashboard/templates/account/user_list.html b/tools/pharos-dashboard/templates/account/user_list.html new file mode 100644 index 00000000..7618dc95 --- /dev/null +++ b/tools/pharos-dashboard/templates/account/user_list.html @@ -0,0 +1,42 @@ +{% extends "dashboard/table.html" %} +{% load staticfiles %} + +{% block table %} + <thead> + <tr> + <th>Username</th> + <th>Company</th> + <th>SSH Key</th> + <th>GPG Key</th> + </tr> + </thead> + <tbody> + {% for user in users %} + <tr> + <th> + {{ user.username }} + </th> + <th> + {{ user.userprofile.company }} + </th> + <th> + <a href={{ user.userprofile.ssh_public_key.url }}>Download</a> + </th> + <th> + <a href={{ user.userprofile.pgp_public_key.url }}>Download</a> + </th> + </tr> + {% endfor %} + </tbody> +{% endblock table %} + + +{% block tablejs %} + <script type="text/javascript"> + $(document).ready(function () { + $('#table').DataTable({ + "order": [[0, "asc"]] + }); + }); + </script> +{% endblock tablejs %}
\ No newline at end of file diff --git a/tools/pharos-dashboard/templates/base.html b/tools/pharos-dashboard/templates/base.html index 64174a1f..42156e3b 100644 --- a/tools/pharos-dashboard/templates/base.html +++ b/tools/pharos-dashboard/templates/base.html @@ -71,6 +71,11 @@ class="fa fa-fw"></i>Resources </a> </li> + <li> + <a href="{% url 'account:users' %}"><i + class="fa fa-fw"></i>Users + </a> + </li> </ul> </div> <!-- /.sidebar-collapse --> |