From 33b23022d4f7cfc78f970759c29a9f36796d2756 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Thu, 9 Nov 2023 13:41:22 +0100 Subject: [PATCH 1/3] fix: move field description to doctype definition --- .../desk/doctype/number_card/number_card.js | 44 ------------------- .../desk/doctype/number_card/number_card.json | 4 +- 2 files changed, 3 insertions(+), 45 deletions(-) diff --git a/frappe/desk/doctype/number_card/number_card.js b/frappe/desk/doctype/number_card/number_card.js index ac881d47cf..25b4d8e1e8 100644 --- a/frappe/desk/doctype/number_card/number_card.js +++ b/frappe/desk/doctype/number_card/number_card.js @@ -23,8 +23,6 @@ frappe.ui.form.on("Number Card", { frm.disable_form(); } frm.filters = eval(frm.doc.filters_config); - frm.trigger("set_filters_description"); - frm.trigger("set_method_description"); frm.trigger("render_filters_table"); } frm.trigger("set_parent_document_type"); @@ -68,49 +66,7 @@ frappe.ui.form.on("Number Card", { frm.set_df_property("dynamic_filters_section", "hidden", 1); }, - set_filters_description: function (frm) { - if (frm.doc.type == "Custom") { - frm.fields_dict.filters_config.set_description(` - Set the filters here. For example: -
-
-[{
-	fieldname: "company",
-	label: __("Company"),
-	fieldtype: "Link",
-	options: "Company",
-	default: frappe.defaults.get_user_default("Company"),
-	reqd: 1
-},
-{
-	fieldname: "account",
-	label: __("Account"),
-	fieldtype: "Link",
-	options: "Account",
-	reqd: 1
-}]
-
`); - } - }, - - set_method_description: function (frm) { - if (frm.doc.type == "Custom") { - frm.fields_dict.method.set_description(` - Set the path to a whitelisted function that will return the data for the number card in the format: -
-
-{
-	"value": value,
-	"fieldtype": "Currency",
-	"route_options": {"from_date": "2023-05-23"},
-	"route": ["query-report", "Permitted Documents For User"]
-}
-
`); - } - }, - type: function (frm) { - frm.trigger("set_filters_description"); if (frm.doc.type == "Report") { frm.set_query("report_name", () => { return { diff --git a/frappe/desk/doctype/number_card/number_card.json b/frappe/desk/doctype/number_card/number_card.json index 50447a7bdb..9a79c38e34 100644 --- a/frappe/desk/doctype/number_card/number_card.json +++ b/frappe/desk/doctype/number_card/number_card.json @@ -165,6 +165,7 @@ }, { "depends_on": "eval: doc.type == 'Custom'", + "description": "Set the path to a whitelisted function that will return the data for the number card in the format:\n\n
\n{\n\t\"value\": value,\n\t\"fieldtype\": \"Currency\",\n\t\"route_options\": {\"from_date\": \"2023-05-23\"},\n\t\"route\": [\"query-report\", \"Permitted Documents For User\"]\n}
", "fieldname": "method", "fieldtype": "Data", "label": "Method", @@ -177,6 +178,7 @@ "label": "Custom Configuration" }, { + "description": "Set the filters here. For example:\n
\n[{\n\tfieldname: \"company\",\n\tlabel: __(\"Company\"),\n\tfieldtype: \"Link\",\n\toptions: \"Company\",\n\tdefault: frappe.defaults.get_user_default(\"Company\"),\n\treqd: 1\n},\n{\n\tfieldname: \"account\",\n\tlabel: __(\"Account\"),\n\tfieldtype: \"Link\",\n\toptions: \"Account\",\n\treqd: 1\n}]\n
", "fieldname": "filters_config", "fieldtype": "Code", "label": "Filters Configuration", @@ -200,7 +202,7 @@ } ], "links": [], - "modified": "2023-08-28 22:23:56.286804", + "modified": "2023-11-09 13:25:51.394005", "modified_by": "Administrator", "module": "Desk", "name": "Number Card", From 69e95edc6fce93ab6957fa689d4035e0661ed937 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Thu, 9 Nov 2023 13:47:07 +0100 Subject: [PATCH 2/3] fix: don't copy value of "Is Standard" The field becomes read only in production, so after "Menu" > "Duplicate", it wasn't possible to disable "Is Standard " for the copy. --- frappe/desk/doctype/number_card/number_card.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/desk/doctype/number_card/number_card.json b/frappe/desk/doctype/number_card/number_card.json index 9a79c38e34..dbe5177bdb 100644 --- a/frappe/desk/doctype/number_card/number_card.json +++ b/frappe/desk/doctype/number_card/number_card.json @@ -117,6 +117,7 @@ "fieldname": "is_standard", "fieldtype": "Check", "label": "Is Standard", + "no_copy": 1, "read_only_depends_on": "eval: !frappe.boot.developer_mode" }, { @@ -202,7 +203,7 @@ } ], "links": [], - "modified": "2023-11-09 13:25:51.394005", + "modified": "2023-11-09 13:44:00.280846", "modified_by": "Administrator", "module": "Desk", "name": "Number Card", From 20ef73302c0cbeead37222d752fb589b591ae888 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Thu, 9 Nov 2023 13:48:34 +0100 Subject: [PATCH 3/3] fix: disable only save button, not the entire form Disable form is a one way street and cannot adapt to changed conditions --- frappe/desk/doctype/number_card/number_card.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappe/desk/doctype/number_card/number_card.js b/frappe/desk/doctype/number_card/number_card.js index 25b4d8e1e8..ea60e2a194 100644 --- a/frappe/desk/doctype/number_card/number_card.js +++ b/frappe/desk/doctype/number_card/number_card.js @@ -4,8 +4,11 @@ frappe.ui.form.on("Number Card", { refresh: function (frm) { if (!frappe.boot.developer_mode && frm.doc.is_standard) { - frm.disable_form(); + frm.disable_save(); + } else { + frm.enable_save(); } + frm.set_df_property("filters_section", "hidden", 1); frm.set_df_property("dynamic_filters_section", "hidden", 1); frm.trigger("set_options"); @@ -19,9 +22,6 @@ frappe.ui.form.on("Number Card", { } if (frm.doc.type == "Custom") { - if (!frappe.boot.developer_mode) { - frm.disable_form(); - } frm.filters = eval(frm.doc.filters_config); frm.trigger("render_filters_table"); }