diff options
| author | niv-openerp <nicolas.vanhoren@openerp.com> | 2012-04-17 12:09:55 +0200 |
|---|---|---|
| committer | niv-openerp <nicolas.vanhoren@openerp.com> | 2012-04-17 12:09:55 +0200 |
| commit | ff6f2a9e003efc06d98672dfc1659f2afabc0d2e (patch) | |
| tree | f8ede6795934ccdcb99230a2afff54bc2f8e80e8 | |
| parent | ddc87222a7b88223a2d0b87d2d72edd4e175e81f (diff) | |
| parent | f03e76c40972bd29ce0b5cc969b683328382bd79 (diff) | |
[imp] small refactoring in form view
bzr revid: nicolas.vanhoren@openerp.com-20120417100955-sn7crgo271aeylj8
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 9 | ||||
| -rw-r--r-- | 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 a3f0d82bb63..c462ae49798 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -850,7 +850,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); + }, }); /** @@ -914,6 +918,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) { @@ -1625,8 +1630,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..41f8c012731 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, $(el).attr("name")); w.appendTo($td); $td.appendTo($element); }); |
