[IMP] minor change in form view fields

bzr revid: nicolas.vanhoren@openerp.com-20120924160721-hay0ar7ap22gjyk7
This commit is contained in:
niv-openerp 2012-09-24 18:07:21 +02:00
parent 65b97771b5
commit 70a1aac877
1 changed files with 9 additions and 4 deletions

View File

@ -331,7 +331,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
_(this.fields).each(function (field, f) {
field._dirty_flag = false;
field._inhibit_on_change_flag = true;
var result = field.set_value(self.datarecord[f] || false);
field._inhibit_on_change_flag = false;
set_values.push(result);
});
return $.when.apply(null, set_values).pipe(function() {
@ -580,7 +582,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
if (field) {
var value_ = result.value[f];
if (field.get_value() != value_) {
field._inhibit_on_change_flag = true;
field.set_value(value_);
field._inhibit_on_change_flag = false;
field._dirty_flag = true;
if (!_.contains(processed, field.name)) {
this.do_onchange(field, processed);
@ -1052,6 +1056,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.translatable_fields.push(field);
}
field.on('changed_value', this, function() {
if (field._inhibit_on_change_flag) {
return;
}
field._dirty_flag = true;
if (field.is_syntax_valid()) {
this.do_onchange(field);
@ -1948,8 +1955,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
this.on("change:force_readonly", this, test_effective_readonly);
test_effective_readonly.call(this);
this.on("change:value", this, function() {
if (! this._inhibit_on_change)
this.trigger('changed_value');
this.trigger('changed_value');
this._check_css_flags();
});
},
@ -1984,9 +1990,7 @@ instance.web.form.AbstractField = instance.web.form.FormWidget.extend(instance.w
this.$el.toggleClass('oe_form_required', this.get("required"));
},
set_value: function(value_) {
this._inhibit_on_change = true;
this.set({'value': value_});
this._inhibit_on_change = false;
},
get_value: function() {
return this.get('value');
@ -3321,6 +3325,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
this.dataset.index = 0;
}
self.is_setted.resolve();
this.trigger_on_change();
return self.reload_current_view();
},
get_value: function() {