[FIX] fixed anonymous autologin, and autojump to oauth provider directly

bzr revid: vta@openerp.com-20121218153255-14mwitd6q06bbyor
This commit is contained in:
vta vta@openerp.com
2012-12-18 16:32:55 +01:00
parent 822fafe4ca
commit 6116d9ae0e
3 changed files with 19 additions and 11 deletions
@@ -28,9 +28,14 @@ openerp.auth_oauth = function(instance) {
},
on_oauth_loaded: function(result) {
this.oauth_providers = result;
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);
var params = $.deparam($.param.querystring());
if (this.oauth_providers.length === 1 && params.type === 'signup') {
this.do_oauth_sign_in(this.oauth_providers[0]);
} else {
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);
}
},
on_oauth_sign_in: function(ev) {
ev.preventDefault();
+1 -2
View File
@@ -64,10 +64,9 @@ class res_partner(osv.Model):
# the parameters to encode for the query and fragment part of url
query = {'db': cr.dbname}
fragment = {'action': action}
fragment = {'action': action, 'type': partner.signup_type}
if partner.signup_token:
fragment['type'] = partner.signup_type
fragment['token'] = partner.signup_token
elif partner.user_ids:
fragment['db'] = cr.dbname
@@ -4,17 +4,13 @@ openerp.portal_anonymous = function(instance) {
start: function() {
var self = this;
return $.when(this._super()).then(function() {
var dblist = self.db_list || [];
var params = $.deparam($.param.querystring());
if (!!params.token || !!params.login) {
return false;
}
if (!self.session.session_is_valid() && dblist.length === 1) {
var dblist = self.db_list || [];
if (!self.session.session_is_valid() && dblist.length === 1 && (!params.token || !params.login)) {
self.remember_credentials = false;
// XXX get login/pass from server (via a rpc call) ?
return self.do_login(dblist[0], 'anonymous', 'anonymous');
}
});
},
});
@@ -55,6 +51,14 @@ openerp.portal_anonymous = function(instance) {
}
return false;
},
// Avoid browser preloading
show_application: function() {
var params = $.deparam($.param.querystring());
if (!!params.token || !!params.login) {
return this.show_login();
}
return this._super();
},
});
};