[Checkins] SVN: five.grok/trunk/ Fix namespace override in ZopeTwoPageTemplate, i.e. let users

Sylvain Viollon sylvain at infrae.com
Thu Feb 4 09:07:02 EST 2010


Log message for revision 108756:
  Fix namespace override in ZopeTwoPageTemplate, i.e. let users
  override 'view' for instance using the namespace method of a Grok
  view class. This bug was introduced in the 1.1 release.
  
  

Changed:
  U   five.grok/trunk/docs/HISTORY.txt
  U   five.grok/trunk/setup.py
  U   five.grok/trunk/src/five/grok/components.py
  U   five.grok/trunk/src/five/grok/ftests/view/namespace.py
  A   five.grok/trunk/src/five/grok/ftests/view/namespace_override.py
  A   five.grok/trunk/src/five/grok/ftests/view/namespace_override_templates/
  A   five.grok/trunk/src/five/grok/ftests/view/namespace_override_templates/index.pt

-=-
Modified: five.grok/trunk/docs/HISTORY.txt
===================================================================
--- five.grok/trunk/docs/HISTORY.txt	2010-02-04 13:33:28 UTC (rev 108755)
+++ five.grok/trunk/docs/HISTORY.txt	2010-02-04 14:07:01 UTC (rev 108756)
@@ -1,11 +1,15 @@
 Changelog
 =========
 
-1.2 (unreleased)
-----------------
+1.1.1 (unreleased)
+------------------
 
-- ...
+- Fix namespace override in ZopeTwoPageTemplate, i.e. let users
+  override 'view' for instance using the namespace method of a Grok
+  view class. This bug was introduced in the 1.1 release.
+  [thefunny42]
 
+
 1.1 (2009-11-16)
 ----------------
 

Modified: five.grok/trunk/setup.py
===================================================================
--- five.grok/trunk/setup.py	2010-02-04 13:33:28 UTC (rev 108755)
+++ five.grok/trunk/setup.py	2010-02-04 14:07:01 UTC (rev 108756)
@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 import os
 
-version = '1.2dev'
+version = '1.1.1dev'
 
 setup(name='five.grok',
       version=version,

Modified: five.grok/trunk/src/five/grok/components.py
===================================================================
--- five.grok/trunk/src/five/grok/components.py	2010-02-04 13:33:28 UTC (rev 108755)
+++ five.grok/trunk/src/five/grok/components.py	2010-02-04 14:07:01 UTC (rev 108756)
@@ -127,9 +127,9 @@
         self._template = ViewPageTemplateFile(filename, _prefix)
 
     def render(self, view):
-        namespace = self.getNamespace(view)
         template = self._template
-        namespace.update(template.pt_getContext(view, view.request))
+        namespace = template.pt_getContext(view, view.request)
+        namespace.update(self.getNamespace(view))
         return template.pt_render(namespace)
 
 

Modified: five.grok/trunk/src/five/grok/ftests/view/namespace.py
===================================================================
--- five.grok/trunk/src/five/grok/ftests/view/namespace.py	2010-02-04 13:33:28 UTC (rev 108755)
+++ five.grok/trunk/src/five/grok/ftests/view/namespace.py	2010-02-04 14:07:01 UTC (rev 108756)
@@ -17,13 +17,13 @@
 from five import grok
 
 class Mammoth(grok.Model):
-    
+
     def __init__(self, id):
         super(Mammoth, self).__init__(id)
         self.id = id
 
 class Index(grok.View):
-    
+
     def namespace(self):
         return {'name': self.context.id}
 

Added: five.grok/trunk/src/five/grok/ftests/view/namespace_override.py
===================================================================
--- five.grok/trunk/src/five/grok/ftests/view/namespace_override.py	                        (rev 0)
+++ five.grok/trunk/src/five/grok/ftests/view/namespace_override.py	2010-02-04 14:07:01 UTC (rev 108756)
@@ -0,0 +1,36 @@
+"""
+  >>> from five.grok.ftests.view.namespace_override import *
+  >>> id = getRootFolder()._setObject("manfred", Mammoth(id='manfred'))
+
+  >>> from Products.Five.testbrowser import Browser
+  >>> browser = Browser()
+  >>> browser.handleErrors = False
+  >>> browser.open("http://localhost/manfred")
+  >>> print browser.contents
+  <html>
+  <body>
+  <h1>Hello!</h1>
+  </body>
+  </html>
+
+"""
+from five import grok
+
+class Mammoth(grok.Model):
+
+    def __init__(self, id):
+        super(Mammoth, self).__init__(id)
+        self.id = id
+
+
+class CustomViewClass(object):
+
+    def hello(self):
+        return u'Hello'
+
+
+class Index(grok.View):
+
+    def namespace(self):
+        return {'view': CustomViewClass()}
+


Property changes on: five.grok/trunk/src/five/grok/ftests/view/namespace_override.py
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision

Added: five.grok/trunk/src/five/grok/ftests/view/namespace_override_templates/index.pt
===================================================================
--- five.grok/trunk/src/five/grok/ftests/view/namespace_override_templates/index.pt	                        (rev 0)
+++ five.grok/trunk/src/five/grok/ftests/view/namespace_override_templates/index.pt	2010-02-04 14:07:01 UTC (rev 108756)
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h1><tal:name tal:replace="view/hello" />!</h1>
+</body>
+</html>


Property changes on: five.grok/trunk/src/five/grok/ftests/view/namespace_override_templates/index.pt
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision



More information about the checkins mailing list