[FIX] fixed anonymous autologin, and autojump to oauth provider directly
bzr revid: vta@openerp.com-20121218153255-14mwitd6q06bbyor
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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();
|
||||
},
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user