From dff9ca8c2db805a03af9e30959f6c346e725c2e7 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Sat, 15 Jun 2024 11:02:27 +0530 Subject: [PATCH] fix: save changes using layout builder --- crm/api/doc.py | 17 ++++ .../src/components/Settings/FieldsLayout.vue | 82 +++++++++++++------ 2 files changed, 76 insertions(+), 23 deletions(-) diff --git a/crm/api/doc.py b/crm/api/doc.py index c1739280..91b72b52 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -194,6 +194,23 @@ def get_fields_layout(doctype: str, type: str): return sections or [] + +@frappe.whitelist() +def save_fields_layout(doctype: str, type: str, layout: str): + if frappe.db.exists("CRM Fields Layout", {"dt": doctype, "type": type}): + doc = frappe.get_doc("CRM Fields Layout", {"dt": doctype, "type": type}) + else: + doc = frappe.new_doc("CRM Fields Layout") + + doc.update({ + "dt": doctype, + "type": type, + "layout": layout, + }) + doc.save(ignore_permissions=True) + + return doc.layout + def get_fields_meta(DocField, doctype, allowed_fieldtypes, restricted_fields): parent = "parent" if DocField._table_name == "tabDocField" else "dt" return ( diff --git a/frontend/src/components/Settings/FieldsLayout.vue b/frontend/src/components/Settings/FieldsLayout.vue index 256c026f..b53642c2 100644 --- a/frontend/src/components/Settings/FieldsLayout.vue +++ b/frontend/src/components/Settings/FieldsLayout.vue @@ -1,12 +1,32 @@