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

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Nov 2 19:23:59 CET 2007


Author: vincent
Date: Fri Nov  2 19:23:58 2007
New Revision: 17376

URL: http://svn.erp5.org?rev=17376&view=rev
Log:
Instead of raising because of deprecated use, warn and fallback.

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=17376&r1=17375&r2=17376&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Catalog/CatalogTool.py (original)
+++ erp5/trunk/products/ERP5Catalog/CatalogTool.py Fri Nov  2 19:23:58 2007
@@ -509,10 +509,6 @@
       allowedRolesAndUsers, role_column_dict = self.getAllowedRolesAndUsers(**kw)
       catalog = self.getSQLCatalog(sql_catalog_id)
       method = getattr(catalog, catalog.sql_search_security, None)
-      if method is None:
-        raise DeprecationWarning, "The usage of allowedRolesAndUsers is "\
-                                  "deprecated. Please update your catalog "\
-                                  "business template."
       if allowedRolesAndUsers:
         allowedRolesAndUsers.sort()
         cache_key = tuple(allowedRolesAndUsers)
@@ -524,10 +520,20 @@
         try:
           security_uid_list = security_uid_cache[cache_key]
         except KeyError:
-          # XXX: What with this string transformation ?! Souldn't it be done in
-          # dtml instead ?
-          allowedRolesAndUsers = ["'%s'" % (role, ) for role in allowedRolesAndUsers]
-          security_uid_list = [x.uid for x in method(security_roles_list = allowedRolesAndUsers)]
+          if method is None:
+            warnings.warn("The usage of allowedRolesAndUsers is "\
+                          "deprecated. Please update your catalog "\
+                          "business template.", DeprecationWarning)
+            security_uid_list = [x.security_uid for x in \
+              self.unrestrictedSearchResults(
+                allowedRolesAndUsers=allowedRolesAndUsers,
+                select_expression="security_uid",
+                group_by_expression="security_uid")]
+          else:
+            # XXX: What with this string transformation ?! Souldn't it be done in
+            # dtml instead ?
+            allowedRolesAndUsers = ["'%s'" % (role, ) for role in allowedRolesAndUsers]
+            security_uid_list = [x.uid for x in method(security_roles_list = allowedRolesAndUsers)]
           security_uid_cache[cache_key] = security_uid_list
       else:
         security_uid_list = []




More information about the Erp5-report mailing list