From 24c2dfdf8853bb3bd6f7894b253c0c35d1de5951 Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Mon, 17 Feb 2025 17:44:02 +0530 Subject: [PATCH] fix(report_view): don't disallow editing just if a table exists If a table exists, go with the previous result. Else check and parse read_only conditions Signed-off-by: Akhil Narang --- .../js/frappe/views/reports/report_view.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 9fb875aed5..48971ec918 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -702,7 +702,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { } is_editable(df, data) { - return ( + if ( df && frappe.model.can_write(this.doctype) && // not a submitted doc or field is allowed to edit after submit @@ -713,12 +713,16 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { !df.is_virtual && !df.hidden && // not a standard field i.e., owner, modified_by, etc. - frappe.model.is_non_std_field(df.fieldname) && + frappe.model.is_non_std_field(df.fieldname) + ) { // don't check read_only_depends_on if there's child table fields - !this.meta.fields.some((df) => df.fieldtype === "Table") && - df.read_only_depends_on && - !this.evaluate_read_only_depends_on(df.read_only_depends_on, data) - ); + return ( + this.meta.fields.some((df) => df.fieldtype === "Table") || + (df.read_only_depends_on && + !this.evaluate_read_only_depends_on(df.read_only_depends_on, data)) + ); + } + return false; } get_data(values) {