From 2b6e16a93463ef2a5bcf2109b5cb02c6f56cf154 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Tue, 28 Nov 2023 11:32:39 +0530 Subject: [PATCH] feat: add/remove column in list view --- crm/api/doc.py | 15 ++++- frontend/src/components/ViewSettings.vue | 78 +++++++++++++++++++++--- 2 files changed, 84 insertions(+), 9 deletions(-) diff --git a/crm/api/doc.py b/crm/api/doc.py index 0f7ddcf7..0fdf31d8 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -69,6 +69,9 @@ def get_list_data(doctype: str, filters: dict, order_by: str): if column.get("key") not in rows: rows.append(column.get("key")) + if "name" not in rows: + rows.append("name") + data = frappe.get_all( doctype, fields=rows, @@ -77,7 +80,17 @@ def get_list_data(doctype: str, filters: dict, order_by: str): page_length=20, ) or [] - return {'data': data, 'columns': columns, 'rows': rows} + not_allowed_fieldtypes = [ + "Section Break", + "Column Break", + "Tab Break", + ] + + fields = frappe.get_meta(doctype).fields + fields = [field for field in fields if field.fieldtype not in not_allowed_fieldtypes] + fields = [{"label": field.label, "value": field.fieldname} for field in fields if field.label and field.fieldname] + + return {'data': data, 'columns': columns, 'rows': rows, 'fields': fields} @frappe.whitelist() diff --git a/frontend/src/components/ViewSettings.vue b/frontend/src/components/ViewSettings.vue index 89f585f6..76f6af1b 100644 --- a/frontend/src/components/ViewSettings.vue +++ b/frontend/src/components/ViewSettings.vue @@ -19,23 +19,47 @@ > +
+ + + +
@@ -44,8 +68,9 @@