[Checkins] SVN: z3ext.preferences/t

Nikolay Kim fafhrd at datacom.kz
Tue May 6 05:11:15 EDT 2008


Log message for revision 86490:
  

Changed:
  U   z3ext.preferences/tags/1.3.0/src/z3ext/preferences/browser/group.py
  U   z3ext.preferences/trunk/src/z3ext/preferences/browser/group.py

-=-
Modified: z3ext.preferences/tags/1.3.0/src/z3ext/preferences/browser/group.py
===================================================================
--- z3ext.preferences/tags/1.3.0/src/z3ext/preferences/browser/group.py	2008-05-06 08:47:07 UTC (rev 86489)
+++ z3ext.preferences/tags/1.3.0/src/z3ext/preferences/browser/group.py	2008-05-06 09:11:15 UTC (rev 86490)
@@ -15,6 +15,8 @@
 
 $Id$
 """
+from zope import schema
+from zope.component import getMultiAdapter
 from zope.cachedescriptors.property import Lazy
 from z3ext.layoutform import Fields, PageletEditForm
 
@@ -36,3 +38,32 @@
     @Lazy
     def fields(self):
         return Fields(self.context.__schema__, omitReadOnly=True)
+
+    def update(self):
+        super(PreferenceGroup, self).update()
+
+        context = self.context
+        request = self.request
+
+        subgroups = []
+
+        for name, group in context.items():
+            if not group.isAvailable():
+                continue
+
+            view = getMultiAdapter((group, request), name='index.html')
+            view.update()
+
+            subgroups.append(view)
+
+        self.groups = subgroups
+
+    def render(self):
+        result = []
+        
+        if bool(schema.getFields(self.context.__schema__)):
+            result.append(super(PreferenceGroup, self).render())
+
+        result.extend([group.render() for group in self.groups])
+
+        return u'<br />\n'.join(result)

Modified: z3ext.preferences/trunk/src/z3ext/preferences/browser/group.py
===================================================================
--- z3ext.preferences/trunk/src/z3ext/preferences/browser/group.py	2008-05-06 08:47:07 UTC (rev 86489)
+++ z3ext.preferences/trunk/src/z3ext/preferences/browser/group.py	2008-05-06 09:11:15 UTC (rev 86490)
@@ -15,6 +15,8 @@
 
 $Id$
 """
+from zope import schema
+from zope.component import getMultiAdapter
 from zope.cachedescriptors.property import Lazy
 from z3ext.layoutform import Fields, PageletEditForm
 
@@ -36,3 +38,32 @@
     @Lazy
     def fields(self):
         return Fields(self.context.__schema__, omitReadOnly=True)
+
+    def update(self):
+        super(PreferenceGroup, self).update()
+
+        context = self.context
+        request = self.request
+
+        subgroups = []
+
+        for name, group in context.items():
+            if not group.isAvailable():
+                continue
+
+            view = getMultiAdapter((group, request), name='index.html')
+            view.update()
+
+            subgroups.append(view)
+
+        self.groups = subgroups
+
+    def render(self):
+        result = []
+        
+        if bool(schema.getFields(self.context.__schema__)):
+            result.append(super(PreferenceGroup, self).render())
+
+        result.extend([group.render() for group in self.groups])
+
+        return u'<br />\n'.join(result)



More information about the Checkins mailing list