From 721c5321e3c2b7f4897bb542ce306ad6cce02b4c Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Sun, 29 Dec 2024 18:01:21 +0530 Subject: [PATCH] feat: update table columns in user settings --- crm/api/doc.py | 9 +- .../src/components/Activities/DataFields.vue | 2 +- frontend/src/components/Controls/Grid.vue | 26 ++- .../Controls/GridFieldsEditorModal.vue | 158 ++++++++++++++++++ frontend/src/components/FieldLayout.vue | 1 + frontend/src/stores/meta.js | 26 +++ 6 files changed, 214 insertions(+), 8 deletions(-) create mode 100644 frontend/src/components/Controls/GridFieldsEditorModal.vue diff --git a/crm/api/doc.py b/crm/api/doc.py index 266db1cc..64d14f6f 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -1,10 +1,11 @@ -import frappe import json + +import frappe from frappe import _ -from frappe.model.document import get_controller from frappe.model import no_value_fields -from pypika import Criterion +from frappe.model.document import get_controller from frappe.utils import make_filter_tuple +from pypika import Criterion from crm.api.views import get_views from crm.fcrm.doctype.crm_form_script.crm_form_script import get_form_script @@ -675,7 +676,7 @@ def get_assigned_users(doctype, name, default_assigned_to=None): @frappe.whitelist() def get_fields(doctype: str, allow_all_fieldtypes: bool = False): - not_allowed_fieldtypes = list(frappe.model.no_value_fields) + ["Read Only"] + not_allowed_fieldtypes = [*list(frappe.model.no_value_fields), "Read Only"] if allow_all_fieldtypes: not_allowed_fieldtypes = [] fields = frappe.get_meta(doctype).fields diff --git a/frontend/src/components/Activities/DataFields.vue b/frontend/src/components/Activities/DataFields.vue index 851bf2ad..7d3d7380 100644 --- a/frontend/src/components/Activities/DataFields.vue +++ b/frontend/src/components/Activities/DataFields.vue @@ -31,7 +31,7 @@ {{ __('Loading...') }} -
+
-
+
+ +
diff --git a/frontend/src/components/FieldLayout.vue b/frontend/src/components/FieldLayout.vue index 31c9ecf9..f26a2146 100644 --- a/frontend/src/components/FieldLayout.vue +++ b/frontend/src/components/FieldLayout.vue @@ -81,6 +81,7 @@ v-model="data[field.name]" :fields="field.fields" :doctype="field.options" + :parentDoctype="doctype" /> callback?.(), + }) + } + return callback?.() + } + return { meta, doctypeMeta, userSettings, getFields, getGridSettings, + saveUserSettings, getFormattedFloat, getFormattedPercent, getFormattedCurrency,