[silva.core.smi][Sylvain Viollon] Don't display the menu if the ...

[email protected] Mon, 28 Oct 2013 15:24:50 +0100
Newsgroups gmane.comp.web.zope.silva.cvs
Message-ID <[email protected]>
author:    Sylvain Viollon
date:      Mon Oct 28 15:24:42 2013 +0100
revision:  707:de7ebe50606a in silva.core.smi
branch:    2.4
details:   https://hg.infrae.com/silva.core.smi?cmd=changeset;node=de7ebe50606a
modified:  src/silva/core/smi/userinfo.py
added:     
removed:   
log:       Don't display the menu if the smi_link_zmi option is not checked.


diffstat:

 src/silva/core/smi/userinfo.py |  11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diffs (42 lines):

diff -r 0c5eb535dd1c -r de7ebe50606a src/silva/core/smi/userinfo.py
--- a/src/silva/core/smi/userinfo.py	Fri Oct 25 18:00:52 2013 +0200
+++ b/src/silva/core/smi/userinfo.py	Mon Oct 28 15:24:42 2013 +0100
@@ -9,7 +9,7 @@
 from zeam.form import silva as silvaforms
 from zope import schema
 from zope.interface import Interface
-from zope.component import getUtility
+from zope.component import getUtility, queryUtility
 from zope.component.hooks import getSite
 from zope.schema.interfaces import IContextSourceBinder
 from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
@@ -20,6 +20,7 @@
 from silva.core.interfaces.auth import IAuthorizationManager
 from silva.core.services.interfaces import IMemberService
 from silva.translations import translate as _
+from silva.ui.interfaces import IUIService 
 from silva.ui.menu import UserMenu, LinkMenuItem, ExpendableMenuItem
 
 
@@ -142,6 +143,10 @@
     name = _('Manage...')
     icon = 'manage'
 
+    def available(self):
+        service = queryUtility(IUIService)
+        return service is not None and service.smi_link_zmi
+
     def get_url(self, context, request):
         return '{0}/manage_main'.format(absoluteURL(context, request))
 
@@ -153,6 +158,10 @@
     name = _('Services...')
     icon = 'services'
 
+    def available(self):
+        service = queryUtility(IUIService)
+        return service is not None and service.smi_link_zmi
+
     def get_url(self, context, request):
         return '{0}/manage_services'.format(absoluteURL(getSite(), request))