From 0177b959caabc477ba70f71dfe0c0a56eb048619 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Tue, 6 Feb 2024 18:05:43 +0530 Subject: [PATCH] fix: allow bulk editing from deals listview --- crm/api/doc.py | 25 +++ .../components/ListViews/DealsListView.vue | 33 +++- .../src/components/Modals/EditValueModal.vue | 156 ++++++++++++++++++ frontend/src/pages/Deals.vue | 1 + 4 files changed, 212 insertions(+), 3 deletions(-) create mode 100644 frontend/src/components/Modals/EditValueModal.vue diff --git a/crm/api/doc.py b/crm/api/doc.py index e3c8acc4..61755d5a 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -341,3 +341,28 @@ def get_assigned_users(doctype, name): ) return list(set(assigned_users)) + + +@frappe.whitelist() +def get_fields(doctype: str): + not_allowed_fieldtypes = list(frappe.model.no_value_fields) + ["Read Only"] + fields = frappe.get_meta(doctype).fields + + _fields = [] + + for field in fields: + if ( + field.fieldtype not in not_allowed_fieldtypes + and not field.hidden + and not field.read_only + and not field.is_virtual + and field.fieldname + ): + _fields.append({ + "label": field.label, + "type": field.fieldtype, + "value": field.fieldname, + "options": field.options, + }) + + return _fields \ No newline at end of file diff --git a/frontend/src/components/ListViews/DealsListView.vue b/frontend/src/components/ListViews/DealsListView.vue index 9d997421..076456ae 100644 --- a/frontend/src/components/ListViews/DealsListView.vue +++ b/frontend/src/components/ListViews/DealsListView.vue @@ -85,7 +85,15 @@ - + + + + diff --git a/frontend/src/components/Modals/EditValueModal.vue b/frontend/src/components/Modals/EditValueModal.vue new file mode 100644 index 00000000..9d4cdd2c --- /dev/null +++ b/frontend/src/components/Modals/EditValueModal.vue @@ -0,0 +1,156 @@ + + + diff --git a/frontend/src/pages/Deals.vue b/frontend/src/pages/Deals.vue index 14cf8c9c..7c9d51a4 100644 --- a/frontend/src/pages/Deals.vue +++ b/frontend/src/pages/Deals.vue @@ -26,6 +26,7 @@ }" @loadMore="() => loadMore++" @updatePageCount="(count) => (updatedPageCount = count)" + @reload="deals.reload()" />