[Erp5-report] r27237 - /erp5/trunk/products/ERP5Security/ERP5UserManager.py

nobody at svn.erp5.org nobody at svn.erp5.org
Thu May 28 17:11:20 CEST 2009


Author: jerome
Date: Thu May 28 17:11:19 2009
New Revision: 27237

URL: http://svn.erp5.org?rev=27237&view=rev
Log:
no need to cache enumerateUsers, because getUserByLogin is already cached

Modified:
    erp5/trunk/products/ERP5Security/ERP5UserManager.py

Modified: erp5/trunk/products/ERP5Security/ERP5UserManager.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Security/ERP5UserManager.py?rev=27237&r1=27236&r2=27237&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Security/ERP5UserManager.py [utf8] (original)
+++ erp5/trunk/products/ERP5Security/ERP5UserManager.py [utf8] Thu May 28 17:11:19 2009
@@ -147,46 +147,38 @@
                        sort_by=None, max_results=None, **kw):
         """ See IUserEnumerationPlugin.
         """
-        def _enumerateUsers(id_tuple, exact_match, path):
-            user_info = []
-            plugin_id = self.getId()
-
-            id_list = []
-            for id in id_tuple:
-              if SUPER_USER == id:
-                info = { 'id' : SUPER_USER
-                        , 'login' : SUPER_USER
-                        , 'pluginid' : plugin_id
-                        }
-                user_info.append(info)
-              else:
-                id_list.append(id)
-
-            if id_list:
-              for user in self.getUserByLogin(tuple(id_list), exact_match=exact_match):
-                  info = { 'id' : user.getReference()
-                         , 'login' : user.getReference()
-                         , 'pluginid' : plugin_id
-                         }
-
-                  user_info.append(info)
-
-            return tuple(user_info)
-
-        # XXX is this cache usefull ???
-        _enumerateUsers = CachingMethod(_enumerateUsers,
-                                        id='ERP5UserManager_enumerateUsers',
-                                        cache_factory='erp5_content_short')
-
         if id is None:
           id = login
         if isinstance(id, str):
           id = (id,)
         if isinstance(id, list):
           id = tuple(id)
-        return _enumerateUsers(id_tuple=id,
-                               exact_match=exact_match,
-                               path=self.getPhysicalPath())
+
+        user_info = []
+        plugin_id = self.getId()
+
+        id_list = []
+        for user_id in id:
+          if SUPER_USER == user_id:
+            info = { 'id' : SUPER_USER
+                    , 'login' : SUPER_USER
+                    , 'pluginid' : plugin_id
+                    }
+            user_info.append(info)
+          else:
+            id_list.append(user_id)
+
+        if id_list:
+          for user in self.getUserByLogin(tuple(id_list), exact_match=exact_match):
+              info = { 'id' : user.getReference()
+                     , 'login' : user.getReference()
+                     , 'pluginid' : plugin_id
+                     }
+
+              user_info.append(info)
+
+        return tuple(user_info)
+
 
     def getUserByLogin(self, login, exact_match=True):
         # Search the Catalog for login and return a list of person objects




More information about the Erp5-report mailing list