remove settings panel (#64972)
This commit is contained in:
parent
7423a58599
commit
5cdd6c0e22
|
@ -4,7 +4,6 @@ from wcs.qommon import _
|
|||
from wcs.qommon.publisher import get_publisher_class, get_request
|
||||
from wcs.qommon.misc import get_cfg
|
||||
|
||||
from modules import admin
|
||||
from modules import backoffice
|
||||
from modules import categories_admin
|
||||
from modules import formpage
|
||||
|
@ -20,8 +19,6 @@ rdb = get_publisher_class().backoffice_directory_class
|
|||
|
||||
rdb.items = []
|
||||
|
||||
rdb.register_directory('settings', admin.SettingsDirectory())
|
||||
|
||||
import wcs.admin.forms
|
||||
|
||||
wcs.admin.forms.FormsDirectory.categories = categories_admin.CategoriesDirectory()
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
import os
|
||||
|
||||
from quixote import get_publisher, redirect
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import htmltext, TemplateIO
|
||||
|
||||
import wcs.admin.root
|
||||
import wcs.root
|
||||
from wcs.roles import get_user_roles
|
||||
|
||||
from wcs.qommon import _, N_
|
||||
from wcs.qommon import errors, get_cfg
|
||||
from wcs.qommon.form import *
|
||||
|
||||
import wcs.admin.settings
|
||||
from wcs.formdef import FormDef
|
||||
from wcs.categories import Category
|
||||
from wcs.qommon.backoffice.menu import html_top
|
||||
|
||||
import re
|
||||
|
||||
|
||||
class PanelDirectory(Directory):
|
||||
_q_exports = ['', 'update', 'permissions']
|
||||
label = N_('Control Panel')
|
||||
|
||||
def _verify_mask(self, form):
|
||||
if form.is_submitted():
|
||||
if not re.match("[0-9Xx]*$", form.get('mobile_mask') or ''):
|
||||
form.set_error('mobile_mask', _('Invalid value'))
|
||||
else:
|
||||
string_value = form.get_widget('mobile_mask').value
|
||||
if string_value:
|
||||
form.get_widget('mobile_mask').value = string_value.upper()
|
||||
|
||||
def permissions(self):
|
||||
permissions_cfg = get_cfg('aq-permissions', {})
|
||||
form = Form(enctype='multipart/form-data')
|
||||
form.add(
|
||||
SingleSelectWidget,
|
||||
'forms',
|
||||
title=_('Admin role for forms'),
|
||||
value=permissions_cfg.get('forms', None),
|
||||
options=[(None, _('Nobody'), None)] + get_user_roles(),
|
||||
)
|
||||
if get_publisher().has_site_option('auquotidien-payments'):
|
||||
form.add(
|
||||
SingleSelectWidget,
|
||||
'payments',
|
||||
title=_('Admin role for payments'),
|
||||
value=permissions_cfg.get('payments', None),
|
||||
options=[(None, _('Nobody'), None)] + get_user_roles(),
|
||||
)
|
||||
form.add_submit('submit', _('Submit'))
|
||||
form.add_submit('cancel', _('Cancel'))
|
||||
|
||||
if form.get_widget('cancel').parse():
|
||||
return redirect('..')
|
||||
|
||||
if not form.is_submitted() or form.has_errors():
|
||||
get_response().breadcrumb.append(('aq/permissions', _('Permissions')))
|
||||
html_top('settings', _('Permissions'))
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext('<h2>%s</h2>') % _('Permissions')
|
||||
r += form.render()
|
||||
return r.getvalue()
|
||||
else:
|
||||
from wcs.admin.settings import cfg_submit
|
||||
|
||||
cfg_submit(form, 'aq-permissions', ('forms', 'payments'))
|
||||
return redirect('..')
|
||||
|
||||
|
||||
class SettingsDirectory(wcs.admin.settings.SettingsDirectory):
|
||||
def _q_index(self):
|
||||
if not get_publisher().has_site_option('auquotidien-payments'):
|
||||
return super(SettingsDirectory, self)._q_index()
|
||||
r = TemplateIO(html=True)
|
||||
r += htmltext(super(SettingsDirectory, self)._q_index())
|
||||
r += htmltext('<div class="splitcontent-right">')
|
||||
r += htmltext('<div class="bo-block">')
|
||||
r += htmltext('<h2>%s</h2>') % _('Extra Options')
|
||||
r += htmltext('<ul>')
|
||||
r += htmltext('<li><a href="aq/permissions">%s</a></li>') % _('Permissions')
|
||||
r += htmltext('</ul>')
|
||||
r += htmltext('</div>')
|
||||
r += htmltext('</div>')
|
||||
return r.getvalue()
|
||||
|
||||
def _q_lookup(self, component):
|
||||
if component == 'aq':
|
||||
return PanelDirectory()
|
||||
return super(SettingsDirectory, self)._q_lookup(component)
|
||||
|
||||
|
||||
from . import categories_admin
|
|
@ -38,8 +38,6 @@ from wcs.qommon.admin.texts import TextsDirectory
|
|||
|
||||
from .myspace import MyspaceDirectory
|
||||
|
||||
from . import admin
|
||||
|
||||
import wcs.forms.root
|
||||
from wcs.workflows import Workflow
|
||||
from wcs.forms.preview import PreviewDirectory
|
||||
|
|
|
@ -80,34 +80,3 @@ def test_with_superuser():
|
|||
resp = app.get('/backoffice/')
|
||||
# this makes sure the extension loaded properly
|
||||
assert '<span id="applabel">Publik</span>' in resp.text
|
||||
|
||||
|
||||
def test_general_admin_permissions():
|
||||
create_superuser()
|
||||
app = login(get_app(pub))
|
||||
resp = app.get('/backoffice/settings/', status=200)
|
||||
pub.cfg['admin-permissions'] = {'settings': ['XXX']}
|
||||
pub.write_cfg()
|
||||
resp = app.get('/backoffice/settings/', status=403)
|
||||
user1.roles = ['XXX']
|
||||
user1.store()
|
||||
resp = app.get('/backoffice/settings/', status=200)
|
||||
del pub.cfg['admin-permissions']
|
||||
pub.write_cfg()
|
||||
|
||||
|
||||
def test_aq_permissions_panel(empty_siteoptions):
|
||||
create_superuser()
|
||||
app = login(get_app(pub))
|
||||
resp = app.get('/backoffice/settings/')
|
||||
assert not 'aq/permissions' in resp.text
|
||||
|
||||
with open(os.path.join(pub.app_dir, 'site-options.cfg'), 'w') as fd:
|
||||
if not pub.site_options.has_section('options'):
|
||||
pub.site_options.add_section('options')
|
||||
pub.site_options.set('options', 'auquotidien-payments', 'true')
|
||||
pub.site_options.write(fd)
|
||||
|
||||
resp = app.get('/backoffice/settings/')
|
||||
assert 'aq/permissions' in resp.text
|
||||
resp = app.get('/backoffice/settings/aq/permissions')
|
||||
|
|
Reference in New Issue