From f2325382caf64e3021cd5c0df116180802b2f89e Mon Sep 17 00:00:00 2001 From: vishmita Date: Tue, 23 Aug 2011 18:28:02 +0530 Subject: [PATCH] [IMP]Improve code in change password. bzr revid: vja@vja-desktop-20110823125802-c4jhe4qqjn2ra7n4 --- addons/base/controllers/main.py | 13 ++++++++----- addons/base/static/src/js/chrome.js | 15 ++++----------- addons/base/static/src/xml/base.xml | 16 ++++++++-------- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 6a7f143776c..9493620c1cb 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -295,15 +295,18 @@ class Session(openerpweb.Controller): } @openerpweb.jsonrequest def change_password (self,req,fields): - old_password, new_password,confirm_password = operator.itemgetter('old_pwd', 'new_pwd','confirm_pwd')( + old_password, new_password,confirm_password = operator.itemgetter('old_pwd', 'new_password','confirm_pwd')( dict(map(operator.itemgetter('name', 'value'), fields))) + if not (old_password.strip() and new_password.strip() and confirm_password.strip()): + return {'error':'All passwords have to be filled.','title': 'Change Password'} + if new_password != confirm_password: + return {'error': 'The new password and its confirmation must be identical.','title': 'Change Password'} try: if req.session.model('res.users').change_password( old_password, new_password): - req.session.password = new_password - return dict(changed=True) - raise redirect('/') - except xmlrpclib.Fault, e: + req.session.password = new_password; + return dict(changed=True) + except: return {'error': 'Original password incorrect, your password was not changed.', 'title': 'Change Password'} @openerpweb.jsonrequest diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index d0901e37d07..1a3289457c3 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -459,7 +459,7 @@ openerp.base.Database = openerp.base.Widget.extend({ } self.notification.notify("Changed Password", "Password has been changed successfully"); }); - } + }, }); } }); @@ -681,22 +681,15 @@ openerp.base.Header = openerp.base.Widget.extend({ this.dialog.open(); this.dialog.$element.html(QWeb.render("Change_Pwd", self)); this.dialog.$element.find("form[name=change_password_form]").validate({ - messages: { - old_password: "Please enter your previous password", - new_password: "Please enter your new password", - confirm_password: { - required: "Please confirm your new password", - equalTo: "The confirmation does not match the password" - }, - }, submitHandler: function (form) { + console.log('form',form) self.rpc("/base/session/change_password",{ - 'fields': $("form[name=change_password_form]").serializeArray() + 'fields': $(form).serializeArray() }, function(result) { if (result.error) { self.display_error(result); return; - } + }; self.notification.notify("Changed Password", "Password has been changed successfully"); self.dialog.close(); }); diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 31c5ac6693a..03257f7976b 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -1309,21 +1309,21 @@
- +
- - - + + - + - +