--- a/src/pyams_content/reference/pictograms/zmi/__init__.py Wed Jun 06 13:32:14 2018 +0200
+++ b/src/pyams_content/reference/pictograms/zmi/__init__.py Fri Jun 08 10:33:23 2018 +0200
@@ -9,7 +9,6 @@
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
-from z3c.form.interfaces import NOVALUE, NO_VALUE
__docformat__ = 'restructuredtext'
@@ -24,7 +23,6 @@
from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, IBaseContent
from pyams_content.reference.pictograms.interfaces import IPictogramTable, IPictogram
from pyams_content.reference.zmi.table import ReferenceTableContentsTable, ReferenceTableContentsView
-from pyams_form.form import AJAXAddForm, AJAXEditForm
from pyams_i18n.interfaces import II18n
from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager
from pyams_skin.layer import IPyAMSLayer
@@ -34,6 +32,7 @@
# import packages
from pyams_content.reference.pictograms import Pictogram
+from pyams_form.form import AJAXAddForm, ajax_config
from pyams_i18n.column import I18nAttrColumn
from pyams_pagelet.pagelet import pagelet_config
from pyams_skin.event import get_json_table_row_refresh_event
@@ -67,6 +66,7 @@
@pagelet_config(name='add-pictogram.html', context=IPictogramTable, layer=IPyAMSLayer,
permission=MANAGE_SITE_ROOT_PERMISSION)
+@ajax_config(name='add-pictogram.json', context=IPictogramTable, layer=IPyAMSLayer, base=AJAXAddForm)
class PictogramAddForm(AdminDialogAddForm):
"""Pictogram add form"""
@@ -74,7 +74,6 @@
dialog_class = 'modal-large'
fields = field.Fields(IPictogram).omit('__parent__', '__name__')
- ajax_handler = 'add-pictogram.json'
edit_permission = MANAGE_SITE_ROOT_PERMISSION
def create(self, data):
@@ -88,13 +87,8 @@
return 'contents.html'
-@view_config(name='add-pictogram.json', context=IPictogramTable, request_type=IPyAMSLayer,
- permission=MANAGE_SITE_ROOT_PERMISSION, renderer='json', xhr=True)
-class PictogramAJAXAddForm(AJAXAddForm, PictogramAddForm):
- """Pictogram add form, JSON renderer"""
-
-
@pagelet_config(name='properties.html', context=IPictogram, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
+@ajax_config(name='properties.json', context=IPictogram, layer=IPyAMSLayer)
class PictogramEditForm(AdminDialogEditForm):
"""Pictogram properties edit form"""
@@ -104,17 +98,10 @@
dialog_class = 'modal-large'
fields = field.Fields(IPictogram).omit('__parent__', '__name__')
- ajax_handler = 'properties.json'
edit_permission = MANAGE_SITE_ROOT_PERMISSION
-
-@view_config(name='properties.json', context=IPictogram, request_type=IPyAMSLayer,
- permission=MANAGE_SITE_ROOT_PERMISSION, renderer='json', xhr=True)
-class PictogramAJAXEditForm(AJAXEditForm, PictogramEditForm):
- """Pictogram edit form, JSON renderer"""
-
def get_ajax_output(self, changes):
- output = super(PictogramAJAXEditForm, self).get_ajax_output(changes)
+ output = super(self.__class__, self).get_ajax_output(changes)
if ('image' in changes.get(IPictogram, ())) or \
('title' in changes.get(IBaseContent, ())):
parent = get_parent(self.context, IPictogramTable)