src/pyams_content/shared/site/zmi/__init__.py
changeset 591 b694d5667d17
parent 579 5e4875a9f692
child 871 d7ad1624cc4f
--- a/src/pyams_content/shared/site/zmi/__init__.py	Wed Jun 06 13:32:14 2018 +0200
+++ b/src/pyams_content/shared/site/zmi/__init__.py	Fri Jun 08 10:33:23 2018 +0200
@@ -31,6 +31,7 @@
 # import packages
 from pyams_content.shared.common.zmi import SharedContentAddForm, SharedContentAJAXAddForm
 from pyams_content.shared.site.zmi.widget import SiteManagerFoldersSelectorFieldWidget
+from pyams_form.form import ajax_config
 from pyams_pagelet.pagelet import pagelet_config
 from pyams_skin.viewlet.toolbar import ToolbarMenuItem
 from pyams_utils.adapter import adapter_config, ContextRequestAdapter
@@ -40,7 +41,6 @@
 from pyams_viewlet.viewlet import viewlet_config
 from pyramid.decorator import reify
 from pyramid.path import DottedNameResolver
-from pyramid.view import view_config
 from z3c.form import field
 from zope.interface import Interface
 from zope.lifecycleevent import ObjectCreatedEvent
@@ -78,6 +78,8 @@
                 permission=CREATE_CONTENT_PERMISSION)
 @pagelet_config(name='add-shared-content.html', context=ISiteContainer, layer=IPyAMSLayer,
                 permission=CREATE_CONTENT_PERMISSION)
+@ajax_config(name='add-topic.json', context=ISiteContainer, layer=IPyAMSLayer,
+             base=SharedContentAJAXAddForm)
 class TopicAddForm(SharedContentAddForm):
     """Topic add form"""
 
@@ -86,7 +88,6 @@
     fields = field.Fields(ITopicAddFormFields).select('title', 'parent', 'notepad')
     fields['parent'].widgetFactory = SiteManagerFoldersSelectorFieldWidget
 
-    ajax_handler = 'add-topic.json'
     edit_permission = CREATE_CONTENT_PERMISSION
 
     __target = None
@@ -138,9 +139,3 @@
 
     def nextURL(self):
         return absolute_url(self.__target, self.request, 'admin')
-
-
-@view_config(name='add-topic.json', context=ISiteContainer, request_type=IPyAMSLayer,
-             permission=CREATE_CONTENT_PERMISSION, renderer='json', xhr=True)
-class TopicAJAXAddForm(SharedContentAJAXAddForm, TopicAddForm):
-    """Topic add form, JSON renderer"""