From 781fbd3a2613f128c5bb0d0d6fc11c9e9231db72 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 26 Jul 2012 17:47:16 +0200 Subject: [PATCH] [FIX] corrected some old code about focus bzr revid: nicolas.vanhoren@openerp.com-20120726154716-1sua5q2teqeba7r0 --- addons/web/controllers/main.py | 5 +++-- addons/web/static/src/js/view_form.js | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 76eccbda159..da034aa88b6 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -194,8 +194,9 @@ class WebClient(openerpweb.Controller): if mods is not None: path += '?mods=' + mods return [path] - sugar = req.httprequest.environ["QUERY_STRING"].count("no_sugar") == 0 - if sugar: + no_sugar = req.httprequest.environ["QUERY_STRING"].count("no_sugar") >= 1 + no_sugar = no_sugar or req.httprequest.environ.get('HTTP_REFERER', '').count("no_sugar") >= 1 + if not no_sugar: return ['%s?debug=%s' % (wp, os.path.getmtime(fp)) for fp, wp in self.manifest_glob(req, mods, extension)] else: return [el[1] for el in self.manifest_glob(req, mods, extension)] diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 3b53cf6f060..ec414461b64 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -647,11 +647,12 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM }); var fields_order = self.fields_order.slice(0); if (self.default_focus_field) { - fields_order.unshift(self.default_focus_field); + fields_order.unshift(self.default_focus_field.name); } for (var i = 0; i < fields_order.length; i += 1) { var field = self.fields[fields_order[i]]; - if (!field.get('effective_invisible') && !field.get('effective_readonly') && field.focus() !== false) { + if (!field.get('effective_invisible') && !field.get('effective_readonly')) { + field.focus(); break; } } @@ -986,7 +987,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM register_field: function(field, name) { this.fields[name] = field; this.fields_order.push(name); - if (field.node.attrs.default_focus == '1') { + if (JSON.parse(field.node.attrs.default_focus || "0")) { this.default_focus_field = field; } @@ -1692,7 +1693,7 @@ instance.web.form.WidgetButton = instance.web.form.FormWidget.extend({ this._super(view, node); this.force_disabled = false; this.string = (this.node.attrs.string || '').replace(/_/g, ''); - if (this.node.attrs.default_focus == '1') { + if (JSON.parse(this.node.attrs.default_focus || "0")) { // TODO fme: provide enter key binding to widgets this.view.default_focus_button = this; }