From 1455afbda3cfa6ce917a68e2ced27ea7798ab836 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 26 Nov 2012 09:53:34 +0100 Subject: [IMP] auth_oauth: refactor js method on_oauth_sign_in() to enable overriding of the oauth state definition bzr revid: rco@openerp.com-20121126085334-df4xhhcwvwe40xgj --- addons/auth_oauth/static/src/js/auth_oauth.js | 31 +++++++++++++++------------ 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'addons/auth_oauth/static/src/js') diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js index 2aa66877d42..2c3aa86880c 100644 --- a/addons/auth_oauth/static/src/js/auth_oauth.js +++ b/addons/auth_oauth/static/src/js/auth_oauth.js @@ -35,27 +35,30 @@ openerp.auth_oauth = function(instance) { on_oauth_sign_in: function(ev) { ev.preventDefault(); var index = $(ev.target).data('index'); - var p = this.oauth_providers[index]; - var ret = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host); + var provider = this.oauth_providers[index]; + var return_url = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host); if (instance.session.debug) { - ret += '?debug'; + return_url += '?debug'; } - var dbname = self.$("form [name=db]").val(); - var state_object = { - d: dbname, - p: p.id - }; - var state = JSON.stringify(state_object); + var state = self._oauth_state(); var params = { response_type: 'token', - client_id: p.client_id, - redirect_uri: ret, - scope: p.scope, - state: state, + client_id: provider.client_id, + redirect_uri: return_url, + scope: provider.scope, + state: JSON.stringify(state), }; - var url = p.auth_endpoint + '?' + $.param(params); + var url = provider.auth_endpoint + '?' + $.param(params); window.location = url; }, + _oauth_state: function(provider) { + // return the state object sent back with the redirected uri + var dbname = self.$("form [name=db]").val(); + return { + d: dbname, + p: provider.id, + }; + }, }); }; -- cgit v1.2.3 From 22f30bc8dc037aa1590ec3e497eca2c9677f4fa5 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 27 Nov 2012 16:30:40 +0100 Subject: [FIX] auth_oauth: stupid mistake, using 'self' instead of 'this'... bzr revid: rco@openerp.com-20121127153040-aol52i523ysabah8 --- addons/auth_oauth/static/src/js/auth_oauth.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'addons/auth_oauth/static/src/js') diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js index 2c3aa86880c..c3a6aeb15ca 100644 --- a/addons/auth_oauth/static/src/js/auth_oauth.js +++ b/addons/auth_oauth/static/src/js/auth_oauth.js @@ -40,7 +40,7 @@ openerp.auth_oauth = function(instance) { if (instance.session.debug) { return_url += '?debug'; } - var state = self._oauth_state(); + var state = this._oauth_state(); var params = { response_type: 'token', client_id: provider.client_id, @@ -53,7 +53,7 @@ openerp.auth_oauth = function(instance) { }, _oauth_state: function(provider) { // return the state object sent back with the redirected uri - var dbname = self.$("form [name=db]").val(); + var dbname = this.$("form [name=db]").val(); return { d: dbname, p: provider.id, -- cgit v1.2.3 From 7c61b7142df3c599b02db791cab7f7c56a141b76 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Tue, 27 Nov 2012 16:35:32 +0100 Subject: [FIX] auth_oauth: add missing parameter in method call... bzr revid: rco@openerp.com-20121127153532-5jw6sm8ltcmoewrq --- addons/auth_oauth/static/src/js/auth_oauth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/auth_oauth/static/src/js') diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js index c3a6aeb15ca..fdf7baf607c 100644 --- a/addons/auth_oauth/static/src/js/auth_oauth.js +++ b/addons/auth_oauth/static/src/js/auth_oauth.js @@ -40,7 +40,7 @@ openerp.auth_oauth = function(instance) { if (instance.session.debug) { return_url += '?debug'; } - var state = this._oauth_state(); + var state = this._oauth_state(provider); var params = { response_type: 'token', client_id: provider.client_id, -- cgit v1.2.3 From 99e58b85668295da03fed66f99176d8dfc1e1edb Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Wed, 28 Nov 2012 10:28:21 +0100 Subject: [IMP] auth_oauth: make js code more robust bzr revid: rco@openerp.com-20121128092821-2pig86cyknkgkai5 --- addons/auth_oauth/static/src/js/auth_oauth.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'addons/auth_oauth/static/src/js') diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js index fdf7baf607c..c63a51ba83a 100644 --- a/addons/auth_oauth/static/src/js/auth_oauth.js +++ b/addons/auth_oauth/static/src/js/auth_oauth.js @@ -33,7 +33,9 @@ openerp.auth_oauth = function(instance) { this.$(".oe_login_pane form ul").after(buttons); }, on_oauth_sign_in: function(ev) { - ev.preventDefault(); + if (ev) { + ev.preventDefault(); + } var index = $(ev.target).data('index'); var provider = this.oauth_providers[index]; var return_url = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host); -- cgit v1.2.3 From d132b0d4b0de0fc5619ed871cb1ae05e99f10214 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Wed, 28 Nov 2012 10:36:17 +0100 Subject: [FIX] auth_oauth: revert not-so-smart change bzr revid: rco@openerp.com-20121128093617-gqy2zp5orckwz7nj --- addons/auth_oauth/static/src/js/auth_oauth.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'addons/auth_oauth/static/src/js') diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js index c63a51ba83a..fdf7baf607c 100644 --- a/addons/auth_oauth/static/src/js/auth_oauth.js +++ b/addons/auth_oauth/static/src/js/auth_oauth.js @@ -33,9 +33,7 @@ openerp.auth_oauth = function(instance) { this.$(".oe_login_pane form ul").after(buttons); }, on_oauth_sign_in: function(ev) { - if (ev) { - ev.preventDefault(); - } + ev.preventDefault(); var index = $(ev.target).data('index'); var provider = this.oauth_providers[index]; var return_url = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host); -- cgit v1.2.3 From 71639ff39399cf5f2242c9b04499fe629767b3e8 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Wed, 28 Nov 2012 11:53:42 +0100 Subject: [IMP] auth_oauth: factor js method to make it reusable bzr revid: rco@openerp.com-20121128105342-2djfotkdvzpcbsgb --- addons/auth_oauth/static/src/js/auth_oauth.js | 3 +++ 1 file changed, 3 insertions(+) (limited to 'addons/auth_oauth/static/src/js') diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js index fdf7baf607c..c24dab3d55a 100644 --- a/addons/auth_oauth/static/src/js/auth_oauth.js +++ b/addons/auth_oauth/static/src/js/auth_oauth.js @@ -36,6 +36,9 @@ openerp.auth_oauth = function(instance) { ev.preventDefault(); var index = $(ev.target).data('index'); var provider = this.oauth_providers[index]; + return this.do_oauth_sign_in(provider); + }, + do_oauth_sign_in: function(provider) { var return_url = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host); if (instance.session.debug) { return_url += '?debug'; -- cgit v1.2.3