[Zope3-checkins] CVS: Zope3/src/zope/app/content - zpt.py:1.9

Marius Gedminas mgedmin@codeworks.lt
Mon, 14 Apr 2003 11:59:57 -0400


Update of /cvs-repository/Zope3/src/zope/app/content
In directory cvs.zope.org:/tmp/cvs-serv9570/src/zope/app/content

Modified Files:
	zpt.py 
Log Message:
Make sure 'template' is context wrapped in TALES expressions in ZPTPage.


=== Zope3/src/zope/app/content/zpt.py 1.8 => 1.9 ===
--- Zope3/src/zope/app/content/zpt.py:1.8	Thu Apr 10 05:10:35 2003
+++ Zope3/src/zope/app/content/zpt.py	Mon Apr 14 11:59:26 2003
@@ -21,6 +21,7 @@
 
 from zope.proxy.context import ContextMethod
 from zope.proxy.context import getWrapperContainer
+from zope.proxy.introspection import removeAllProxies
 from zope.security.proxy import ProxyFactory
 
 from zope.pagetemplate.pagetemplate import PageTemplate
@@ -50,12 +51,16 @@
 
         self.pt_edit(text.encode('utf-8'), content_type)
 
-    def pt_getContext(self, instance, request, **_kw):
+    def pt_getContext(wrapped_self, instance, request, **_kw):
         # instance is a View component
+        self = removeAllProxies(wrapped_self)
         namespace = super(ZPTPage, self).pt_getContext(**_kw)
+        namespace['template'] = wrapped_self
         namespace['request'] = request
         namespace['context'] = instance
         return namespace
+
+    pt_getContext = ContextMethod(pt_getContext)
 
     def render(self, request, *args, **keywords):
         instance = getWrapperContainer(self)