diff --git a/models/__init__.py b/models/__init__.py index 36c8c6a..c2e7429 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -20,6 +20,6 @@ from . import booking_donation from . import event_media_link from . import mailing_list #from . import account -#from . import res_users +from . import res_users from . import membership_import diff --git a/models/res_users.py b/models/res_users.py index 43365f6..97a36a6 100644 --- a/models/res_users.py +++ b/models/res_users.py @@ -34,20 +34,24 @@ class ResUsers(models.Model): """ #recherche si un contact existe avec l'adresse email saisie #on ignore les majsucule : operateur ilike - partner_email=self.env['res.partner'].sudo().search([('email','ilike',values.get('login'))],limit=1) - #_logger.error("partner_email:"+str(partner_email.email)) - #si le contact existe déjà on vérifie s'il existe déjà un compte utilisateur - if partner_email: - user_email=self.env['res.users'].sudo().search([('partner_id','=',int(partner_email.id))],limit=1) - #si un compte utilisateur existe déjà avec l'adresse email,on ne crer pas le compte mais on fait la connexion - if user_email: return (self.env.cr.dbname, values.get('login'), values.get('password')) - #si pas de compte utilisateur on crée un token pour le contact trouvé - else: - partner_email.signup_type='signup' - partner_email.signup_token=self.random_token() - partner_email.signup_expiration=datetime.today()+timedelta(days=1) - token=partner_email.signup_token - + if not token: + partner_email=self.env['res.partner'].sudo().search([('email','ilike',values.get('login'))],limit=1) + #_logger.error("errKpartner_email:"+str(partner_email.email)) + #si le contact existe déjà on vérifie s'il existe déjà un compte utilisateur + if partner_email: + _logger.error("errK1partner_email:"+str(partner_email.email)) + user_email=self.env['res.users'].sudo().search([('partner_id','=',int(partner_email.id))],limit=1) + #si un compte utilisateur existe déjà avec l'adresse email,on ne crer pas le compte mais on fait la connexion + if user_email: + _logger.error("errK2user_email") + return (self.env.cr.dbname, values.get('login'), values.get('password')) + #si pas de compte utilisateur on crée un token pour le contact trouvé + else: + partner_email.signup_type='signup' + partner_email.signup_token=self.random_token() + partner_email.signup_expiration=datetime.today()+timedelta(days=1) + token=partner_email.signup_token + _logger.error("errK3token"+token) if token: @@ -67,7 +71,8 @@ class ResUsers(models.Model): values.pop('lang', None) if partner_user: - _logger.error("user exists, modify it according to values"+str(partner.email)) + + _logger.error("errK4user exists, modify it according to values"+str(partner.email)) # user exists, modify it according to values values.pop('login', None) values.pop('name', None) @@ -77,7 +82,7 @@ class ResUsers(models.Model): return (self.env.cr.dbname, partner_user.login, values.get('password')) else: - _logger.error("user does not exist: sign up invited user") + _logger.error("errK5user does not exist: sign up invited user") # user does not exist: sign up invited user values.update({ 'name': partner.name, @@ -91,6 +96,7 @@ class ResUsers(models.Model): partner_user._notify_inviter() else: # no token, sign up an external user + _logger.error("errK6no token, sign up an external user") values['email'] = values.get('email') or values.get('login')