From 962fff15c4a350362edeedabb5cf2a452972f045 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Mon, 18 Jan 2021 20:49:09 +0530 Subject: [PATCH 1/6] Link Field Validation doesn't use Filter criteria defined for link field In link field if we enter invalid i.e not available record it will clear field but if we enter valid record that is not available in filter but available in db than it will accept that record --- frappe/public/js/frappe/form/controls/link.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 4c0fe39f60..019ea5ca58 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -455,6 +455,11 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ fetch = this.frm.fetch_dict[df.fieldname].columns.join(', '); } + // check if value exist in the filtered dropdown values + if(this.$input.cache[doctype][""] && !this.$input.cache[doctype][""].some(d => d.value === value)){ + value = "" + } + return frappe.call({ method:'frappe.desk.form.utils.validate_link', type: "GET", From ebcb8438de691eb085528912253a0b17ee03dee9 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Mon, 18 Jan 2021 21:45:07 +0530 Subject: [PATCH 2/6] fix: semantic commit and sider issues --- frappe/public/js/frappe/form/controls/link.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 019ea5ca58..6ac10c8534 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -456,8 +456,8 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ } // check if value exist in the filtered dropdown values - if(this.$input.cache[doctype][""] && !this.$input.cache[doctype][""].some(d => d.value === value)){ - value = "" + if (this.$input.cache[doctype][""] && !this.$input.cache[doctype][""].some(d => d.value === value)) { + value = ""; } return frappe.call({ From 83822b14c6e6aded305c00fefee679833c4ee2ab Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 19 Jan 2021 14:07:19 +0530 Subject: [PATCH 3/6] fix: Updated if condition --- frappe/public/js/frappe/form/controls/link.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 6ac10c8534..77716ee60a 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -456,7 +456,7 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ } // check if value exist in the filtered dropdown values - if (this.$input.cache[doctype][""] && !this.$input.cache[doctype][""].some(d => d.value === value)) { + if (this.$input.cache[doctype] && !this.$input.cache[doctype][""].some(d => d.value === value)) { value = ""; } From bcae1cc294fac0aeeb90f68d57f7db1f673865aa Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 19 Jan 2021 22:29:23 +0530 Subject: [PATCH 4/6] revert --- frappe/public/js/frappe/form/controls/link.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 77716ee60a..019ea5ca58 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -456,8 +456,8 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ } // check if value exist in the filtered dropdown values - if (this.$input.cache[doctype] && !this.$input.cache[doctype][""].some(d => d.value === value)) { - value = ""; + if(this.$input.cache[doctype][""] && !this.$input.cache[doctype][""].some(d => d.value === value)){ + value = "" } return frappe.call({ From 099474a441f922fab40e8ac1aa1fc26c851b7344 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 19 Jan 2021 22:29:30 +0530 Subject: [PATCH 5/6] Revert "Link Field Validation doesn't use Filter criteria defined for link field" This reverts commit 962fff15c4a350362edeedabb5cf2a452972f045. --- frappe/public/js/frappe/form/controls/link.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/link.js b/frappe/public/js/frappe/form/controls/link.js index 019ea5ca58..4c0fe39f60 100644 --- a/frappe/public/js/frappe/form/controls/link.js +++ b/frappe/public/js/frappe/form/controls/link.js @@ -455,11 +455,6 @@ frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({ fetch = this.frm.fetch_dict[df.fieldname].columns.join(', '); } - // check if value exist in the filtered dropdown values - if(this.$input.cache[doctype][""] && !this.$input.cache[doctype][""].some(d => d.value === value)){ - value = "" - } - return frappe.call({ method:'frappe.desk.form.utils.validate_link', type: "GET", From bddb7034cfe67f3669c1a97b915621b03cab422d Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 19 Jan 2021 22:36:33 +0530 Subject: [PATCH 6/6] fix: Geolocation field with Column Break & Section Break (Collapsible) does not seems to work. --- frappe/public/js/frappe/form/controls/geolocation.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/geolocation.js b/frappe/public/js/frappe/form/controls/geolocation.js index 9e4d1d82ec..dfd0f4d174 100644 --- a/frappe/public/js/frappe/form/controls/geolocation.js +++ b/frappe/public/js/frappe/form/controls/geolocation.js @@ -17,7 +17,7 @@ frappe.ui.form.ControlGeolocation = frappe.ui.form.ControlData.extend({ this.map_area.prependTo($input_wrapper); this.$wrapper.find('.control-input').addClass("hidden"); - if ($input_wrapper.is(':visible')) { + if (this.frm) { this.make_map(); } else { $(document).on('frappe.ui.Dialog:shown', () => {