From 295e43dc8d32eb3bb2b85a0346bf6a36eae768a5 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Mon, 15 May 2023 17:36:48 +0530 Subject: [PATCH] fix: validate redirect to customize form based on doctype --- frappe/desk/page/form_builder/form_builder.js | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/frappe/desk/page/form_builder/form_builder.js b/frappe/desk/page/form_builder/form_builder.js index 4267d254a7..454bdcae78 100644 --- a/frappe/desk/page/form_builder/form_builder.js +++ b/frappe/desk/page/form_builder/form_builder.js @@ -62,7 +62,26 @@ function load_form_builder(wrapper) { ], primary_action_label: __("Edit"), primary_action({ doctype, customize }) { - frappe.set_route("form-builder", doctype, customize ? "customize" : null); + if (customize) { + frappe.model.with_doctype(doctype).then(() => { + let meta = frappe.get_meta(doctype); + if (in_list(frappe.model.core_doctypes_list, this.doctype)) + frappe.throw(__("Core DocTypes cannot be customized.")); + + if (meta.issingle) + frappe.throw(__("Single DocTypes cannot be customized.")); + + if (meta.custom) + frappe.throw( + __( + "Only standard DocTypes are allowed to be customized from Customize Form." + ) + ); + frappe.set_route("form-builder", doctype, "customize"); + }); + } else { + frappe.set_route("form-builder", doctype); + } }, secondary_action_label: __("Create New DocType"), secondary_action() {