[Erp5-report] r38657 nicolas.dumazet - /erp5/trunk/products/ERP5Type/patches/getSite.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Sep 27 11:19:39 CEST 2010


Author: nicolas.dumazet
Date: Mon Sep 27 11:19:34 2010
New Revision: 38657

URL: http://svn.erp5.org?rev=38657&view=rev
Log:
sync after portal type classes invalidation on another node

Modified:
    erp5/trunk/products/ERP5Type/patches/getSite.py

Modified: erp5/trunk/products/ERP5Type/patches/getSite.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/patches/getSite.py?rev=38657&r1=38656&r2=38657&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/patches/getSite.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/patches/getSite.py [utf8] Mon Sep 27 11:19:34 2010
@@ -34,7 +34,16 @@ def getSite():
   return site
 hooks.getSite = getSite
 
+last_cookie_value = None
 def setSite(site=None):
   _setSite(site)
-  # TODO: check if caches related to portal types as classes must be invalidated
+  cookie = getattr(site, '_dynamic_class_cookie', None)
+  if cookie is not None:
+    global last_cookie_value
+    if cookie.value != last_cookie_value:
+      # some other node changed a portal type
+      # reload locally the dynamic classes
+      from Products.ERP5Type.Dynamic.portaltypeclass import resetDynamicDocuments
+      resetDynamicDocuments(site, slave=True)
+      last_cookie_value = cookie.value
 hooks.setSite = setSite




More information about the Erp5-report mailing list