[Zope-PTK] A bug in DemoSQLMemberFolderBase ?

Brun Eric eric.brun@etu.univ-savoie.fr
Mon, 22 May 2000 09:19:57 +0200


In the class DemoSQLMemberFolderBase, in the methode _doChangeUser
When you use PTK with external database like Postgres, you can't change
you password when you login in the first time : 

When you change your password, you change the data user in the base : password,
domains and roles but _doChangeUser do it in a wrong format
e.g :  	'user1', 'pwuser1', '*.etu.univ-savoie.fr', 'Member' : Right format
	'user1, ',pwuser1', ['*.etu.univ-savoie.fr'],['Member'] : Wrong format

I propose to correct it in PTKDemo/DemoSQLMember.py

def _doChangeUser(self, name, password, roles, domains):
    	"""
    	Change les données de l'uilisateur 'nom' dans la BD
    	Modifié par Eric Brun
    	"""
    	
    	# recupere l'objet user conserner pas le changement
    	un_user = self.getUser(name)
    	
    	# met les roles
        self.roles = string.join(roles,',')

        # recupere les Domains de l'utilisateur a partir de la BD
        self.domains = un_user.getDomains()

        # concatene les Domains de la BD et les Domains en parametes
        self.domains = string.join(self.domains+domains,',')

        self.sqlEditQuery(username=name,
                          password=password,
                          domains=self.domains,
                          roles=self.roles
                          )

Bye

Eric