[Zope-Checkins] SVN: Zope/branches/2.11/ Forward port fix for
Launchpad #229549 from the 2.10 branch.
Tres Seaver
tseaver at palladion.com
Fri Jun 6 16:25:32 EDT 2008
Log message for revision 87217:
Forward port fix for Launchpad #229549 from the 2.10 branch.
Changed:
U Zope/branches/2.11/doc/CHANGES.txt
U Zope/branches/2.11/lib/python/Products/PageTemplates/PageTemplate.py
U Zope/branches/2.11/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py
-=-
Modified: Zope/branches/2.11/doc/CHANGES.txt
===================================================================
--- Zope/branches/2.11/doc/CHANGES.txt 2008-06-06 20:13:25 UTC (rev 87216)
+++ Zope/branches/2.11/doc/CHANGES.txt 2008-06-06 20:25:32 UTC (rev 87217)
@@ -14,6 +14,9 @@
Bugs Fixed
+ - Launchpad #229549: Don't ignore 'debug' flag when rendering
+ page templates (thanks to Eric Steele for the patch).
+
- Fixed against-the-rules zope.conf option 'fast_listen' to read
'fast-listen' (dash, not underscore).
Modified: Zope/branches/2.11/lib/python/Products/PageTemplates/PageTemplate.py
===================================================================
--- Zope/branches/2.11/lib/python/Products/PageTemplates/PageTemplate.py 2008-06-06 20:13:25 UTC (rev 87216)
+++ Zope/branches/2.11/lib/python/Products/PageTemplates/PageTemplate.py 2008-06-06 20:25:32 UTC (rev 87217)
@@ -86,8 +86,16 @@
def pt_render(self, source=False, extra_context={}):
c = self.pt_getContext()
c.update(extra_context)
- return super(PageTemplate, self).pt_render(c, source=source)
+ debug = getattr(c['request'], 'debug', None)
+ if debug is not None:
+ showtal = getattr(debug, 'showTAL', False)
+ sourceAnnotations = getattr(debug, 'sourceAnnotations', False)
+ else:
+ showtal = sourceAnnotations = False
+ return super(PageTemplate, self).pt_render(c, source=source, sourceAnnotations=sourceAnnotations,
+ showtal=showtal)
+
def pt_errors(self, namespace={}):
self._cook_check()
err = self._v_errors
Modified: Zope/branches/2.11/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py
===================================================================
--- Zope/branches/2.11/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py 2008-06-06 20:13:25 UTC (rev 87216)
+++ Zope/branches/2.11/lib/python/Products/PageTemplates/tests/testZopePageTemplate.py 2008-06-06 20:25:32 UTC (rev 87217)
@@ -152,6 +152,20 @@
state = cPickle.dumps(empty, protocol=1)
clone = cPickle.loads(state)
+ def testDebugFlags(self):
+ # Test for bug 229549
+ manage_addPageTemplate(self.app, 'test',
+ text='<div tal:content="string:foo">bar</div>',
+ encoding='ascii')
+ zpt = self.app['test']
+ from zope.publisher.base import DebugFlags
+ self.app.REQUEST.debug = DebugFlags()
+ self.assertEqual(zpt.pt_render(), unicode('<div>foo</div>\n'))
+ self.app.REQUEST.debug.showTAL = True
+ self.assertEqual(zpt.pt_render(), unicode('<div tal:content="string:foo">foo</div>\n'))
+ self.app.REQUEST.debug.sourceAnnotations = True
+ self.assertEqual(zpt.pt_render().startswith(unicode('<!--')), True)
+
class ZopePageTemplateFileTests(ZopeTestCase):
def testPT_RenderWithAscii(self):
More information about the Zope-Checkins
mailing list