[silva.app.subscriptions][Sylvain Viollon] Configuration is now ...

[email protected] Fri, 25 Oct 2013 16:16:47 +0200
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Sylvain Viollon
date:      Fri Oct 25 16:16:43 2013 +0200
revision:  99:e3c8c29f87e4 in silva.app.subscriptions
branch:    2.4
details:   https://hg.infrae.com/silva.app.subscriptions?cmd=changeset;node=e3c8c29f87e4
modified:  src/silva/app/subscriptions/service.py
added:     
removed:   
log:       Configuration is now done in SMI.


diffstat:

 src/silva/app/subscriptions/service.py |  35 +++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 11 deletions(-)

diffs (99 lines):

diff -r 5ddbbb804d95 -r e3c8c29f87e4 src/silva/app/subscriptions/service.py
--- a/src/silva/app/subscriptions/service.py	Fri Aug 30 19:28:53 2013 +0200
+++ b/src/silva/app/subscriptions/service.py	Fri Oct 25 16:16:43 2013 +0200
@@ -28,6 +28,7 @@
 from silva.core import conf as silvaconf
 from silva.core.interfaces import IHaunted, IVersion, IPublishable
 from silva.core.interfaces.events import IContentPublishedEvent
+from silva.core.interfaces import ISilvaConfigurableService
 from silva.core.layout.interfaces import IMetadata
 from silva.core.references.reference import get_content_id, get_content_from_id
 from silva.core.services.base import SilvaService
@@ -44,7 +45,7 @@
 class SubscriptionService(Folder.Folder, SilvaService):
     """Subscription Service
     """
-    grok.implements(ISubscriptionService)
+    grok.implements(ISubscriptionService, ISilvaConfigurableService)
     default_service_identifier = 'service_subscriptions'
 
     meta_type = "Silva Subscription Service"
@@ -272,23 +273,22 @@
         required=True)
 
 
-class SubscriptionServiceManagementView(silvaforms.ZMIComposedForm):
+class SubscriptionConfiguration(silvaforms.ComposedConfigurationForm):
     """Edit File Serivce.
     """
-    grok.require('zope2.ViewManagementScreens')
-    grok.name('manage_settings')
     grok.context(SubscriptionService)
 
     label = _(u"Service Subscriptions Configuration")
 
 
-class SubscriptionServiceActivateForm(silvaforms.ZMISubForm):
+class SubscriptionConfigurationActivate(silvaforms.SMISubForm):
     grok.context(SubscriptionService)
-    silvaforms.view(SubscriptionServiceManagementView)
+    silvaforms.view(SubscriptionConfiguration)
     silvaforms.order(20)
 
     label = _(u"Activate subscriptions")
     description = _(u"Activate sending emails notifications")
+    actions = silvaforms.Actions(silvaforms.CancelAction())
 
     def available(self):
         return not self.context.are_subscriptions_enabled()
@@ -300,25 +300,28 @@
         return silvaforms.SUCCESS
 
 
-class SubscriptionServiceOptionForm(silvaforms.ZMISubForm):
+class SubscriptionConfigurationOptions(silvaforms.SMISubForm):
     grok.context(SubscriptionService)
-    silvaforms.view(SubscriptionServiceManagementView)
+    silvaforms.view(SubscriptionConfiguration)
     silvaforms.order(30)
 
     label = _(u"Configure subscriptions")
     description = _(u"Modify email notification settings")
     ignoreContent = False
     fields = silvaforms.Fields(ISubscriptionSettings)
-    actions = silvaforms.Actions(silvaforms.EditAction())
+    actions = silvaforms.Actions(
+        silvaforms.CancelAction(),
+        silvaforms.EditAction())
 
 
-class SubscriptionServiceDisableForm(silvaforms.ZMISubForm):
+class SubscriptionConfigurationDisable(silvaforms.SMISubForm):
     grok.context(SubscriptionService)
-    silvaforms.view(SubscriptionServiceManagementView)
+    silvaforms.view(SubscriptionConfiguration)
     silvaforms.order(20)
 
     label = _(u"Disable subscriptions")
     description = _(u"Disable sending emails notifications")
+    actions = silvaforms.Actions(silvaforms.CancelAction())
 
     def available(self):
         return self.context.are_subscriptions_enabled()
@@ -330,6 +333,16 @@
         return silvaforms.SUCCESS
 
 
+class SubscriptionServiceManagementView(silvaforms.ZMIComposedForm):
+    """Edit File Serivce.
+    """
+    grok.require('zope2.ViewManagementScreens')
+    grok.name('manage_settings')
+    grok.context(SubscriptionService)
+
+    label = _(u"Service Subscriptions Configuration")
+
+
 class SubscriptionServiceInstallMaildropHostForm(silvaforms.ZMISubForm):
     grok.context(SubscriptionService)
     silvaforms.view(SubscriptionServiceManagementView)