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

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jan 3 10:48:20 CET 2007


Author: vincent
Date: Wed Jan  3 10:48:19 2007
New Revision: 11862

URL: http://svn.erp5.org?rev=11862&view=rev
Log:
Prevent getUserByLogin from failing due to a degraded catalog (for example if it doesn't exist, ERP5Security prevents from accessing the managment screens to fix the situation).

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=11862&r1=11861&r2=11862&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Security/ERP5UserManager.py (original)
+++ erp5/trunk/products/ERP5Security/ERP5UserManager.py Wed Jan  3 10:48:19 2007
@@ -25,6 +25,7 @@
 from Products.PluggableAuthService.interfaces.plugins import IAuthenticationPlugin
 from Products.PluggableAuthService.interfaces.plugins import IUserEnumerationPlugin
 from Products.ERP5Type.Cache import CachingMethod
+from ZODB.POSException import ConflictError
 
 from zLOG import LOG
 
@@ -174,8 +175,13 @@
           newSecurityManager(self, self.getUser(SUPER_USER))
 
         try:
-          result = self.getPortalObject().portal_catalog(
-                                  portal_type="Person", reference=login)
+          try:
+            result = self.getPortalObject().portal_catalog(
+                                    portal_type="Person", reference=login)
+          except ConflictError:
+            raise
+          except:
+            LOG('ERP5Security', 0, 'getUserByLogin failed', error=sys.exc_info())
         finally:
           setSecurityManager(sm)
         return [item.getObject() for item in result]




More information about the Erp5-report mailing list