From 81c99fde166fae60e445749ce5366002d12e8dc2 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 2 Jan 2025 20:39:02 +0530 Subject: [PATCH] fix: use fieldname & fieldtype instead of name & type in fields layout --- .../crm_fields_layout/crm_fields_layout.py | 28 +-- .../Controls/GridRowFieldsModal.vue | 6 +- frontend/src/components/FieldLayout.vue | 171 +++++++++++------- frontend/src/components/FieldLayoutEditor.vue | 22 +-- .../src/components/Modals/ContactModal.vue | 10 +- .../src/components/Modals/DataFieldsModal.vue | 10 +- frontend/src/components/Modals/DealModal.vue | 10 +- frontend/src/components/Modals/LeadModal.vue | 10 +- .../components/Modals/OrganizationModal.vue | 6 +- .../src/components/Modals/QuickEntryModal.vue | 6 +- .../src/components/Modals/SidePanelModal.vue | 2 +- frontend/src/components/SidePanelLayout.vue | 12 +- 12 files changed, 146 insertions(+), 147 deletions(-) diff --git a/crm/fcrm/doctype/crm_fields_layout/crm_fields_layout.py b/crm/fcrm/doctype/crm_fields_layout/crm_fields_layout.py index 525d11b0..395aef60 100644 --- a/crm/fcrm/doctype/crm_fields_layout/crm_fields_layout.py +++ b/crm/fcrm/doctype/crm_fields_layout/crm_fields_layout.py @@ -14,7 +14,7 @@ class CRMFieldsLayout(Document): @frappe.whitelist() -def get_fields_layout(doctype: str, type: str, no_reactivity=False): +def get_fields_layout(doctype: str, type: str): tabs = [] layout = None @@ -51,22 +51,8 @@ def get_fields_layout(doctype: str, type: str, no_reactivity=False): for field in column.get("fields") if column.get("fields") else []: field = next((f for f in fields if f.fieldname == field), None) if field: - field = { - "label": _(field.label), - "name": field.fieldname, - "type": field.fieldtype, - "options": getOptions(field), - "mandatory": field.reqd, - "read_only": field.read_only, - "placeholder": field.get("placeholder"), - "filters": field.get("link_filters"), - "hidden": field.get("hidden"), - "depends_on": "" if no_reactivity else field.get("depends_on"), - "mandatory_depends_on": "" - if no_reactivity - else field.get("mandatory_depends_on"), - } - column["fields"][column.get("fields").index(field["name"])] = field + field = field.as_dict() + column["fields"][column.get("fields").index(field["fieldname"])] = field return tabs or [] @@ -134,11 +120,3 @@ def get_default_layout(doctype: str): tabs[-1]["sections"][-1]["columns"][-1]["fields"].append(field.fieldname) return tabs - - -def getOptions(field): - if field.fieldtype == "Select" and field.options: - field.options = field.options.split("\n") - field.options = [{"label": _(option), "value": option} for option in field.options] - field.options.insert(0, {"label": "", "value": ""}) - return field.options diff --git a/frontend/src/components/Controls/GridRowFieldsModal.vue b/frontend/src/components/Controls/GridRowFieldsModal.vue index e5e95354..4776f601 100644 --- a/frontend/src/components/Controls/GridRowFieldsModal.vue +++ b/frontend/src/components/Controls/GridRowFieldsModal.vue @@ -36,7 +36,7 @@ :tabs="tabs.data" :doctype="_doctype" /> - + @@ -103,9 +103,7 @@ function saveChanges() { tab.sections.forEach((section) => { section.columns.forEach((column) => { if (!column.fields) return - column.fields = column.fields.map( - (field) => field.fieldname || field.name, - ) + column.fields = column.fields.map((field) => field.fieldname) }) }) }) diff --git a/frontend/src/components/FieldLayout.vue b/frontend/src/components/FieldLayout.vue index 033d59d7..e3e581c0 100644 --- a/frontend/src/components/FieldLayout.vue +++ b/frontend/src/components/FieldLayout.vue @@ -51,43 +51,43 @@ > {{ column.label }} - @@ -101,9 +101,7 @@ function saveChanges() { tab.sections.forEach((section) => { section.columns.forEach((column) => { if (!column.fields) return - column.fields = column.fields.map( - (field) => field.fieldname || field.name, - ) + column.fields = column.fields.map((field) => field.fieldname) }) }) }) diff --git a/frontend/src/components/Modals/SidePanelModal.vue b/frontend/src/components/Modals/SidePanelModal.vue index adc0a7fe..d352b44f 100644 --- a/frontend/src/components/Modals/SidePanelModal.vue +++ b/frontend/src/components/Modals/SidePanelModal.vue @@ -126,7 +126,7 @@ function saveChanges() { section.columns.forEach((column) => { if (!column.fields) return column.fields = column.fields - .map((field) => field.fieldname || field.name) + .map((field) => field.fieldname) .filter(Boolean) }) }) diff --git a/frontend/src/components/SidePanelLayout.vue b/frontend/src/components/SidePanelLayout.vue index b24ccfed..4e42f54a 100644 --- a/frontend/src/components/SidePanelLayout.vue +++ b/frontend/src/components/SidePanelLayout.vue @@ -67,9 +67,15 @@ class="w-[35%] min-w-20 shrink-0 truncate text-sm text-ink-gray-5" > {{ __(field.label) }} - {{ - field.reqd ? ' *' : '' - }} + *