[IMP] Removed oauth auto-signin flicker. Also avoid xmlhttprequest error on redirection

bzr revid: fme@openerp.com-20130328121448-p83dija6dsrhmx9u
This commit is contained in:
Fabien Meghazi 2013-03-28 13:14:48 +01:00
commit ef55d1da7f
1 changed files with 5 additions and 1 deletions

View File

@ -5,6 +5,7 @@ openerp.auth_oauth = function(instance) {
start: function(parent, params) {
var self = this;
var d = this._super.apply(this, arguments);
this.$el.hide();
this.$el.on('click', 'a.zocial', this.on_oauth_sign_in);
this.oauth_providers = [];
if(this.params.oauth_error === 1) {
@ -24,6 +25,8 @@ openerp.auth_oauth = function(instance) {
var db = this.$("form [name=db]").val();
if (db) {
this.rpc("/auth_oauth/list_providers", { dbname: db }).done(this.on_oauth_loaded);
} else {
this.$el.show();
}
},
on_oauth_loaded: function(result) {
@ -32,6 +35,7 @@ openerp.auth_oauth = function(instance) {
if (this.oauth_providers.length === 1 && params.type === 'signup') {
this.do_oauth_sign_in(this.oauth_providers[0]);
} else {
this.$el.show();
this.$('.oe_oauth_provider_login_button').remove();
var buttons = QWeb.render("auth_oauth.Login.button",{"widget":this});
this.$(".oe_login_pane form ul").after(buttons);
@ -57,7 +61,7 @@ openerp.auth_oauth = function(instance) {
state: JSON.stringify(state),
};
var url = provider.auth_endpoint + '?' + $.param(params);
window.location = url;
instance.web.redirect(url);
},
_oauth_state: function(provider) {
// return the state object sent back with the redirected uri