From d2bf52b07979413a82a7bc2d44a9307f41b30aa8 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Thu, 4 Jul 2019 19:34:59 +0200 Subject: [PATCH] manager: add a me/ view (#15264) This view redirects to the user's manager view if possible or to /accounts/. --- .../manager/templates/authentic2/manager/base.html | 4 ++++ src/authentic2/manager/urls.py | 1 + src/authentic2/manager/user_views.py | 9 ++++++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/authentic2/manager/templates/authentic2/manager/base.html b/src/authentic2/manager/templates/authentic2/manager/base.html index f49e864b..cb46f4c8 100644 --- a/src/authentic2/manager/templates/authentic2/manager/base.html +++ b/src/authentic2/manager/templates/authentic2/manager/base.html @@ -7,6 +7,10 @@ {% block page-title %}{% firstof manager_site_title site_title "Authentic2" %}{% endblock %} {% block site-title %}{% firstof manager_site_title site_title "Authentic2" %}{% endblock %} +{% block user-name %} +{{ block.super }} +{% endblock %} + {% block logout-url %}{% url 'auth_logout' %}?next={{ request.get_full_path|urlencode }}{% endblock %} {% block appbar %} diff --git a/src/authentic2/manager/urls.py b/src/authentic2/manager/urls.py index d64892bd..bc36e97a 100644 --- a/src/authentic2/manager/urls.py +++ b/src/authentic2/manager/urls.py @@ -32,6 +32,7 @@ urlpatterns = required( manager_login_required, [ # homepage url(r'^$', views.homepage, name='a2-manager-homepage'), + url(r'^me/$', user_views.me, name='a2-manager-me'), # Authentic2 users url(r'^users/$', user_views.users, name='a2-manager-users'), diff --git a/src/authentic2/manager/user_views.py b/src/authentic2/manager/user_views.py index 2d19c8ae..1335a085 100644 --- a/src/authentic2/manager/user_views.py +++ b/src/authentic2/manager/user_views.py @@ -28,7 +28,7 @@ from django.core.urlresolvers import reverse from django.contrib.auth import get_user_model from django.contrib.contenttypes.models import ContentType from django.contrib import messages -from django.views.generic import FormView, TemplateView +from django.views.generic import FormView, TemplateView, RedirectView from django.http import Http404, FileResponse import tablib @@ -788,3 +788,10 @@ class UserImportReportView(MediaMixin, PermissionMixin, TemplateView): return ctx user_import_report = UserImportReportView.as_view() + + +def me(request): + if request.user.has_perm('custom_user.admin_user', request.user): + return redirect(request, 'a2-manager-user-detail', kwargs={'pk': request.user.pk}) + else: + return redirect(request, 'account_management') -- 2.20.1