From 42952bb7cf514b43eac598397e7bfad4cd943bc7 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Wed, 5 Feb 2014 10:17:49 +0100 Subject: [PATCH 1/5] [REM] Remove LoginForm javascript bzr revid: fme@openerp.com-20140205091749-39333kr3hz0dt4wg --- addons/web/controllers/main.py | 5 ++++- addons/web/static/src/js/chrome.js | 20 +------------------- addons/web/views/webclient_templates.xml | 21 +++++---------------- 3 files changed, 10 insertions(+), 36 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 02a909c5c92..d87d2b3cb1e 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -637,7 +637,10 @@ class Home(http.Controller): if uid is not False: return http.redirect_with_hash(redirect) values['error'] = "Wrong login/password" - return render_bootstrap_template(request.session.db, 'web.login', values, lazy=True) + + def callback(template, values): + return request.registry['ir.ui.view'].render(request.cr, openerp.SUPERUSER_ID, template, values) + return LazyResponse(callback, template='web.login', values=values) @http.route('/login', type='http', auth="none") def login(self, db, login, key, redirect="/web", **kw): diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index afa761d7025..377c5755ce9 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -513,7 +513,7 @@ instance.web.DatabaseManager = instance.web.Widget.extend({ var fields = $(form).serializeArray(); self.rpc("/web/database/create", {'fields': fields}).done(function(result) { if (result) { - instance.web.redirect('/web') + instance.web.redirect('/web'); } else { alert("Failed to create database"); } @@ -1483,24 +1483,6 @@ instance.web.embed = function (origin, dbname, login, key, action, options) { client.insertAfter(currentScript); }; -openerp.web.LoginForm = openerp.web.Widget.extend({ - init: function ($form) { - this._super(/* no parent */); - this.setElement($form); - this.$el.on('submit', this.on_submit); - this.start(); - }, - start: function () { - if (location.hash) { - this.$el.attr('action', this.$el.attr('action') + location.hash); - } - return this._super(); - }, - on_submit: function () { - return true; - }, -}); - })(); // vim:et fdc=0 fdl=0 foldnestmax=3 fdm=syntax: diff --git a/addons/web/views/webclient_templates.xml b/addons/web/views/webclient_templates.xml index 0e08f743f6c..6e80af9c32c 100644 --- a/addons/web/views/webclient_templates.xml +++ b/addons/web/views/webclient_templates.xml @@ -47,6 +47,10 @@ From af668b891c074f2364e1494895306b6f53dda08f Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 11 Feb 2014 12:36:03 +0100 Subject: [PATCH 4/5] [FIX] pass request.context in /web/login bzr revid: fme@openerp.com-20140211113603-0wsr288gejz416dw --- addons/web/controllers/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index d87d2b3cb1e..afd668150df 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -638,9 +638,9 @@ class Home(http.Controller): return http.redirect_with_hash(redirect) values['error'] = "Wrong login/password" - def callback(template, values): - return request.registry['ir.ui.view'].render(request.cr, openerp.SUPERUSER_ID, template, values) - return LazyResponse(callback, template='web.login', values=values) + def callback(template, values, context): + return request.registry['ir.ui.view'].render(request.cr, openerp.SUPERUSER_ID, template, values, context=context) + return LazyResponse(callback, template='web.login', values=values, context=request.context) @http.route('/login', type='http', auth="none") def login(self, db, login, key, redirect="/web", **kw): From 92b8aafe97d94deacb06b37503a05d80b25dbba8 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 11 Feb 2014 12:39:16 +0100 Subject: [PATCH 5/5] [FIX] /web/login: Set request.uid on auth=none so it's correct if overloaded with auth="public" bzr revid: fme@openerp.com-20140211113916-2to1g41pccimbsgq --- addons/web/controllers/main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index afd668150df..998aeae3e37 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -628,6 +628,9 @@ class Home(http.Controller): def web_login(self, redirect=None, **kw): ensure_db() + if not request.uid: + request.uid = openerp.SUPERUSER_ID + values = request.params.copy() if not redirect: redirect = '/web?' + request.httprequest.query_string @@ -639,7 +642,7 @@ class Home(http.Controller): values['error'] = "Wrong login/password" def callback(template, values, context): - return request.registry['ir.ui.view'].render(request.cr, openerp.SUPERUSER_ID, template, values, context=context) + return request.registry['ir.ui.view'].render(request.cr, request.uid, template, values, context=context) return LazyResponse(callback, template='web.login', values=values, context=request.context) @http.route('/login', type='http', auth="none")