[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py - refactored createMemberArea (we can now use more API methods)

Yvo Schubbe y.2011 at wcm-solutions.de
Wed Feb 23 05:35:01 EST 2011


Log message for revision 120530:
  - refactored createMemberArea (we can now use more API methods)

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py	2011-02-23 10:29:15 UTC (rev 120529)
+++ Products.CMFCore/trunk/Products/CMFCore/MembershipTool.py	2011-02-23 10:35:01 UTC (rev 120530)
@@ -249,22 +249,15 @@
             return None
         if self.isAnonymousUser():
             return None
-        # Note: We can't use getAuthenticatedMember() and getMemberById()
-        # because they might be wrapped by MemberDataTool.
-        user = getSecurityManager().getUser()
-        user_id = user.getId()
-        if member_id in ('', user_id):
-            member = user
-            member_id = user_id
-        else:
-            if _checkPermission(ManageUsers, self):
-                uf = self._huntUserFolder(member_id, self)
-                if uf:
-                    member = uf.getUserById(member_id).__of__(uf)
-                else:
-                    raise ValueError('Member %s does not exist' % member_id)
-            else:
+        if member_id:
+            if not self.isMemberAccessAllowed(member_id):
                 return None
+            member = self.getMemberById(member_id)
+            if member is None:
+                return None
+        else:
+            member = self.getAuthenticatedMember()
+            member_id = member.getId()
         if hasattr( aq_base(members), member_id ):
             return None
         else:



More information about the checkins mailing list