From 4c1e138c3014b5ca0592be95cf6cbcffd852cd79 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Tue, 2 Oct 2012 21:58:00 +0530 Subject: [PATCH] bug-fix in new password -- profile --- core/doctype/profile/profile.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/core/doctype/profile/profile.py b/core/doctype/profile/profile.py index 724cf56c19..845c5fe066 100644 --- a/core/doctype/profile/profile.py +++ b/core/doctype/profile/profile.py @@ -28,7 +28,7 @@ class DocType: def __init__(self, doc, doclist): self.doc = doc self.doclist = doclist - + def autoname(self): """set name as email id""" import re @@ -61,6 +61,7 @@ class DocType: if self.doc.fields.get('__islocal') and not self.doc.new_password: webnotes.msgprint("Password required while creating new doc", raise_exception=1) + # this is used in on_update call self.is_new = self.doc.fields.get("__islocal") def logout_if_disabled(self): @@ -117,24 +118,25 @@ class DocType: def on_update(self): # owner is always name - webnotes.conn.set(self.doc, 'owner' ,self.doc.name) + webnotes.conn.set(self.doc, 'owner', self.doc.name) self.update_new_password() def update_new_password(self): """update new password if set""" if self.doc.new_password: - webnotes.conn.sql("""insert into __Auth (user, `password`) values (%s, password(%s)) + webnotes.conn.sql("""insert into __Auth (user, `password`) + values (%s, password(%s)) on duplicate key update `password`=password(%s)""", (self.doc.name, self.doc.new_password, self.doc.new_password)) - webnotes.conn.set(self.doc, 'new_password', '') - - if not self.new: + if not self.is_new: self.password_reset_mail(self.doc.new_password) + webnotes.msgprint("Password updated.") else: self.send_welcome_mail(self.doc.new_password) - - webnotes.msgprint("Password updated.") + webnotes.msgprint("New user created. - %s" % self.doc.name) + + webnotes.conn.set(self.doc, 'new_password', '') def get_fullname(self): """get first_name space last_name"""