0001-manager-remove-username-column-of-role-members-table.patch
src/authentic2/manager/role_views.py | ||
---|---|---|
33 | 33 |
from authentic2 import hooks, data_transfer |
34 | 34 | |
35 | 35 |
from . import tables, views, resources, forms, app_settings |
36 |
from .utils import has_show_username |
|
36 | 37 | |
37 | 38 | |
38 | 39 |
class RolesMixin(object): |
... | ... | |
202 | 203 |
ctx['from_ldap'] = self._can_manage_members and not self.can_manage_members |
203 | 204 |
return ctx |
204 | 205 | |
206 |
def is_ou_specified(self): |
|
207 |
return self.search_form.is_valid() \ |
|
208 |
and self.search_form.cleaned_data.get('ou') |
|
209 | ||
210 |
def get_table(self, **kwargs): |
|
211 |
show_username = has_show_username() |
|
212 |
if not show_username and self.is_ou_specified(): |
|
213 |
show_username = self.is_ou_specified().show_username |
|
214 |
if not show_username: |
|
215 |
exclude = kwargs.setdefault('exclude', []) |
|
216 |
if 'username' not in exclude: |
|
217 |
exclude.append('username') |
|
218 |
return super().get_table(**kwargs) |
|
219 | ||
220 | ||
205 | 221 |
members = RoleMembersView.as_view() |
206 | 222 | |
207 | 223 |
tests/test_manager.py | ||
---|---|---|
813 | 813 |
assert resp.json['content'] |
814 | 814 | |
815 | 815 | |
816 |
def test_manager_role_username_column(app, admin, simple_role): |
|
817 |
login(app, admin, '/manage/') |
|
818 | ||
819 |
resp = app.get('/manage/roles/%s/' % simple_role.id) |
|
820 |
assert resp.html.find('th', {'class': 'asc orderable username'}) |
|
821 | ||
822 |
ou = get_default_ou() |
|
823 |
ou.show_username = False |
|
824 |
ou.save() |
|
825 | ||
826 |
resp = app.get('/manage/roles/%s/' % simple_role.id) |
|
827 |
assert not resp.html.find('th', {'class': 'asc orderable username'}) |
|
828 | ||
829 | ||
816 | 830 |
def test_manager_role_admin_permissions(app, simple_user, admin, simple_role): |
817 | 831 |
admin_role = simple_role.get_admin_role() |
818 | 832 |
simple_user.roles.add(admin_role) |
819 |
- |