[CMF-checkins] CVS: Products/CMFCore - MemberDataTool.py:1.37

Florent Guillaume fg at nuxeo.com
Fri Apr 15 13:29:50 EDT 2005


Update of /cvs-repository/Products/CMFCore
In directory cvs.zope.org:/tmp/cvs-serv15207/CMFCore

Modified Files:
	MemberDataTool.py 
Log Message:
MemberDataTool: setSecurityProfile (called by MembershipTool's
setPassword) now uses the userFolderEditUser() API of the user folder to
change user information.


=== Products/CMFCore/MemberDataTool.py 1.36 => 1.37 ===
--- Products/CMFCore/MemberDataTool.py:1.36	Thu Aug 12 11:07:39 2004
+++ Products/CMFCore/MemberDataTool.py	Fri Apr 15 13:29:19 2005
@@ -366,14 +366,16 @@
     def setSecurityProfile(self, password=None, roles=None, domains=None):
         """Set the user's basic security profile"""
         u = self.getUser()
-        # This is really hackish.  The Zope User API needs methods
-        # for performing these functions.
-        if password is not None:
-            u.__ = password
-        if roles is not None:
-            u.roles = roles
-        if domains is not None:
-            u.domains = domains
+
+        # The Zope User API is stupid, it should check for None.
+        if roles is None:
+            roles = list(u.getRoles())
+            if 'Authenticated' in roles:
+                roles.remove('Authenticated')
+        if domains is None:
+            domains = u.getDomains()
+
+        u.userFolderEditUser(u.getUserName(), password, roles, domains)
 
     def __str__(self):
         return self.getMemberId()



More information about the CMF-checkins mailing list