[Checkins] SVN: z3ext.controlpanel/trunk/src/z3ext/controlpanel/ added setting traverser

Nikolay Kim fafhrd at datacom.kz
Fri Sep 12 01:57:25 EDT 2008


Log message for revision 91073:
  added setting traverser

Changed:
  U   z3ext.controlpanel/trunk/src/z3ext/controlpanel/configure.zcml
  U   z3ext.controlpanel/trunk/src/z3ext/controlpanel/root.py

-=-
Modified: z3ext.controlpanel/trunk/src/z3ext/controlpanel/configure.zcml
===================================================================
--- z3ext.controlpanel/trunk/src/z3ext/controlpanel/configure.zcml	2008-09-11 23:28:41 UTC (rev 91072)
+++ z3ext.controlpanel/trunk/src/z3ext/controlpanel/configure.zcml	2008-09-12 05:57:23 UTC (rev 91073)
@@ -48,6 +48,8 @@
      provides="zope.interface.Interface"
      factory=".root.getSettings" />
 
+  <adapter factory=".root.Traversable" />
+
   <!-- Configlet publisher -->
   <adapter
      for=".interfaces.IConfiglet *"

Modified: z3ext.controlpanel/trunk/src/z3ext/controlpanel/root.py
===================================================================
--- z3ext.controlpanel/trunk/src/z3ext/controlpanel/root.py	2008-09-11 23:28:41 UTC (rev 91072)
+++ z3ext.controlpanel/trunk/src/z3ext/controlpanel/root.py	2008-09-12 05:57:23 UTC (rev 91073)
@@ -19,6 +19,7 @@
 from zope.component import getUtility
 from zope.security import checkPermission
 from zope.security.interfaces import Unauthorized
+from zope.traversing.adapters import DefaultTraversable
 
 from zope.app.component.hooks import getSite
 from zope.app.component.interfaces import ISite
@@ -53,3 +54,12 @@
     if not checkPermission('z3ext.Configure', site):
         raise Unauthorized('settings')
     return getUtility(IConfiglet)
+
+
+class Traversable(DefaultTraversable):
+    component.adapts(ISite)
+
+    def traverse(self, name, furtherPath):
+        if name == 'settings':
+            return getUtility(IConfiglet)
+        return super(Traversable, self).traverse(name, furtherPath)



More information about the Checkins mailing list