From 0167361662b533a670a93fe2e54b0e3c8ed2f690 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Wed, 5 Jul 2017 17:50:47 +0530 Subject: [PATCH] [fix] field.set_value must only validate_and_set_in_model, not parse (#3618) --- frappe/public/js/frappe/form/control.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/form/control.js b/frappe/public/js/frappe/form/control.js index 39a82b3ee1..063456a881 100755 --- a/frappe/public/js/frappe/form/control.js +++ b/frappe/public/js/frappe/form/control.js @@ -98,9 +98,15 @@ frappe.ui.form.Control = Class.extend({ } }, 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) { + 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; return new Promise(resolve => { if(this.inside_change_event) { @@ -108,10 +114,6 @@ frappe.ui.form.Control = Class.extend({ return; } this.inside_change_event = true; - if(this.parse) { - value = this.parse(value); - } - var set = function(value) { me.inside_change_event = false; me.set_model_value(value) @@ -133,7 +135,7 @@ frappe.ui.form.Control = Class.extend({ } this.validate ? this.validate(value, set) : set(value); - }) + }); }, get_parsed_value: function() { if(this.get_status()==='Write') {