Przeglądaj źródła

[fix] field.set_value must only validate_and_set_in_model, not parse (#3618)

version-14
Rushabh Mehta 8 lat temu
committed by Nabin Hait
rodzic
commit
0167361662
1 zmienionych plików z 8 dodań i 6 usunięć
  1. +8
    -6
      frappe/public/js/frappe/form/control.js

+ 8
- 6
frappe/public/js/frappe/form/control.js Wyświetl plik

@@ -98,9 +98,15 @@ frappe.ui.form.Control = Class.extend({
} }
}, },
set_value: function(value) { set_value: function(value) {
return this.parse_validate_and_set_in_model(value);
return this.validate_and_set_in_model(value);
}, },
parse_validate_and_set_in_model: function(value, e) { parse_validate_and_set_in_model: function(value, e) {
if(this.parse) {
value = this.parse(value);
}
return this.validate_and_set_in_model(value, e);
},
validate_and_set_in_model: function(value, e) {
var me = this; var me = this;
return new Promise(resolve => { return new Promise(resolve => {
if(this.inside_change_event) { if(this.inside_change_event) {
@@ -108,10 +114,6 @@ frappe.ui.form.Control = Class.extend({
return; return;
} }
this.inside_change_event = true; this.inside_change_event = true;
if(this.parse) {
value = this.parse(value);
}

var set = function(value) { var set = function(value) {
me.inside_change_event = false; me.inside_change_event = false;
me.set_model_value(value) me.set_model_value(value)
@@ -133,7 +135,7 @@ frappe.ui.form.Control = Class.extend({
} }


this.validate ? this.validate(value, set) : set(value); this.validate ? this.validate(value, set) : set(value);
})
});
}, },
get_parsed_value: function() { get_parsed_value: function() {
if(this.get_status()==='Write') { if(this.get_status()==='Write') {


Ładowanie…
Anuluj
Zapisz