From 79adac907cfef1222e9b29b4feb3b2f71b660e30 Mon Sep 17 00:00:00 2001 From: maxbr Date: Mon, 12 Sep 2016 11:19:18 +0200 Subject: Add user info panel JIRA: PHAROS-264 Change-Id: I5404812a78755ce1026401b8dda1f0d167dc6fda Signed-off-by: maxbr --- tools/pharos-dashboard/account/urls.py | 3 +- tools/pharos-dashboard/account/views.py | 15 ++++++-- tools/pharos-dashboard/pharos_dashboard/urls.py | 9 +++-- .../templates/account/user_list.html | 42 ++++++++++++++++++++++ tools/pharos-dashboard/templates/base.html | 5 +++ 5 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 tools/pharos-dashboard/templates/account/user_list.html (limited to 'tools') 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 %} + + + Username + Company + SSH Key + GPG Key + + + + {% for user in users %} + + + {{ user.username }} + + + {{ user.userprofile.company }} + + + Download + + + Download + + + {% endfor %} + +{% endblock table %} + + +{% block tablejs %} + +{% 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">Resources +
  • + Users + +
  • -- cgit 1.2.3-korg