[Checkins] SVN: z3c.formui/trunk/ Checkpoint: added support for context-specific template lookup, compatible with z3c.template 1.2.0. TODO: tests.

Dan Korostelev nadako at gmail.com
Sun Mar 8 05:07:37 EDT 2009


Log message for revision 97657:
  Checkpoint: added support for context-specific template lookup, compatible with z3c.template 1.2.0. TODO: tests.

Changed:
  U   z3c.formui/trunk/CHANGES.txt
  U   z3c.formui/trunk/src/z3c/formui/form.py
  U   z3c.formui/trunk/src/z3c/formui/layout.py

-=-
Modified: z3c.formui/trunk/CHANGES.txt
===================================================================
--- z3c.formui/trunk/CHANGES.txt	2009-03-08 09:04:23 UTC (rev 97656)
+++ z3c.formui/trunk/CHANGES.txt	2009-03-08 09:07:36 UTC (rev 97657)
@@ -5,6 +5,10 @@
 1.5.0 (unreleased)
 ------------------
 
+- Feature: Added support for context-specific template lookup,
+  introduced in z3c.template 1.2.0 - templates can now be registered
+  using (view, request, context) discriminator.
+
 - Feature: Added support for ``z3c.pt`` templates using ``z3c.ptcompat``
   compatibility package.
 

Modified: z3c.formui/trunk/src/z3c/formui/form.py
===================================================================
--- z3c.formui/trunk/src/z3c/formui/form.py	2009-03-08 09:04:23 UTC (rev 97656)
+++ z3c.formui/trunk/src/z3c/formui/form.py	2009-03-08 09:07:36 UTC (rev 97657)
@@ -39,8 +39,12 @@
         '''See interfaces.IForm'''
         # render content template
         if self.template is None:
-            template = zope.component.getMultiAdapter((self, self.request),
+            template = zope.component.queryMultiAdapter(
+                (self, self.request, self.context),
                 IContentTemplate)
+            if template is None:
+                template = zope.component.getMultiAdapter(
+                    (self, self.request), IContentTemplate)
             return template(self)
         return self.template()
 

Modified: z3c.formui/trunk/src/z3c/formui/layout.py
===================================================================
--- z3c.formui/trunk/src/z3c/formui/layout.py	2009-03-08 09:04:23 UTC (rev 97656)
+++ z3c.formui/trunk/src/z3c/formui/layout.py	2009-03-08 09:07:36 UTC (rev 97657)
@@ -37,8 +37,12 @@
             return ''
 
         if self.layout is None:
-            layout = zope.component.getMultiAdapter((self, self.request),
+            layout = zope.component.queryMultiAdapter(
+                (self, self.request, self.context),
                 ILayoutTemplate)
+            if layout is None:
+                layout = zope.component.getMultiAdapter(
+                    (self, self.request), ILayoutTemplate)
             return layout(self)
         return self.layout()
 
@@ -55,7 +59,11 @@
             return ''
 
         if self.layout is None:
-            layout = zope.component.getMultiAdapter((self, self.request),
+            layout = zope.component.queryMultiAdapter(
+                (self, self.request, self.context),
                 ILayoutTemplate)
+            if layout is None:
+                layout = zope.component.getMultiAdapter(
+                    (self, self.request), ILayoutTemplate)
             return layout(self)
         return self.layout()



More information about the Checkins mailing list