[Erp5-report] r36980 luke - /erp5/trunk/products/ERP5Catalog/CatalogTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Jul 8 13:50:15 CEST 2010


Author: luke
Date: Thu Jul  8 13:50:13 2010
New Revision: 36980

URL: http://svn.erp5.org?rev=36980&view=rev
Log:
 - support case of adding roles in case of first reindexation when reference
   is set

In such scenario getUserById returns None, even if Person document with
reference is added.

Modified:
    erp5/trunk/products/ERP5Catalog/CatalogTool.py

Modified: erp5/trunk/products/ERP5Catalog/CatalogTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Catalog/CatalogTool.py?rev=36980&r1=36979&r2=36980&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/CatalogTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Catalog/CatalogTool.py [utf8] Thu Jul  8 13:50:13 2010
@@ -125,7 +125,12 @@ class IndexableObjectWrapper(object):
         for user, roles in localroles.iteritems():
           prefix = 'user:' + user
           for role in roles:
-            if (role in role_dict) and (getUserById(user) is not None):
+            if (role in role_dict) and (getUserById(user) is not None
+                # support special case - reindex person for first time, when
+                # it is not returned yet by getUserById, as it is not available
+                # yet in catalog
+                or (self.getPortalType()=='Person' and
+                  self.getReference() == user)):
               # If role is monovalued, check if key is a user.
               # If not, continue to index it in roles_and_users table.
               user_role_dict[role] = user




More information about the Erp5-report mailing list