diff --git a/src/authentic2/manager/templates/authentic2/manager/user_authorizations.html b/src/authentic2/manager/templates/authentic2/manager/user_authorizations.html index 6a97b2aea..ddd340a7b 100644 --- a/src/authentic2/manager/templates/authentic2/manager/user_authorizations.html +++ b/src/authentic2/manager/templates/authentic2/manager/user_authorizations.html @@ -10,6 +10,9 @@ {% block breadcrumb %} {{ block.super }} {% trans 'Users' %} + {% if multiple_ou and object.ou %} + {{ object.ou }} + {% endif %} {{ object.get_full_name }} {% trans "Consent Management" context "manager" %} {% endblock %} diff --git a/src/authentic2/manager/views.py b/src/authentic2/manager/views.py index 939e8219e..33aa38784 100644 --- a/src/authentic2/manager/views.py +++ b/src/authentic2/manager/views.py @@ -421,8 +421,8 @@ class TableHookMixin(object): return table -class BaseTableView(TitleMixin, TableHookMixin, FormatsContextData, ModelNameMixin, PermissionMixin, - SearchFormMixin, FilterQuerysetByPermMixin, TableQuerysetMixin, +class BaseTableView(MultipleOUMixin, TitleMixin, TableHookMixin, FormatsContextData, ModelNameMixin, + PermissionMixin, SearchFormMixin, FilterQuerysetByPermMixin, TableQuerysetMixin, SingleTableView): '''Base class for views showing a table of objects''' pass diff --git a/tests/test_user_manager.py b/tests/test_user_manager.py index 856a5c9dc..467351d00 100644 --- a/tests/test_user_manager.py +++ b/tests/test_user_manager.py @@ -932,3 +932,18 @@ def test_manager_user_authorizations(app, superuser, simple_user): resp = resp.follow() assert resp.html.find('td').text == \ 'This user has not granted profile data access to any service yet.' + +def test_manager_user_authorizations_breadcrumb(app, superuser, simple_user): + resp = login(app, superuser) + user_authorizations_url = reverse( + 'a2-manager-user-authorizations', kwargs={'pk': simple_user.id}) + resp = app.get(user_authorizations_url, status=200) + assert [x.text for x in resp.html.find('span', {'id': 'breadcrumb'}).find_all('a')] == [ + 'Homepage', 'Administration', 'Users', 'Default organizational unit', + 'Jôhn Dôe', 'Consent Management'] + user_authorizations_url = reverse( + 'a2-manager-user-authorizations', kwargs={'pk': superuser.id}) + resp = app.get(user_authorizations_url, status=200) + assert [x.text for x in resp.html.find('span', {'id': 'breadcrumb'}).find_all('a')] == [ + 'Homepage', 'Administration', 'Users', + 'super user', 'Consent Management']