From 9156835df2e46de3f39ef3a0ced51fc2f3cbfba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 14 May 2021 14:54:44 +0200 Subject: [PATCH] misc: extend category bits instead of replacing them (#53667) --- auquotidien/auquotidien.py | 12 ++---- auquotidien/modules/categories_admin.py | 51 ++++--------------------- 2 files changed, 10 insertions(+), 53 deletions(-) diff --git a/auquotidien/auquotidien.py b/auquotidien/auquotidien.py index 1ff3f10..f292184 100644 --- a/auquotidien/auquotidien.py +++ b/auquotidien/auquotidien.py @@ -32,12 +32,6 @@ wcs.admin.forms.FormsDirectory.categories = categories_admin.CategoriesDirectory import wcs.categories -wcs.categories.Category.XML_NODES = [ - ('name', 'str'), - ('url_name', 'str'), - ('description', 'str'), - ('position', 'int'), - ('homepage_position', 'str'), - ('redirect_url', 'str'), - ('limit', 'int'), -] +if ('homepage_position', 'str') not in wcs.categories.Category.XML_NODES: + wcs.categories.Category.XML_NODES.append(('homepage_position', 'str')) + wcs.categories.Category.XML_NODES.append(('limit', 'int')) diff --git a/auquotidien/modules/categories_admin.py b/auquotidien/modules/categories_admin.py index 1e81cb6..f53863b 100644 --- a/auquotidien/modules/categories_admin.py +++ b/auquotidien/modules/categories_admin.py @@ -27,26 +27,14 @@ from wcs.qommon.admin.menu import command_icon, error_page import wcs.admin.categories -class CategoryUI: +class CategoryUI(wcs.admin.categories.CategoryUI): def __init__(self, category): self.category = category if self.category is None: self.category = Category() - def get_form(self): - form = Form(enctype='multipart/form-data') - form.add( - StringWidget, 'name', title=_('Category Name'), required=True, size=30, value=self.category.name - ) - form.add( - TextWidget, - 'description', - title=_('Description'), - cols=80, - rows=10, - value=self.category.description, - ) - + def get_form(self, **kwargs): + form = super().get_form(**kwargs) homepage_redirect_url = get_cfg('misc', {}).get('homepage-redirect-url') if not homepage_redirect_url: form.add( @@ -67,42 +55,17 @@ class CategoryUI: title=_('Limit number of items displayed on homepage'), value=self.category.get_limit(), ) - - form.add( - StringWidget, - 'redirect_url', - size=32, - title=_('URL Redirection'), - hint=_('If set, redirect the site category page to the given URL.'), - value=self.category.redirect_url, - ) - - form.add_submit('submit', _('Submit')) - form.add_submit('cancel', _('Cancel')) return form def submit_form(self, form): - if self.category.id: - self.category.name = form.get_widget('name').parse() - category = self.category - else: - category = Category(name=form.get_widget('name').parse()) - - name = form.get_widget('name').parse() - category_names = [x.name for x in Category.select() if x.id != category.id] - if name in category_names: - form.get_widget('name').set_error(_('This name is already used')) - raise ValueError() - - category.description = form.get_widget('description').parse() - category.redirect_url = form.get_widget('redirect_url').parse() + super().submit_form(form) homepage_redirect_url = get_cfg('misc', {}).get('homepage-redirect-url') if not homepage_redirect_url: - category.homepage_position = form.get_widget('homepage_position').parse() - category.limit = form.get_widget('limit').parse() + self.category.homepage_position = form.get_widget('homepage_position').parse() + self.category.limit = form.get_widget('limit').parse() - category.store() + self.category.store() class CategoryPage(wcs.admin.categories.CategoryPage):