From 27974575fd31dc267e28d1f7ca5f7646e6748ccc Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Fri, 28 Dec 2012 13:52:44 +0100 Subject: [PATCH 1/4] [FIX] Fix load_translations, right deferred return, and improved language selection bzr revid: vta@openerp.com-20121228125244-v8mf6abge6jy4hlg --- .../static/src/js/portal_anonymous.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js index 8a064f2ada2..d4d38daa3e9 100644 --- a/addons/portal_anonymous/static/src/js/portal_anonymous.js +++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js @@ -16,19 +16,28 @@ openerp.portal_anonymous = function(instance) { // then don't change session.user_context.lang if (langs.length > 0) { // Try to get the right user preference in the browser, else - // get the first returned language + // get the shortest language returned ('xx' country code) or + // just the first one var l = _.filter(langs, function(lang) { return lang.code === browser_lang || lang.iso_code === browser_lang; }); if (!_.isEmpty(l)) { self.user_context.lang = l[0].code; } else { - self.user_context.lang = langs.sort(function(a, b) { - return a.length - b.length; - })[0].code; + l = _.filter(langs, function(lang) { + return lang.iso_code === _.pluck(langs, 'iso_code') + .sort(function(a, b) { + return a.length - b.length; + })[0]; + }); + self.user_context.lang = l[0].code; } } + return self.rpc('/web/webclient/translations', { mods: self.module_list, lang: self.user_context.lang }).done(function(trans) { + console.log(trans); + instance.web._t.database.set_bundle(trans); + }); }); } - return self._super(); + return this._super(); }, }); From 9e65badaa6a2daeea95c34e6a0b1990004279f47 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Fri, 28 Dec 2012 14:52:49 +0100 Subject: [PATCH 2/4] [REM] Remove console.log bzr revid: vta@openerp.com-20121228135249-1qojmcvm7zsyutq8 --- addons/portal_anonymous/static/src/js/portal_anonymous.js | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js index d4d38daa3e9..a6be79c9f7c 100644 --- a/addons/portal_anonymous/static/src/js/portal_anonymous.js +++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js @@ -32,7 +32,6 @@ openerp.portal_anonymous = function(instance) { } } return self.rpc('/web/webclient/translations', { mods: self.module_list, lang: self.user_context.lang }).done(function(trans) { - console.log(trans); instance.web._t.database.set_bundle(trans); }); }); From a9e53f724f57ad4325f6a76c27afc86a3a20fb2a Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Mon, 31 Dec 2012 16:02:39 +0100 Subject: [PATCH 3/4] [FIX] Fix reset password token issue bzr revid: vta@openerp.com-20121231150239-oeuvnwbpsvyzh5v5 --- addons/auth_signup/res_users.py | 7 ++++--- addons/auth_signup/static/src/js/auth_signup.js | 1 + addons/portal_anonymous/static/src/js/portal_anonymous.js | 5 ++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py index 233b3be6853..a068ddaaf95 100644 --- a/addons/auth_signup/res_users.py +++ b/addons/auth_signup/res_users.py @@ -256,7 +256,6 @@ class res_users(osv.Model): raise osv.except_osv(_("Cannot send email: no outgoing email server configured.\nYou can configure it under Settings/General Settings."), user.name) else: raise osv.except_osv(_("Mail sent to:"), user.email) - return True def create(self, cr, uid, values, context=None): @@ -264,5 +263,7 @@ class res_users(osv.Model): user_id = super(res_users, self).create(cr, uid, values, context=context) user = self.browse(cr, uid, user_id, context=context) if context and context.get('reset_password') and user.email: - user.action_reset_password() - return user_id + try: + user.action_reset_password() + finally: + return user_id diff --git a/addons/auth_signup/static/src/js/auth_signup.js b/addons/auth_signup/static/src/js/auth_signup.js index 6757b9cb69d..5812dd802fb 100644 --- a/addons/auth_signup/static/src/js/auth_signup.js +++ b/addons/auth_signup/static/src/js/auth_signup.js @@ -144,6 +144,7 @@ openerp.auth_signup = function(instance) { self.show_error(result.error); } else { super_.apply(self, [ev]); + window.location = "/#action=login"; } }); } else { diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js index a6be79c9f7c..d5e74c13792 100644 --- a/addons/portal_anonymous/static/src/js/portal_anonymous.js +++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js @@ -44,9 +44,8 @@ openerp.portal_anonymous = function(instance) { start: function() { var self = this; return $.when(this._super()).then(function() { - var params = $.deparam($.param.querystring()); var dblist = self.db_list || []; - if (!self.session.session_is_valid() && dblist.length === 1 && (!params.token || !params.login)) { + if (!self.session.session_is_valid() && dblist.length === 1 && _.isEmpty(self.params)) { self.remember_credentials = false; // XXX get login/pass from server (via a rpc call) ? return self.do_login(dblist[0], 'anonymous', 'anonymous'); @@ -93,7 +92,7 @@ openerp.portal_anonymous = function(instance) { }, // Avoid browser preloading show_application: function() { - var params = $.deparam($.param.querystring()); + var params = $.deparam($.param.fragment()); if (!!params.token || !!params.login) { return this.show_login(); } From 821ac67536472058c4d288249932a5c8d76169cf Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Mon, 31 Dec 2012 16:38:50 +0100 Subject: [PATCH 4/4] [FIX] Do not raise exceptions in action_change_password bzr revid: vta@openerp.com-20121231153850-v9tncegddfruohsi --- addons/auth_signup/res_users.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py index a068ddaaf95..f57fa4cb7ca 100644 --- a/addons/auth_signup/res_users.py +++ b/addons/auth_signup/res_users.py @@ -249,13 +249,13 @@ class res_users(osv.Model): assert template._name == 'email.template' for user in self.browse(cr, uid, ids, context): if not user.email: - raise osv.except_osv(_("Cannot send email: user has no email address."), user.name) + m = osv.except_osv(_("Cannot send email: user has no email address."), user.name) mail_id = self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, True, context=context) mail_state = mail_obj.read(cr, uid, mail_id, ['state'], context=context) if mail_state and mail_state == 'exception': - raise osv.except_osv(_("Cannot send email: no outgoing email server configured.\nYou can configure it under Settings/General Settings."), user.name) + m = osv.except_osv(_("Cannot send email: no outgoing email server configured.\nYou can configure it under Settings/General Settings."), user.name) else: - raise osv.except_osv(_("Mail sent to:"), user.email) + m = osv.except_osv(_("Mail sent to:"), user.email) return True def create(self, cr, uid, values, context=None): @@ -263,7 +263,5 @@ class res_users(osv.Model): user_id = super(res_users, self).create(cr, uid, values, context=context) user = self.browse(cr, uid, user_id, context=context) if context and context.get('reset_password') and user.email: - try: - user.action_reset_password() - finally: - return user_id + user.action_reset_password() + return user_id