From 39c82856a51d942a6135f58b8300dce36ceb6e17 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 8 Dec 2022 16:38:27 +0530 Subject: [PATCH] fix: only make fetch_from field read only if no input (#19192) (cherry picked from commit 7578be8191e0f1e476a9ed71483371ab2ef1b6d7) --- frappe/public/js/frappe/form/controls/base_input.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/base_input.js b/frappe/public/js/frappe/form/controls/base_input.js index 9a0a0c4dcf9e..193cb9374056 100644 --- a/frappe/public/js/frappe/form/controls/base_input.js +++ b/frappe/public/js/frappe/form/controls/base_input.js @@ -52,6 +52,14 @@ frappe.ui.form.ControlInput = class ControlInput extends frappe.ui.form.Control } } + read_only_because_of_fetch_from() { + return ( + this.df.fetch_from && + !this.df.fetch_if_empty && + this.frm?.doc?.[this.df.fetch_from.split(".")[0]] + ); + } + // update input value, label, description // display (show/hide/read-only), // mandatory style on refresh @@ -82,7 +90,7 @@ frappe.ui.form.ControlInput = class ControlInput extends frappe.ui.form.Control me.value = me.doc[me.df.fieldname] || ""; } - let is_fetch_from_read_only = me.df.fetch_from && !me.df.fetch_if_empty; + let is_fetch_from_read_only = me.read_only_because_of_fetch_from(); if (me.can_write() && !is_fetch_from_read_only) { me.disp_area && $(me.disp_area).toggle(false);