--- a/src/pyams_content/shared/site/zmi/link.py Wed Jun 06 13:32:14 2018 +0200
+++ b/src/pyams_content/shared/site/zmi/link.py Fri Jun 08 10:33:23 2018 +0200
@@ -33,7 +33,7 @@
from pyams_content.shared.site.link import ContentLink
from pyams_content.shared.site.zmi.container import SiteContainerTreeTable, SiteContainerTreeNameColumn
from pyams_content.shared.site.zmi.widget import SiteManagerFoldersSelectorFieldWidget
-from pyams_form.form import AJAXAddForm, AJAXEditForm
+from pyams_form.form import AJAXAddForm, ajax_config
from pyams_pagelet.pagelet import pagelet_config
from pyams_skin.table import get_object_name
from pyams_skin.viewlet.toolbar import ToolbarMenuItem
@@ -42,7 +42,6 @@
from pyams_utils.url import absolute_url
from pyams_viewlet.viewlet import viewlet_config
from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
-from pyramid.view import view_config
from z3c.form import field
from zope.interface import Interface
from zope.schema import Int
@@ -71,6 +70,7 @@
@pagelet_config(name='add-content-link.html', context=ISiteContainer, layer=IPyAMSLayer,
permission=CREATE_CONTENT_PERMISSION)
+@ajax_config(name='add-content-link.json', context=ISiteContainer, layer=IPyAMSLayer, base=AJAXAddForm)
class ContentLinkAddForm(AdminDialogAddForm):
"""Content link add form"""
@@ -79,7 +79,6 @@
fields = field.Fields(IContentLinkAddFormFields).select('reference', 'alt_title', 'parent')
fields['parent'].widgetFactory = SiteManagerFoldersSelectorFieldWidget
- ajax_handler = 'add-content-link.json'
edit_permission = CREATE_CONTENT_PERMISSION
__target = None
@@ -110,12 +109,6 @@
return absolute_url(self.__target, self.request, 'admin#site-tree.html')
-@view_config(name='add-content-link.json', context=ISiteContainer, request_type=IPyAMSLayer,
- permission=CREATE_CONTENT_PERMISSION, renderer='json', xhr=True)
-class ContentLinkAJAXAddForm(AJAXAddForm, ContentLinkAddForm):
- """Content link add form, JSOn renderer"""
-
-
@adapter_config(context=(IContentLink, IPyAMSLayer, ISiteTreeTable), provides=ITableElementName)
class ContentLinkTableElementName(ContextRequestViewAdapter):
"""Content link table element name"""
@@ -133,6 +126,7 @@
@pagelet_config(name='properties.html', context=IContentLink, layer=IPyAMSLayer,
permission=VIEW_SYSTEM_PERMISSION)
+@ajax_config(name='properties.json', context=IContentLink, layer=IPyAMSLayer)
class ContentLinkPropertiesEditForm(AdminDialogEditForm):
"""Content link properties edit form"""
@@ -141,17 +135,10 @@
legend = _("Edit content link properties")
fields = field.Fields(IContentLink).omit('__parent__', '__name__')
- ajax_handler = 'properties.json'
edit_permission = MANAGE_CONTENT_PERMISSION
-
-@view_config(name='properties.json', context=IContentLink, request_type=IPyAMSLayer,
- permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)
-class ContentLinkPropertiesAJAXEditForm(AJAXEditForm, ContentLinkPropertiesEditForm):
- """Content link properties edit form, JSON renderer"""
-
def get_ajax_output(self, changes):
- output = super(ContentLinkPropertiesAJAXEditForm, self).get_ajax_output(changes)
+ output = super(self.__class__, self).get_ajax_output(changes)
intids = get_utility(IIntIds)
if 'reference' in changes.get(IInternalReference, ()):
table = SiteContainerTreeTable(self.context.__parent__, self.request)