From 5bb27bda8dfcab45cf4ac51303b265e3ae337b60 Mon Sep 17 00:00:00 2001 From: Sagar Vora <16315650+sagarvora@users.noreply.github.com> Date: Wed, 11 Mar 2026 02:08:26 +0000 Subject: [PATCH] fix: remove `depends_on` hack for child tables (#37909) --- frappe/core/doctype/docfield/docfield.json | 4 ++-- frappe/public/js/form_builder/utils.js | 3 --- frappe/public/js/frappe/form/grid_row.js | 3 --- frappe/public/js/frappe/form/layout.js | 3 --- frappe/public/js/frappe/form/save.js | 3 --- frappe/public/js/frappe/views/reports/report_view.js | 3 --- 6 files changed, 2 insertions(+), 17 deletions(-) diff --git a/frappe/core/doctype/docfield/docfield.json b/frappe/core/doctype/docfield/docfield.json index fe7f5e78ef..cdfa20d072 100644 --- a/frappe/core/doctype/docfield/docfield.json +++ b/frappe/core/doctype/docfield/docfield.json @@ -338,7 +338,7 @@ }, { "default": "0", - "depends_on": "eval: parent.is_submittable", + "depends_on": "eval: parent.is_submittable || parent.istable", "fieldname": "allow_on_submit", "fieldtype": "Check", "label": "Allow on Submit", @@ -647,7 +647,7 @@ "index_web_pages_for_search": 1, "istable": 1, "links": [], - "modified": "2026-02-06 15:13:03.688027", + "modified": "2026-03-10 21:39:58.400441", "modified_by": "Administrator", "module": "Core", "name": "DocField", diff --git a/frappe/public/js/form_builder/utils.js b/frappe/public/js/form_builder/utils.js index 2c8968aa09..d83c32fa8d 100644 --- a/frappe/public/js/form_builder/utils.js +++ b/frappe/public/js/form_builder/utils.js @@ -214,9 +214,6 @@ export function evaluate_depends_on_value(expression, doc) { } else if (expression.substr(0, 5) == "eval:") { try { out = frappe.utils.eval(expression.substr(5), { doc, parent }); - if (parent && parent.istable && expression.includes("is_submittable")) { - out = true; - } } catch (e) { frappe.throw(__('Invalid "depends_on" expression')); } diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 348bd13840..ba79ff9820 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -836,9 +836,6 @@ export default class GridRow { } else if (expression.substr(0, 5) == "eval:") { try { out = frappe.utils.eval(expression.substr(5), { doc, parent }); - if (parent && parent.istable && expression.includes("is_submittable")) { - out = true; - } } catch (e) { frappe.throw(__('Invalid "depends_on" expression')); } diff --git a/frappe/public/js/frappe/form/layout.js b/frappe/public/js/frappe/form/layout.js index d1dc39a231..1168008d6e 100644 --- a/frappe/public/js/frappe/form/layout.js +++ b/frappe/public/js/frappe/form/layout.js @@ -802,9 +802,6 @@ frappe.ui.form.Layout = class Layout { } else if (expression.substr(0, 5) == "eval:") { try { out = frappe.utils.eval(expression.substr(5), { doc, parent }); - if (parent && parent.istable && expression.includes("is_submittable")) { - out = true; - } } catch (e) { frappe.throw(__('Invalid "depends_on" expression')); } diff --git a/frappe/public/js/frappe/form/save.js b/frappe/public/js/frappe/form/save.js index 5c39a0b982..9813f180dc 100644 --- a/frappe/public/js/frappe/form/save.js +++ b/frappe/public/js/frappe/form/save.js @@ -210,9 +210,6 @@ frappe.ui.form.check_mandatory = function (frm) { } else if (expression.substr(0, 5) == "eval:") { try { out = frappe.utils.eval(expression.substr(5), { doc, parent }); - if (parent && parent.istable && expression.includes("is_submittable")) { - out = true; - } } catch (e) { frappe.throw(__('Invalid "mandatory_depends_on" expression')); } diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 9bedbf0e11..26383ae2e1 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -763,9 +763,6 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { } else if (expression.substr(0, 5) == "eval:") { try { out = frappe.utils.eval(expression.substr(5), { doc: data }); - if (parent && parent.istable && expression.includes("is_submittable")) { - out = true; - } } catch (e) { frappe.throw(__('Invalid "depends_on" expression')); }