0001-backoffice-remove-users-roles-from-menus-if-roles-ar.patch
tests/test_admin_pages.py | ||
---|---|---|
3360 | 3360 |
resp = app.get('/backoffice/workflows/') |
3361 | 3361 |
assert 'Unused workflows' in resp.body |
3362 | 3362 | |
3363 |
def test_users_roles_menu_entries(pub): |
|
3364 |
create_superuser(pub) |
|
3365 |
app = login(get_app(pub)) |
|
3366 |
resp = app.get('/backoffice/') |
|
3367 |
assert 'Users' in resp.body |
|
3368 |
assert 'Roles' in resp.body |
|
3369 |
resp = app.get('/backoffice/menu.json') |
|
3370 |
assert 'Users' in [x['label'] for x in resp.json] |
|
3371 |
assert 'Roles' in [x['label'] for x in resp.json] |
|
3372 | ||
3373 |
# don't include users/roles in menu if roles are managed by an external |
|
3374 |
# identity provider. |
|
3375 |
pub.cfg['sp'] = {'idp-manage-roles': True} |
|
3376 |
pub.write_cfg() |
|
3377 | ||
3378 |
resp = app.get('/backoffice/') |
|
3379 |
assert 'Users' not in resp.body |
|
3380 |
assert 'Roles' not in resp.body |
|
3381 |
resp = app.get('/backoffice/menu.json') |
|
3382 |
assert 'Users' not in [x['label'] for x in resp.json] |
|
3383 |
assert 'Roles' not in [x['label'] for x in resp.json] |
|
3384 | ||
3363 | 3385 |
def test_users(pub): |
3364 | 3386 |
create_superuser(pub) |
3365 | 3387 |
app = login(get_app(pub)) |
wcs/admin/roles.py | ||
---|---|---|
18 | 18 |
from quixote.directory import Directory |
19 | 19 |
from quixote.html import TemplateIO, htmltext |
20 | 20 | |
21 |
from qommon import _ |
|
21 |
from qommon import _, get_cfg
|
|
22 | 22 |
from qommon import errors |
23 | 23 |
from qommon.form import * |
24 | 24 | |
... | ... | |
198 | 198 | |
199 | 199 |
_q_exports = ["", "new"] |
200 | 200 | |
201 |
def is_visible(self, *args): |
|
202 |
return not(get_cfg('sp', {}).get('idp-manage-roles')) |
|
203 | ||
201 | 204 |
def _q_index(self): |
202 | 205 |
get_response().breadcrumb.append(('roles/', _('Roles'))) |
203 | 206 |
html_top('roles', title = _('Roles')) |
wcs/backoffice/root.py | ||
---|---|---|
57 | 57 |
('management/', N_('Management')), |
58 | 58 |
('forms/', N_('Forms Workshop')), |
59 | 59 |
('workflows/', N_('Workflows Workshop')), |
60 |
('users/', N_('Users')), |
|
61 |
('roles/', N_('Roles')), |
|
60 |
('users/', N_('Users'), roles.is_visible),
|
|
61 |
('roles/', N_('Roles'), roles.is_visible),
|
|
62 | 62 |
('categories/', N_('Categories')), |
63 | 63 |
('bounces/', N_('Bounces'), bounces.is_visible), |
64 | 64 |
('settings/', N_('Settings')), |
65 |
- |