[silva.core.contentlayout][Sylvain Viollon] Make the service edi...
[email protected] Mon, 04 Nov 2013 17:47:27 +0100
| Newsgroups | gmane.comp.web.zope.silva.cvs |
|---|---|
| Message-ID | <[email protected]> |
author: Sylvain Viollon
date: Mon Nov 04 17:47:21 2013 +0100
revision: 358:91525dd46908 in silva.core.contentlayout
branch: 2.4
details: https://hg.infrae.com/silva.core.contentlayout?cmd=changeset;node=91525dd46908
modified: src/silva/core/contentlayout/service.py
added:
removed:
log: Make the service editable in SMI.
diffstat:
src/silva/core/contentlayout/service.py | 76 +++++++++++++++++++++++++++++++-
1 files changed, 73 insertions(+), 3 deletions(-)
diffs (124 lines):
diff -r f05cf9da4a44 -r 91525dd46908 src/silva/core/contentlayout/service.py
--- a/src/silva/core/contentlayout/service.py Tue Oct 08 17:25:29 2013 +0200
+++ b/src/silva/core/contentlayout/service.py Mon Nov 04 17:47:21 2013 +0100
@@ -17,8 +17,10 @@
from silva.core import conf as silvaconf
from silva.core.interfaces import IAuthorizationManager, IRoot
+from silva.core.interfaces import ISilvaConfigurableService
from silva.core.services.base import SilvaService
from silva.translations import translate as _
+from silva.ui import menu
from zeam.form import silva as silvaforms
from Products.Silva.ExtensionRegistry import extensionRegistry
@@ -42,7 +44,7 @@
"""Design service provides security and other settings for content
layout designs
"""
- grok.implements(interfaces.IContentLayoutService)
+ grok.implements(interfaces.IContentLayoutService, ISilvaConfigurableService)
grok.name('service_contentlayout')
silvaconf.icon('service.png')
meta_type = 'Silva ContentLayout Service'
@@ -240,9 +242,26 @@
grok.name('manage_templates')
grok.context(ContentLayoutService)
- label = _(u"Template Service configuration")
+ label = _(u"Template configuration")
description = _(u"Configure restrictions and defaults"
- u" for content layout tempates")
+ u" for content layout tempates.")
+
+
+
+class ContentLayoutServiceTemplatesConfiguration(silvaforms.ComposedConfigurationForm):
+ grok.name('admin-templates')
+ grok.context(ContentLayoutService)
+
+ label = _(u"Template configuration")
+ description = _(u"Configure restrictions and defaults"
+ u" for content layout tempates.")
+
+
+class ContentLayoutServiceTemplatesConfigurationMenu(menu.MenuItem):
+ grok.adapts(menu.ContentMenu, ContentLayoutService)
+ grok.order(20)
+ name = _('Templates')
+ screen = ContentLayoutServiceTemplatesConfiguration
class DesignContentRule(object):
@@ -312,6 +331,22 @@
ignoreContent = False
+class DesignRestrictionsConfiguration(silvaforms.SMISubForm):
+ """Configure designs access restrictions.
+ """
+ grok.context(ContentLayoutService)
+ grok.view(ContentLayoutServiceTemplatesConfiguration)
+ grok.order(10)
+
+ label = _(u"Define templates access restrictions")
+ fields = silvaforms.Fields(interfaces.IDesignRestrictions)
+ actions = silvaforms.Actions(
+ silvaforms.CancelConfigurationAction(),
+ silvaforms.EditAction())
+ dataManager = silvaforms.SilvaDataManager
+ ignoreContent = False
+
+
class DefaultDesignRule(DesignContentRule):
"""Default design for a content type.
"""
@@ -339,6 +374,23 @@
ignoreContent = False
+
+class ContentDefaultDesignConfiguration(silvaforms.SMISubForm):
+ """Configure default design for content types
+ """
+ grok.context(ContentLayoutService)
+ grok.view(ContentLayoutServiceTemplatesConfiguration)
+ grok.order(10)
+
+ label = _(u"Define default template for content types")
+ fields = silvaforms.Fields(interfaces.IContentDefaultDesigns)
+ actions = silvaforms.Actions(
+ silvaforms.CancelConfigurationAction(),
+ silvaforms.EditAction())
+ dataManager = silvaforms.SilvaDataManager
+ ignoreContent = False
+
+
# Block configuration
class BlockGroup(object):
@@ -374,6 +426,24 @@
ignoreContent = False
+class ContentLayoutServiceBlocksConfiguration(silvaforms.ConfigurationForm):
+ grok.context(ContentLayoutService)
+
+ label = _(u"Component palette configuration")
+ description = _(u"Sort possible components into groups.")
+ fields = silvaforms.Fields(interfaces.IBlockGroupsFields)
+ actions = silvaforms.Actions(
+ silvaforms.CancelConfigurationAction(),
+ silvaforms.EditAction())
+
+
+class ContentLayoutServiceBlocksConfigurationMenu(menu.MenuItem):
+ grok.adapts(menu.ContentMenu, ContentLayoutService)
+ grok.order(10)
+ name = _('Component palette')
+ screen = ContentLayoutServiceBlocksConfiguration
+
+
@grok.subscribe(interfaces.IContentLayoutService, IObjectAddedEvent)
def configure_models(service, event):
root = aq_parent(service)