[Erp5-report] r19091 - /erp5/trunk/products/ERP5Type/UnrestrictedMethod.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Feb 6 11:05:19 CET 2008


Author: romain
Date: Wed Feb  6 11:05:18 2008
New Revision: 19091

URL: http://svn.erp5.org?rev=19091&view=rev
Log:
It is not possible to get an user folder from special user (like anonymous).
So, do not wrap the super_user and do not try to get list of roles.

Modified:
    erp5/trunk/products/ERP5Type/UnrestrictedMethod.py

Modified: erp5/trunk/products/ERP5Type/UnrestrictedMethod.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/UnrestrictedMethod.py?rev=19091&r1=19090&r2=19091&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/UnrestrictedMethod.py (original)
+++ erp5/trunk/products/ERP5Type/UnrestrictedMethod.py Wed Feb  6 11:05:18 2008
@@ -67,17 +67,17 @@
   def __call__(self, *args, **kw):
     security_manager = getSecurityManager()
     user = security_manager.getUser()
-    uf = user.aq_inner.aq_parent
-    # XXX is it better to get roles from the parent (i.e. portal)?
-    role_list = uf.valid_roles()
     if user.getId() is None:
       # This is a special user, thus the user is not allowed to own objects.
       super_user = UnrestrictedUser(user.getUserName(), None,
-                                    role_list, user.getDomains())
+                                    user.getRoles(), user.getDomains())
     else:
+      uf = user.aq_inner.aq_parent
+      # XXX is it better to get roles from the parent (i.e. portal)?
+      role_list = uf.valid_roles()
       super_user = PrivilegedUser(user.getId(), None,
-                                  role_list, user.getDomains())
-    newSecurityManager(None, super_user.__of__(uf))
+                                  role_list, user.getDomains()).__of__(uf)
+    newSecurityManager(None, super_user)
     try:
       return self._m(*args, **kw)
     finally:




More information about the Erp5-report mailing list