From de101478138785f0ac9ac9740dc07aaa0eaed194 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 16 Apr 2012 17:08:39 +0200 Subject: [PATCH] [imp] small refactoring in form view bzr revid: nicolas.vanhoren@openerp.com-20120416150839-vr45ozrqffc72qmk --- addons/web/static/src/js/view_form.js | 9 ++++++--- addons/web/static/src/js/view_list_editable.js | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index e5824d64f59..6863d49f1d1 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -791,7 +791,11 @@ openerp.web.FormView = openerp.web.View.extend({ }); d.template = 'FormView.set_default'; d.open(); - } + }, + register_field: function(field, name) { + this.fields[name] = field; + this.fields_order.push(name); + }, }); /** @@ -855,6 +859,7 @@ openerp.web.form.FormRenderingEngine = openerp.web.Class.extend({ w.set_input_id($label.attr("for")); } self.alter_field(w); + self.view.register_field(w, $elem.attr("name")); w.replace($elem); }); _.each(this.tags_to_init, function($elem) { @@ -1621,8 +1626,6 @@ openerp.web.form.AbstractField = openerp.web.form.Widget.extend(/** @lends opene this._super(field_manager, node); this.name = this.node.attrs.name; this.value = false; - this.view.fields[this.name] = this; - this.view.fields_order.push(this.name); this.field = this.view.fields_view.fields[this.name] || {}; this.set({required: this.modifiers['required'] === true}); this.invalid = this.dirty = false; diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js index aea7f6837c1..4047fcd6500 100644 --- a/addons/web/static/src/js/view_list_editable.js +++ b/addons/web/static/src/js/view_list_editable.js @@ -413,6 +413,7 @@ openerp.web.list_editable = function (openerp) { } var obj = self.view.fields_registry.get_object(key); var w = new (obj)(self.view, openerp.web.xml_to_json(el)); + self.view.register_field(w, $elem.attr("name")); w.appendTo($td); $td.appendTo($element); });