Fix problème d'acquisition. La méthode getUser appelée (au cours de l'appel à getRole...
[Plinn.git] / MembershipTool.py
index 29960e7..0d7624e 100755 (executable)
@@ -19,8 +19,8 @@
 #######################################################################################
 """ Plinn portal_membership
 
-$Id: MembershipTool.py 1547 2010-01-05 16:24:22Z pin $
-$URL: http://svn.cri.ensmp.fr/svn/Plinn/branches/CMF-2.1/MembershipTool.py $
+
+
 """
 
 from AccessControl import ClassSecurityInfo, getSecurityManager
@@ -77,26 +77,26 @@ class MembershipTool( BaseTool ):
        memberareaPortalType = 'Folder'
        
 
-       security.declareProtected(SetOwnPassword, 'setPassword')
-       def setPassword(self, password, domains=None):
-               '''Allows the authenticated member to set his/her own password.
-               '''
-               user_folder = self.__getPUS()
-               if user_folder.meta_type == 'Group User Folder' :
-                       registration = getToolByName(self, 'portal_registration', None)
-                       if not self.isAnonymousUser():
-                               member = self.getAuthenticatedMember()
-                               if registration:
-                                       failMessage = registration.testPasswordValidity(password)
-                                       if failMessage is not None:
-                                               raise 'Bad Request', failMessage
-                               member.setSecurityProfile(password=password, domains=domains)
-                               member.changePassword(password)
-                       else:
-                               raise 'Bad Request', 'Not logged in.'
-                       
-               else :
-                       BaseTool.setPassword(self, password, domains=None)
+#      security.declareProtected(SetOwnPassword, 'setPassword')
+#      def setPassword(self, password, domains=None):
+#              '''Allows the authenticated member to set his/her own password.
+#              '''
+#              user_folder = self.__getPUS()
+#              if user_folder.meta_type == 'Group User Folder' :
+#                      registration = getToolByName(self, 'portal_registration', None)
+#                      if not self.isAnonymousUser():
+#                              member = self.getAuthenticatedMember()
+#                              if registration:
+#                                      failMessage = registration.testPasswordValidity(password)
+#                                      if failMessage is not None:
+#                                              raise 'Bad Request', failMessage
+#                              member.setSecurityProfile(password=password, domains=domains)
+#                              member.changePassword(password)
+#                      else:
+#                              raise 'Bad Request', 'Not logged in.'
+#                      
+#              else :
+#                      BaseTool.setPassword(self, password, domains=None)
 
 
 
@@ -243,7 +243,7 @@ class MembershipTool( BaseTool ):
                                return userid
                        memberName = getattr(member, 'name', '')
                        memberGivenName = getattr(member, 'given_name', '')
-                       memberId = member.id
+                       memberId = member.getId()
                        memberFullName = formatFullName(memberName, memberGivenName, memberId, nameBefore = nameBefore)
                        
                return memberFullName
@@ -379,16 +379,15 @@ class MembershipTool( BaseTool ):
                ttool = getToolByName(self, 'portal_types')
                info = getattr(ttool, self.memberareaPortalType)
                
-               f = info._constructInstance( members, member_id )
                memberFullName = self.getMemberFullNameById(member_id, nameBefore = 0)
+               f = info._constructInstance( members, member_id, title=memberFullName )
                
                # Grant Ownership and Owner role to Member
                f.changeOwnership(user)
                f.__ac_local_roles__ = None
                f.manage_setLocalRoles(member_id, ['Owner'])
 
-               f.setTitle(memberFullName)
-               info._finishConstruction(f)
+               f.reindexObjectSecurity()
                
                # Create Member's initial content.
                if hasattr(self, 'createMemberContent') :