From e25b411b43c9c794d5dd54d5e08243538582b18f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 27 Apr 2015 12:55:50 +0200 Subject: [PATCH] backoffice: don't display logger and bounces panels if disabled (#6726) --- wcs/admin/bounces.py | 3 +++ wcs/backoffice/root.py | 6 ++++-- wcs/qommon/admin/logger.py | 5 ++++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/wcs/admin/bounces.py b/wcs/admin/bounces.py index 56a26d4..c516907 100644 --- a/wcs/admin/bounces.py +++ b/wcs/admin/bounces.py @@ -142,6 +142,9 @@ class BouncesDirectory(Directory): get_response().breadcrumb.append( ('bounces/', _('Bounces')) ) return Directory._q_traverse(self, path) + def is_visible(self, *args): + return (get_cfg('emails', {}).get('bounce_handler') == True and Bounce.count() > 0) + def _q_index(self): html_top('bounces', title = _('Bounces')) diff --git a/wcs/backoffice/root.py b/wcs/backoffice/root.py index f9e2bd5..da5db87 100644 --- a/wcs/backoffice/root.py +++ b/wcs/backoffice/root.py @@ -261,8 +261,8 @@ class RootDirectory(BackofficeRootDirectory): ('users/', N_('Users')), ('roles/', N_('Roles')), ('categories/', N_('Categories')), - ('logger/', N_('Logs')), - ('bounces/', N_('Bounces')), + ('logger/', N_('Logs'), logger.is_visible), + ('bounces/', N_('Bounces'), bounces.is_visible), ('settings/', N_('Settings')), ('/', N_('WCS Form Server')) ] @@ -312,6 +312,8 @@ class RootDirectory(BackofficeRootDirectory): k, v, display_function = item if not k.strip('/'): continue + if display_function and not display_function(k): + continue if k.strip('/') in ('home', 'forms', 'workflows', 'users', 'roles', 'categories', 'settings', 'management'): # menu entries that have icons. diff --git a/wcs/qommon/admin/logger.py b/wcs/qommon/admin/logger.py index 23ccfee..c4a5c56 100644 --- a/wcs/qommon/admin/logger.py +++ b/wcs/qommon/admin/logger.py @@ -21,7 +21,7 @@ from quixote import get_publisher, get_request, get_response from quixote.html import htmltext, TemplateIO from quixote.directory import Directory -from qommon import logger, errors +from qommon import get_cfg, logger, errors from qommon.backoffice.menu import html_top from qommon.admin.menu import error_page @@ -35,6 +35,9 @@ class LoggerDirectory(Directory): by_user = ByUserDirectory() + def is_visible(self, *args): + return get_cfg('debug', {}).get('logger', False) + def _q_index(self): get_response().breadcrumb.append( ('logger/', _('Logs')) ) html_top('logger', title = _('Logs')) -- 2.1.4