From 5fc2140e8b2ad459e59a2cb08fd1d81d65d37f4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 27 Apr 2015 15:32:04 +0200 Subject: [PATCH] backoffice: remove custom "forms management" page (#7048) --- extra/auquotidien.py | 7 -- extra/modules/backoffice.py | 10 +-- extra/modules/forms_ui.py | 151 -------------------------------------------- 3 files changed, 1 insertion(+), 167 deletions(-) delete mode 100644 extra/modules/forms_ui.py diff --git a/extra/auquotidien.py b/extra/auquotidien.py index 91e11e8..471b1b9 100644 --- a/extra/auquotidien.py +++ b/extra/auquotidien.py @@ -9,7 +9,6 @@ import modules.links_ui import modules.announces_ui import modules.categories_admin import modules.events_ui -import modules.forms_ui import modules.payments_ui import modules.strongbox_ui import modules.formpage @@ -49,12 +48,6 @@ rdb = get_publisher_class().backoffice_directory_class rdb.items = [] -rdb.register_menu_item('management', None) -rdb.register_directory('management', modules.forms_ui.FormsDirectory()) -rdb.register_menu_item('management/', _('Forms Management'), check_visibility, insert_first=True) - -rdb.register_menu_item('home', _('Pending Forms'), insert_first=True) - rdb.register_directory('announces', modules.announces_ui.AnnouncesDirectory()) rdb.register_menu_item('announces/', _('Announces'), check_visibility) diff --git a/extra/modules/backoffice.py b/extra/modules/backoffice.py index affb4ba..f7d8ba4 100644 --- a/extra/modules/backoffice.py +++ b/extra/modules/backoffice.py @@ -19,8 +19,6 @@ from qommon import get_cfg from qommon.form import * class BackofficeRootDirectory(wcs.backoffice.root.RootDirectory): - _q_exports = ['', 'home', 'statistics'] - def get_intro_text(self): return _('Welcome on Au Quotidien back office interface') @@ -30,13 +28,7 @@ class BackofficeRootDirectory(wcs.backoffice.root.RootDirectory): return wcs.backoffice.root.RootDirectory._q_index(self) def home(self): - r = TemplateIO(html=True) - r += htmltext('

%s

') % self.get_intro_text() - r += wcs.backoffice.root.RootDirectory.management(self) - from qommon.backoffice.menu import html_top - html_top('home', _('Pending Forms')) - get_response().breadcrumb[-1:] = [('home', _('Pending Forms'))] - return r.getvalue() + return redirect('management') def _q_lookup(self, component): if component in [str(x[0]).strip('/') for x in self.menu_items]: diff --git a/extra/modules/forms_ui.py b/extra/modules/forms_ui.py deleted file mode 100644 index e9f32f7..0000000 --- a/extra/modules/forms_ui.py +++ /dev/null @@ -1,151 +0,0 @@ -from quixote import get_request, get_response, get_session, redirect -from quixote.directory import Directory, AccessControlled -from quixote.html import TemplateIO, htmltext - -import wcs -import wcs.admin.root - -from qommon.backoffice.menu import html_top -from qommon import get_cfg -from qommon import errors -from qommon.form import * -from qommon import misc, get_logger - -from wcs.formdef import FormDef -from wcs.categories import Category - -class FormDirectory(Directory): - _q_exports = ['options', 'disable', 'enable'] - - def __init__(self, formdef): - self.formdef = formdef - - def enable(self): - self.formdef.disabled = False - self.formdef.store() - return redirect('..') - - def disable(self): - self.formdef.disabled = True - self.formdef.store() - return redirect('..') - - def options(self): - form = Form(enctype='multipart/form-data') - form.add_submit('submit', _('Submit')) - form.add_submit('cancel', _('Cancel')) - form.add_submit('disable', _('Disable Form')) - - if form.get_submit() == 'disable': - return self.disable() - - if form.get_submit() == 'cancel': - return redirect('..') - - if form.is_submitted() and not form.has_errors(): - return redirect('..') - - r = TemplateIO(html=True) - r += htmltext('

') - r += _('No available options') - r += htmltext('

') - r += form.render() - return r.getvalue() - - -def is_forms_admin(): - user = get_request().user - if not user: - return False - admin_role = get_cfg('aq-permissions', {}).get('forms', None) - if not (user.is_admin or admin_role in (user.roles or [])): - return False - return True - - -class FormsDirectory(AccessControlled, Directory): - _q_exports = ['', 'new', 'listing', 'update_order'] - label = N_('Forms') - - def _q_access(self): - get_response().breadcrumb.append(('forms/', _('Forms Management'))) - - def _q_index(self): - html_top('management', _('Forms Management')) - r = TemplateIO(html=True) - - session = get_session() - user = get_request().user - - is_admin = is_forms_admin() - - l = [] - l2 = [] - if user: - for formdef in FormDef.select(order_by='name', ignore_errors=True): - if not formdef.disabled: - if is_admin or formdef.is_of_concern_for(user): - l.append(formdef) - elif is_admin: - l.append(formdef) - - cats = Category.select(order_by = 'name') - lists = [] - for c in cats: - t = [x for x in l if str(x.category_id) == str(c.id)] - if t: - lists.append((c.name, t)) - t = [x for x in l if x.category_id is None] - if t: - lists.append((None, t)) - - mid_term = ((len(lists) * 2) + sum([len(x[-1]) for x in lists])) / 2 - count = 0 - in_second_column = False - r += htmltext('
') - for cat_name, formdefs in lists: - if not in_second_column and count > mid_term: - r += htmltext('
') - r += htmltext('
') - count += 2 + len(formdefs) - if len([x for x in formdefs if not x.disabled]) == 0: - # all forms are disabled, dim the block - r += htmltext('
') - else: - r += htmltext('
') - if cat_name: - r += htmltext('

%s

') % cat_name - elif len(lists) > 1: - r += htmltext('

%s

') % _('Misc') - r += htmltext('
    ') - for formdef in formdefs: - r += htmltext('
  • ') - if formdef.disabled: - r += htmltext('') - r += htmltext('%s') % (formdef.url_name, formdef.name) - if formdef.disabled: - r += htmltext('') - if is_admin: - if formdef.disabled: - r += htmltext(' (%s)') % (formdef.id, _('enable')) - else: - r += htmltext(' (%s)') % (formdef.id, _('disable')) - r += htmltext('
  • ') - r += htmltext('
') - r += htmltext('
') - r += htmltext('
') - - get_logger().info('forms backoffice - home') - return r.getvalue() - - def _q_lookup(self, component): - try: - formdef = FormDef.get(component) - except KeyError: - raise errors.TraversalError() - get_response().breadcrumb.append((str(formdef.id), formdef.name)) - return FormDirectory(formdef) - - def listing(self): - return redirect('.') - -- 2.1.4