From 997ec00fa81f49dbb5a97b3200a2fa2eb8d56bde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Wed, 22 Apr 2015 10:11:11 +0200 Subject: [PATCH 1/4] backoffice: sync with wcs backoffice/admin unification (#6726) --- extra/modules/backoffice.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/extra/modules/backoffice.py b/extra/modules/backoffice.py index 5d186c6..affb4ba 100644 --- a/extra/modules/backoffice.py +++ b/extra/modules/backoffice.py @@ -5,6 +5,7 @@ from quixote.directory import Directory from quixote.html import TemplateIO, htmltext from qommon.publisher import get_publisher_class +from qommon.admin.menu import is_accessible import wcs.backoffice.root import wcs.root @@ -20,12 +21,6 @@ from qommon.form import * class BackofficeRootDirectory(wcs.backoffice.root.RootDirectory): _q_exports = ['', 'home', 'statistics'] - menu_items = [ - ('home', N_('Pending Forms')), - ('forms/', N_('Forms Workshop'), FormsDirectory.is_accessible), - ('workflows/', N_('Workflows Workshop'), WorkflowsDirectory.is_accessible), - ('/', N_('WCS Form Server'))] - def get_intro_text(self): return _('Welcome on Au Quotidien back office interface') @@ -44,10 +39,10 @@ class BackofficeRootDirectory(wcs.backoffice.root.RootDirectory): return r.getvalue() def _q_lookup(self, component): - if component == 'forms': - return FormsDirectory() - if component == 'workflows': - return WorkflowsDirectory() + if component in [str(x[0]).strip('/') for x in self.menu_items]: + if not is_accessible(component): + raise errors.AccessForbiddenError() + return getattr(self, component) return FormPage(component) class FormPage(wcs.backoffice.root.FormPage): -- 2.1.4