[Checkins] SVN: plone.z3cform/trunk/ make compatible with page template changes on zope trunk

David Glick davidglick at onenw.org
Thu Dec 4 00:10:04 EST 2008


Log message for revision 93598:
  make compatible with page template changes on zope trunk

Changed:
  U   plone.z3cform/trunk/docs/HISTORY.txt
  U   plone.z3cform/trunk/plone/z3cform/layout.py

-=-
Modified: plone.z3cform/trunk/docs/HISTORY.txt
===================================================================
--- plone.z3cform/trunk/docs/HISTORY.txt	2008-12-04 00:56:28 UTC (rev 93597)
+++ plone.z3cform/trunk/docs/HISTORY.txt	2008-12-04 05:10:02 UTC (rev 93598)
@@ -4,6 +4,9 @@
 0.5.3 - unreleased
 ------------------
 
+* Fixes for Zope 2.12 compatibility.
+  [davisagli]
+
 * Don't display an 'Apply changes' button if you don't define an
   update_schema.
 

Modified: plone.z3cform/trunk/plone/z3cform/layout.py
===================================================================
--- plone.z3cform/trunk/plone/z3cform/layout.py	2008-12-04 00:56:28 UTC (rev 93597)
+++ plone.z3cform/trunk/plone/z3cform/layout.py	2008-12-04 05:10:02 UTC (rev 93598)
@@ -1,3 +1,4 @@
+from Acquisition import aq_inner
 import z3c.form.interfaces
 
 import zope.interface
@@ -6,8 +7,13 @@
 from Products.Five import BrowserView
 
 from zope.pagetemplate.interfaces import IPageTemplate
-from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
 
+try:
+    from Products.Five.browser.pagetemplatefile import BoundPageTemplate
+    HAS_BOUND_PAGETEMPLATE = True
+except ImportError:
+    HAS_BOUND_PAGETEMPLATE = False
+
 from plone.z3cform import interfaces
 from plone.z3cform import z2
 
@@ -31,7 +37,7 @@
     def __init__(self, context, request):
         super(FormWrapper, self).__init__(context, request)
         if self.form is not None:
-            self.form_instance = self.form(self.context.aq_inner, self.request)
+            self.form_instance = self.form(aq_inner(self.context), self.request)
             self.form_instance.__name__ = self.__name__
 
     def __call__(self):
@@ -45,7 +51,10 @@
         """
         if self.index is None:
             template = zope.component.getMultiAdapter((self, self.request), IPageTemplate)
-            return template.__of__(self)(self)
+            if HAS_BOUND_PAGETEMPLATE:
+                return BoundPageTemplate(template, self)()
+            else:
+                return template.__of__(self)(self)
         return self.index()
 
     def contents(self):



More information about the Checkins mailing list