admin: move extra options panel to the settings panel (#5396)

This commit is contained in:
Frédéric Péters 2015-05-03 18:22:51 +02:00
parent dc027d89c1
commit 553c0def5c
2 changed files with 53 additions and 54 deletions

View File

@ -68,9 +68,7 @@ rdb.register_menu_item('payments/', _('Payments'), check_visibility)
rdb.register_directory('strongbox', modules.strongbox_ui.StrongboxDirectory())
rdb.register_menu_item('strongbox/', _('Strongbox'), check_visibility)
rdb.register_directory('panel', modules.admin.PanelDirectory())
rdb.register_menu_item('panel/', _('Control Panel'))
rdb.register_directory('settings', modules.admin.SettingsDirectory())
rdb.register_directory('categories', modules.categories_admin.CategoriesDirectory())
import wcs.fields

View File

@ -11,6 +11,7 @@ from wcs.roles import get_user_roles
from qommon import errors, get_cfg
from qommon.form import *
import wcs.admin.settings
from wcs.formdef import FormDef
from wcs.categories import Category
from qommon.backoffice.menu import html_top
@ -35,25 +36,6 @@ class PanelDirectory(Directory):
domino = AbeliumDominoDirectory()
def _q_index(self):
html_top('panel', _('Control Panel'))
get_response().breadcrumb.append(('panel', _('Control Panel')))
r = TemplateIO(html=True)
r += htmltext('<ul>')
r += htmltext('<li><a href="announces">%s</a></li>') % _('Announces Options')
r += htmltext('<li><a href="permissions">%s</a></li>') % _('Permissions')
r += htmltext('<li><a href="event_keywords">%s</a></li>') % _('Event Keywords')
r += htmltext('<li><a href="announce_themes">%s</a></li>') % _('Announce Themes')
if get_publisher().has_site_option('strongbox'):
r += htmltext('<li><a href="strongbox">%s</a></li>') % _('Strongbox Support')
if get_publisher().has_site_option('clicrdv'):
r += htmltext('<li><a href="clicrdv">%s</a></li>') % _('ClicRDV Integration')
if get_publisher().has_site_option('domino'):
r += htmltext('<li><a href="domino">%s</a></li>') % _('Abelium Domino Integration')
r += htmltext('</ul>')
return r.getvalue()
def _verify_mask(self, form):
if form.is_submitted():
if not re.match("[0-9Xx]*$", form.get('mobile_mask') or ''):
@ -82,12 +64,11 @@ class PanelDirectory(Directory):
self._verify_mask(form)
if form.get_widget('cancel').parse():
return redirect('.')
return redirect('..')
if not form.is_submitted() or form.has_errors():
get_response().breadcrumb.append(('panel', _('Control Panel')))
get_response().breadcrumb.append(('announces', _('Announces Options')))
html_top('panel', _('Announces Options'))
get_response().breadcrumb.append(('aq/announces', _('Announces Options')))
html_top('settings', _('Announces Options'))
r = TemplateIO(html=True)
r += htmltext('<h2>%s</h2>') % _('Announces Options')
r += form.render()
@ -95,7 +76,7 @@ class PanelDirectory(Directory):
else:
from wcs.admin.settings import cfg_submit
cfg_submit(form, 'announces', ('sms_support','mobile_mask'))
return redirect('.')
return redirect('..')
def permissions(self):
permissions_cfg = get_cfg('aq-permissions', {})
@ -122,12 +103,11 @@ class PanelDirectory(Directory):
form.add_submit('cancel', _('Cancel'))
if form.get_widget('cancel').parse():
return redirect('.')
return redirect('..')
if not form.is_submitted() or form.has_errors():
get_response().breadcrumb.append(('panel', _('Control Panel')))
get_response().breadcrumb.append(('permissions', _('Permissions')))
html_top('panel', _('Permissions'))
get_response().breadcrumb.append(('aq/permissions', _('Permissions')))
html_top('settings', _('Permissions'))
r = TemplateIO(html=True)
r += htmltext('<h2>%s</h2>') % _('Permissions')
r += form.render()
@ -136,7 +116,7 @@ class PanelDirectory(Directory):
from wcs.admin.settings import cfg_submit
cfg_submit(form, 'aq-permissions',
('forms', 'events', 'links', 'announces', 'payments', 'strongbox'))
return redirect('.')
return redirect('..')
def event_keywords(self):
misc_cfg = get_cfg('misc', {})
@ -151,12 +131,11 @@ class PanelDirectory(Directory):
form.add_submit('cancel', _('Cancel'))
if form.get_widget('cancel').parse():
return redirect('.')
return redirect('..')
if not form.is_submitted() or form.has_errors():
get_response().breadcrumb.append(('panel', _('Control Panel')))
get_response().breadcrumb.append(('event_keywords', _('Event Keywords')))
html_top('panel', _('Event Keywords'))
get_response().breadcrumb.append(('aq/event_keywords', _('Event Keywords')))
html_top('settings', _('Event Keywords'))
r = TemplateIO(html=True)
r += htmltext('<h2>%s</h2>') % _('Event Keywords')
r += form.render()
@ -164,7 +143,7 @@ class PanelDirectory(Directory):
else:
from wcs.admin.settings import cfg_submit
cfg_submit(form, 'misc', ('event_tags',))
return redirect('.')
return redirect('..')
def announce_themes(self):
misc_cfg = get_cfg('misc', {})
@ -179,12 +158,11 @@ class PanelDirectory(Directory):
form.add_submit('cancel', _('Cancel'))
if form.get_widget('cancel').parse():
return redirect('.')
return redirect('..')
if not form.is_submitted() or form.has_errors():
get_response().breadcrumb.append(('panel', _('Control Panel')))
get_response().breadcrumb.append(('announce_themes', _('Announce Themes')))
html_top('panel', _('Announce Themes'))
get_response().breadcrumb.append(('aq/announce_themes', _('Announce Themes')))
html_top('settings', _('Announce Themes'))
r = TemplateIO(html=True)
r += htmltext('<h2>%s</h2>') % _('Announce Themes')
r += form.render()
@ -192,7 +170,7 @@ class PanelDirectory(Directory):
else:
from wcs.admin.settings import cfg_submit
cfg_submit(form, 'misc', ('announce_themes',))
return redirect('.')
return redirect('..')
def strongbox(self):
if not get_publisher().has_site_option('strongbox'):
@ -206,12 +184,11 @@ class PanelDirectory(Directory):
form.add_submit('cancel', _('Cancel'))
if form.get_widget('cancel').parse():
return redirect('.')
return redirect('..')
if not form.is_submitted() or form.has_errors():
get_response().breadcrumb.append(('panel', _('Control Panel')))
get_response().breadcrumb.append(('strongbox', _('Strongbox Support')))
html_top('panel', _('Strongbox Support'))
get_response().breadcrumb.append(('aq/strongbox', _('Strongbox Support')))
html_top('settings', _('Strongbox Support'))
r = TemplateIO(html=True)
r += htmltext('<h2>%s</h2>') % _('Strongbox Support')
r += form.render()
@ -219,7 +196,7 @@ class PanelDirectory(Directory):
else:
from wcs.admin.settings import cfg_submit
cfg_submit(form, 'misc', ('aq-strongbox',))
return redirect('.')
return redirect('..')
def clicrdv(self):
if not get_publisher().has_site_option('clicrdv'):
@ -242,12 +219,11 @@ class PanelDirectory(Directory):
form.add_submit('cancel', _('Cancel'))
if form.get_widget('cancel').parse():
return redirect('.')
return redirect('..')
if not form.is_submitted() or form.has_errors():
get_response().breadcrumb.append(('panel', _('Control Panel')))
get_response().breadcrumb.append(('clicrdv', _('ClicRDV Integration')))
html_top('panel', _('ClicRDV Integration'))
get_response().breadcrumb.append(('aq/clicrdv', _('ClicRDV Integration')))
html_top('settings', _('ClicRDV Integration'))
r = TemplateIO(html=True)
r += htmltext('<h2>%s</h2>') % _('ClicRDV Integration')
r += form.render()
@ -274,10 +250,35 @@ class PanelDirectory(Directory):
'aq-clicrdv-api-key',
'aq-clicrdv-api-username',
'aq-clicrdv-api-password'))
return redirect('.')
return redirect('..')
AdminRootDirectory.register_page('panel', PanelDirectory())
class SettingsDirectory(wcs.admin.settings.SettingsDirectory):
def _q_index(self):
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/announces">%s</a></li>') % _('Announces Options')
r += htmltext('<li><a href="aq/permissions">%s</a></li>') % _('Permissions')
r += htmltext('<li><a href="aq/event_keywords">%s</a></li>') % _('Event Keywords')
r += htmltext('<li><a href="aq/announce_themes">%s</a></li>') % _('Announce Themes')
if get_publisher().has_site_option('strongbox'):
r += htmltext('<li><a href="aq/strongbox">%s</a></li>') % _('Strongbox Support')
if get_publisher().has_site_option('clicrdv'):
r += htmltext('<li><a href="aq/clicrdv">%s</a></li>') % _('ClicRDV Integration')
if get_publisher().has_site_option('domino'):
r += htmltext('<li><a href="aq/domino">%s</a></li>') % _('Abelium Domino Integration')
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)
import categories_admin