[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