Author: jmorliaguet
Date: Fri May  5 22:36:54 2006
New Revision: 3049

Modified:
   cpsskins/branches/paris-sprint-2006/setup/adapters.py
   cpsskins/branches/paris-sprint-2006/setup/configure.zcml
   cpsskins/branches/paris-sprint-2006/setup/interfaces.py
   cpsskins/branches/paris-sprint-2006/setup/setting.py

Log:

- updated the settings interfaces

- registered LocalSetting and GlobalSetting classes (fixes security)



Modified: cpsskins/branches/paris-sprint-2006/setup/adapters.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/setup/adapters.py       (original)
+++ cpsskins/branches/paris-sprint-2006/setup/adapters.py       Fri May  5 
22:36:54 2006
@@ -42,7 +42,7 @@
         self.context = context
 
     def getResource(self):
-        return self.context.resource
+        return self.context()
 
 class Relatable(object):
     """This adapter makes settings relatable.

Modified: cpsskins/branches/paris-sprint-2006/setup/configure.zcml
==============================================================================
--- cpsskins/branches/paris-sprint-2006/setup/configure.zcml    (original)
+++ cpsskins/branches/paris-sprint-2006/setup/configure.zcml    Fri May  5 
22:36:54 2006
@@ -52,7 +52,24 @@
       zcml:condition="have devmode"
   />
 
+  <class class="cpsskins.setup.setting.GlobalSetting">
 
+    <require
+        permission="zope.View"
+        interface="cpsskins.setup.setting.IGlobalSetting"
+        />
+
+  </class>
+  
+  <class class="cpsskins.setup.setting.LocalSetting">
+
+    <require
+        permission="zope.View"
+        interface="cpsskins.setup.setting.ILocalSetting"
+        />
+
+  </class>
+  
   <!-- snapshot storage -->
   <cpsskins:storage
       id="snapshots"

Modified: cpsskins/branches/paris-sprint-2006/setup/interfaces.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/setup/interfaces.py     (original)
+++ cpsskins/branches/paris-sprint-2006/setup/interfaces.py     Fri May  5 
22:36:54 2006
@@ -77,6 +77,15 @@
 
     resource = Attribute("The resource.")
 
+    def __call__():
+        """Return the resource"""
+
+    def isGlobal():
+        """Returns true if the setting is global"""
+
+    def isLocal():
+        """Returns true if the setting is local"""
+
 
 class IGlobalSetting(ISetting):
     """ """
@@ -131,9 +140,6 @@
 
 ##### IO  #############################################################
 
-class IDOMFragment(Interface):
-    """Marker interface for DOM fragments"""
-
 class IDOMAdapter(Interface):
     """A DOM adapter for loading and saving objects as DOM fragments."""
 
@@ -147,8 +153,8 @@
 
     ignored_fields = Attribute(u"The list of ignored fields.")
 
-    fields_as_attributes = Attribute(
-                           u"The list of fields written as DOM attributes.")
+    fields_as_attributes = Attribute(u"The list of fields written as DOM "
+                                      "attributes.")
 
     reserved_fields = Attribute(u"Reserved fields.")
 

Modified: cpsskins/branches/paris-sprint-2006/setup/setting.py
==============================================================================
--- cpsskins/branches/paris-sprint-2006/setup/setting.py        (original)
+++ cpsskins/branches/paris-sprint-2006/setup/setting.py        Fri May  5 
22:36:54 2006
@@ -20,11 +20,15 @@
 from persistent import Persistent
 from zope.app.container.contained import Contained
 from zope.interface import implements
+from zope.security.proxy import removeSecurityProxy
 
 from cpsskins.setup.interfaces import IIdentifiable
-from cpsskins.setup.interfaces import IGlobalSetting, ILocalSetting
+from cpsskins.setup.interfaces import IGlobalSetting, ILocalSetting, ISetting
 
 class Setting(object):
+    """A generic setting
+    """
+    implements(ISetting)
 
     def __init__(self, name=u'', title=u'', resource=None):
         self.name = name
-- 
http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins

Reply via email to