From 712fd77a4376a7b8e58c207790476aab8258b703 Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Fri, 1 Jun 2018 14:15:36 +0200 Subject: [PATCH] settings: do not export roles when managed by idp (#24224) --- tests/test_admin_pages.py | 17 +++++++++++++++++ wcs/admin/settings.py | 3 ++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/test_admin_pages.py b/tests/test_admin_pages.py index 0a8415bf..efced3e3 100644 --- a/tests/test_admin_pages.py +++ b/tests/test_admin_pages.py @@ -3719,6 +3719,23 @@ def test_settings_export_import(pub): assert 'Imported successfully' in resp.body assert '1 forms' in resp.body + # do not export roles when managed by idp + pub.cfg['sp'] = {'idp-manage-roles': True} + pub.write_cfg() + resp = app.get('/backoffice/settings/export') + resp = resp.form.submit('submit') + zip_content = StringIO.StringIO(resp.body) + zipf = zipfile.ZipFile(zip_content, 'a') + filelist = zipf.namelist() + assert 'formdefs/1' in filelist + assert 'workflows/1' in filelist + assert 'roles/1' not in filelist + assert 'categories/1' in filelist + assert 'datasources/1' in filelist + assert 'wscalls/corge' in filelist + for filename in filelist: + assert not '.indexes' in filename + def test_settings_themes(pub): create_superuser(pub) app = login(get_app(pub)) diff --git a/wcs/admin/settings.py b/wcs/admin/settings.py index 1cf0d7b4..0eca9c93 100644 --- a/wcs/admin/settings.py +++ b/wcs/admin/settings.py @@ -816,7 +816,8 @@ class SettingsDirectory(QommonSettingsDirectory): form = Form(enctype="multipart/form-data") form.add(CheckboxWidget, 'formdefs', title = _('Forms'), value = True) form.add(CheckboxWidget, 'workflows', title = _('Workflows'), value = True) - form.add(CheckboxWidget, 'roles', title = _('Roles'), value = True) + if not get_cfg('sp', {}).get('idp-manage-roles'): + form.add(CheckboxWidget, 'roles', title = _('Roles'), value = True) form.add(CheckboxWidget, 'categories', title = _('Categories'), value = True) form.add(CheckboxWidget, 'settings', title = _('Settings'), value = False) form.add(CheckboxWidget, 'datasources', title=_('Data sources'), value=True) -- 2.17.0