diff options
| author | Fabien Meghazi <fme@openerp.com> | 2012-01-16 12:14:31 +0100 |
|---|---|---|
| committer | Fabien Meghazi <fme@openerp.com> | 2012-01-16 12:14:31 +0100 |
| commit | 0618ebfe2786c6cf0d79e15e8d1cfacb291e89a9 (patch) | |
| tree | 02fe4f1d8f0ba83f4d493d0ca5675d6e2d7243a8 /addons/web/static/src/js/view_form.js | |
| parent | 064a50bcde5f1c65a17f4feb42348b5809081085 (diff) | |
[IMP] FormView: Only show invalid field on_ui_change and do_save
bzr revid: fme@openerp.com-20120116111431-8zm8883ull42ljgx
Diffstat (limited to 'addons/web/static/src/js/view_form.js')
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index ebe1ca26785..2c3808ffc15 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -40,7 +40,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# this.fields = {}; this.fields_order = []; this.datarecord = {}; - this.show_invalid = true; this.default_focus_field = null; this.default_focus_button = null; this.registry = openerp.web.form.widgets; @@ -179,7 +178,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# }); return $.when.apply(null, set_values).pipe(function() { if (!record.id) { - self.show_invalid = false; // New record: Second pass in order to trigger the onchanges // respecting the fields order defined in the view _.each(self.fields_order, function(field_name) { @@ -192,7 +190,6 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# } self.on_form_changed(); self.is_initialized.resolve(); - self.show_invalid = true; self.do_update_pager(record.id == null); if (self.sidebar) { self.sidebar.attachments.do_update(); @@ -429,7 +426,7 @@ openerp.web.FormView = openerp.web.View.extend( /** @lends openerp.web.FormView# f = self.fields[f]; if (!f.is_valid()) { form_invalid = true; - f.update_dom(); + f.update_dom(true); if (!first_invalid_field) { first_invalid_field = f; } @@ -1116,7 +1113,7 @@ openerp.web.form.WidgetButton = openerp.web.form.Widget.extend({ }); }, update_dom: function() { - this._super(); + this._super.apply(this, arguments); this.check_disable(); }, check_disable: function() { @@ -1238,7 +1235,7 @@ openerp.web.form.Field = openerp.web.form.Widget.extend(/** @lends openerp.web.f get_on_change_value: function() { return this.get_value(); }, - update_dom: function() { + update_dom: function(show_invalid) { this._super.apply(this, arguments); if (this.field.translate) { this.$element.find('.oe_field_translate').toggle(!!this.view.datarecord.id); @@ -1246,7 +1243,7 @@ openerp.web.form.Field = openerp.web.form.Widget.extend(/** @lends openerp.web.f if (!this.disable_utility_classes) { this.$element.toggleClass('disabled', this.readonly); this.$element.toggleClass('required', this.required); - if (this.view.show_invalid) { + if (show_invalid) { this.$element.toggleClass('invalid', !this.is_valid()); } } @@ -1259,7 +1256,7 @@ openerp.web.form.Field = openerp.web.form.Widget.extend(/** @lends openerp.web.f this.view.do_onchange(this); this.view.on_form_changed(); } else { - this.update_dom(); + this.update_dom(true); } }, validate: function() { |
