diff options
| author | Olivier Dony <odo@openerp.com> | 2012-11-22 15:29:42 +0100 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2012-11-22 15:29:42 +0100 |
| commit | f3955000e7ba714cf1ca5d94b37227234bf9fedb (patch) | |
| tree | 6a2709291bd758bd2d5b5c71c1af634aedd14ab4 /addons/auth_openid | |
| parent | f50f0bd0897a569b5e9990b6bc0928b6d4ea59b5 (diff) | |
[FIX] auth_openid: properly inherit Login.start and return a `deferred`
bzr revid: odo@openerp.com-20121122142942-jz8chz5xtf2lj7t4
Diffstat (limited to 'addons/auth_openid')
| -rw-r--r-- | addons/auth_openid/static/src/js/auth_openid.js | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/addons/auth_openid/static/src/js/auth_openid.js b/addons/auth_openid/static/src/js/auth_openid.js index a8901ee80f1..f8615481a40 100644 --- a/addons/auth_openid/static/src/js/auth_openid.js +++ b/addons/auth_openid/static/src/js/auth_openid.js @@ -5,42 +5,44 @@ var QWeb = instance.web.qweb; instance.web.Login = instance.web.Login.extend({ start: function() { - this._super.apply(this, arguments); var self = this; - - this._default_error_message = this.$el.find('.oe_login_error_message').text(); - - this.$openid_selected_button = $(); - this.$openid_selected_input = $(); - this.$openid_selected_provider = null; - - - var openIdProvider = null; - if (this.has_local_storage && this.remember_credentials) { - openIdProvider = localStorage.getItem('openid-provider'); - } - - if (openIdProvider) { - $openid_selected_provider = openIdProvider; - this.do_openid_select('a[href="#' + openIdProvider + '"]', openIdProvider, true); - - if (this.has_local_storage && this.remember_credentials) { - this.$openid_selected_input.find('input').val(localStorage.getItem('openid-login')); + var d = self._super.apply(this, arguments).done(function() { + + self._default_error_message = self.$el.find('.oe_login_error_message').text(); + + self.$openid_selected_button = $(); + self.$openid_selected_input = $(); + self.$openid_selected_provider = null; + + + var openIdProvider = null; + if (self.has_local_storage && self.remember_credentials) { + openIdProvider = localStorage.getItem('openid-provider'); } - } - else { - this.do_openid_select('a[data-url=""]', 'login,password', true); - } - - this.$el.find('a[data-url]').click(function (event) { - event.preventDefault(); - var selected_oidh = $(this).attr('href').substr(1); - if (selected_oidh != self.$openid_selected_provider) { - self.do_openid_select(this, selected_oidh); + + if (openIdProvider) { + $openid_selected_provider = openIdProvider; + self.do_openid_select('a[href="#' + openIdProvider + '"]', openIdProvider, true); + + if (self.has_local_storage && self.remember_credentials) { + self.$openid_selected_input.find('input').val(localStorage.getItem('openid-login')); + } } + else { + self.do_openid_select('a[data-url=""]', 'login,password', true); + } + + self.$el.find('a[data-url]').click(function (event) { + event.preventDefault(); + var selected_oidh = $(this).attr('href').substr(1); + if (selected_oidh != self.$openid_selected_provider) { + self.do_openid_select(this, selected_oidh); + } + }); + + self._check_error(); }); - - this._check_error(); + return d; }, |
