[Erp5-report] r39219 jm - in /erp5/trunk/products: ERP5/ERP5Site.py ERP5Type/Message.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Oct 15 11:39:43 CEST 2010


Author: jm
Date: Fri Oct 15 11:39:35 2010
New Revision: 39219

URL: http://svn.erp5.org?rev=39219&view=rev
Log:
ERP5Type.Message: get a portal that is wrapped in a request container

Modified:
    erp5/trunk/products/ERP5/ERP5Site.py
    erp5/trunk/products/ERP5Type/Message.py

Modified: erp5/trunk/products/ERP5/ERP5Site.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/ERP5Site.py?rev=39219&r1=39218&r2=39219&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/ERP5Site.py [utf8] (original)
+++ erp5/trunk/products/ERP5/ERP5Site.py [utf8] Fri Oct 15 11:39:35 2010
@@ -22,6 +22,7 @@ from Products.ERP5Type.Globals import pa
 
 from Products.SiteErrorLog.SiteErrorLog import manage_addErrorLog
 from ZPublisher import BeforeTraverse
+from ZPublisher.BaseRequest import RequestContainer
 from AccessControl import ClassSecurityInfo
 from Products.CMFDefault.Portal import CMFSite
 from Products.CMFCore.utils import getToolByName
@@ -189,13 +190,13 @@ class _site(threading.local):
     self = threading.local.__new__(cls)
     return self.__get, self.__set
 
-  def __get(self):
-    """Returns the currently processed site
-
-    XXX The returned site is not wrapped in a request.
+  def __get(self, REQUEST=None):
+    """Returns the currently processed site, optionally wrapped in a request
     """
     app, site_id = self.site[-1]
-    return getattr(app(), site_id)
+    if REQUEST is None:
+      return getattr(app(), site_id)
+    return getattr(app().__of__(RequestContainer(REQUEST=REQUEST)), site_id)
 
   def __set(self, site):
     app = aq_base(site.aq_parent)

Modified: erp5/trunk/products/ERP5Type/Message.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Message.py?rev=39219&r1=39218&r2=39219&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Message.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Message.py [utf8] Fri Oct 15 11:39:35 2010
@@ -146,11 +146,12 @@ class Message(Persistent):
         message = Template(message).substitute(self.mapping)
     else:
       from Products.ERP5.ERP5Site import getSite
+      request = Globals.get_request()
       translated_message = translation_service_translate(
                                              self.domain,
                                              message,
                                              mapping=self.mapping,
-                                             context=getSite(),
+                                             context=getSite(request),
                                              default=self.default)
       if translated_message is not None:
         message = translated_message




More information about the Erp5-report mailing list