--- a/src/pyams_portal/zmi/template.py Mon Jun 11 15:30:26 2018 +0200
+++ b/src/pyams_portal/zmi/template.py Mon Jun 11 15:31:15 2018 +0200
@@ -19,19 +19,19 @@
from pyams_portal.interfaces import IPortalTemplateContainer, IPortalTemplate, IPortalContext, \
MANAGE_TEMPLATE_PERMISSION
from pyams_skin.interfaces import IPageHeader, IContentTitle
-from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager
+from pyams_skin.interfaces.viewlet import IWidgetTitleViewletManager, IBreadcrumbItem
from pyams_skin.layer import IPyAMSLayer
from pyams_zmi.layer import IAdminLayer
from z3c.form.interfaces import IDataExtractedEvent
from zope.component.interfaces import ISite
# import packages
-from pyams_form.form import AJAXAddForm
+from pyams_form.form import AJAXAddForm, ajax_config
from pyams_pagelet.pagelet import pagelet_config
from pyams_portal.template import PortalTemplate
from pyams_portal.zmi.container import PortalTemplateContainerTable
-from pyams_skin.container import delete_container_element
from pyams_skin.page import DefaultPageHeaderAdapter
+from pyams_skin.viewlet.breadcrumb import BreadcrumbItem
from pyams_skin.viewlet.toolbar import ToolbarAction
from pyams_utils.adapter import adapter_config
from pyams_utils.registry import query_utility
@@ -41,13 +41,19 @@
from pyams_viewlet.viewlet import viewlet_config
from pyams_zmi.form import AdminDialogAddForm
from pyramid.events import subscriber
-from pyramid.view import view_config
from z3c.form import field
from zope.interface import Interface, Invalid
from pyams_portal import _
+@adapter_config(context=(IPortalTemplate, IPyAMSLayer), provides=IBreadcrumbItem)
+class PortalTemplateBreadcrumbAdapter(BreadcrumbItem):
+ """Portal template breadcrumb adapter"""
+
+ label = _("Portal template")
+
+
@adapter_config(context=(IPortalTemplate, IPyAMSLayer, Interface), provides=IPageHeader)
class PortalTemplateHeaderAdapter(DefaultPageHeaderAdapter):
"""Portal template header adapter"""
@@ -88,6 +94,8 @@
@pagelet_config(name='add-portal-template.html', context=ISite, layer=IPyAMSLayer,
permission=MANAGE_TEMPLATE_PERMISSION)
+@ajax_config(name='add-portal-template.json', context=ISite, layer=IPyAMSLayer,
+ permission=MANAGE_TEMPLATE_PERMISSION, base=AJAXAddForm)
class PortalTemplateAddForm(AdminDialogAddForm):
"""Portal template add form"""
@@ -117,9 +125,3 @@
name = event.data.get('name')
if name in container:
event.form.widgets.errors += (Invalid(_("Specified name is already used!")),)
-
-
-@view_config(name='add-portal-template.json', context=ISite, request_type=IPyAMSLayer,
- permission=MANAGE_TEMPLATE_PERMISSION, renderer='json', xhr=True)
-class PortalTemplateAJAXAddForm(AJAXAddForm, PortalTemplateAddForm):
- """Portal template add form, AJAX handler"""