From 2ef3ccafc7bda52a8ec8638688e31d64cc15e25d Mon Sep 17 00:00:00 2001 From: Pratik Date: Mon, 23 Jun 2025 05:15:40 +0000 Subject: [PATCH] refactor: change labels & function names --- crm/api/doc.py | 89 ++++++++++--------- frontend/components.d.ts | 1 - .../components/BulkDeleteLinkedDocModal.vue | 4 +- .../src/components/DeleteLinkedDocModal.vue | 24 +++-- .../ListViews/LinkedDocsListView.vue | 37 +++++--- 5 files changed, 92 insertions(+), 63 deletions(-) diff --git a/crm/api/doc.py b/crm/api/doc.py index 28ffb873..1369a952 100644 --- a/crm/api/doc.py +++ b/crm/api/doc.py @@ -677,6 +677,7 @@ def remove_assignments(doctype, name, assignees, ignore_permissions=False): ignore_permissions=ignore_permissions, ) + @frappe.whitelist() def get_assigned_users(doctype, name, default_assigned_to=None): assigned_users = frappe.get_all( @@ -748,85 +749,93 @@ def getCounts(d, doctype): @frappe.whitelist() -def getLinkedDocs(doctype, docname): +def get_linked_docs_of_document(doctype, docname): doc = frappe.get_doc(doctype, docname) linked_docs = get_linked_docs(doc) dynamic_linked_docs = get_dynamic_linked_docs(doc) - + linked_docs.extend(dynamic_linked_docs) linked_docs = list({doc["reference_docname"]: doc for doc in linked_docs}.values()) - + docs_data = [] for doc in linked_docs: data = frappe.get_doc(doc["reference_doctype"], doc["reference_docname"]) title = data.get("title") if data.doctype == "CRM Call Log": - title = f"CRM Call Log - from {data.get('from')} to {data.get('to')}" - + title = f"Call from {data.get('from')} to {data.get('to')}" + if data.doctype == "CRM Deal": title = data.get("organization") - - docs_data.append({ - "doc": data.doctype, - "title": title or data.get("name"), - "reference_docname": doc["reference_docname"], - "reference_doctype": doc["reference_doctype"], - }) + + docs_data.append( + { + "doc": data.doctype, + "title": title or data.get("name"), + "reference_docname": doc["reference_docname"], + "reference_doctype": doc["reference_doctype"], + } + ) return docs_data -def removeDocLink(doctype, docname): +def remove_doc_link(doctype, docname): linked_doc_data = frappe.get_doc(doctype, docname) - linked_doc_data.update({ - "reference_doctype": None, - "reference_docname": None, - }) + linked_doc_data.update( + { + "reference_doctype": None, + "reference_docname": None, + } + ) linked_doc_data.save(ignore_permissions=True) -def removeContactLink(doctype, docname): + +def remove_contact_link(doctype, docname): linked_doc_data = frappe.get_doc(doctype, docname) - linked_doc_data.update({ - "contact": None, - "contacts": [], - }) + linked_doc_data.update( + { + "contact": None, + "contacts": [], + } + ) linked_doc_data.save(ignore_permissions=True) + @frappe.whitelist() -def removeLinkedDocReference(items, removeContact=None, delete=False): - +def remove_linked_doc_reference(items, remove_contact=None, delete=False): if isinstance(items, str): items = frappe.parse_json(items) for item in items: - if removeContact: - removeContactLink(item["doctype"], item["docname"]) + if remove_contact: + remove_contact_link(item["doctype"], item["docname"]) else: - removeDocLink(item["doctype"], item["docname"]) - + remove_doc_link(item["doctype"], item["docname"]) + if delete: frappe.delete_doc(item["doctype"], item["docname"]) return "success" - + @frappe.whitelist() -def deleteBulkDocs(doctype, items, deleteLinked=False): +def delete_bulk_docs(doctype, items, delete_linked=False): from frappe.desk.reportview import delete_bulk items = frappe.parse_json(items) for doc in items: - linked_docs = getLinkedDocs(doctype, doc) + linked_docs = get_linked_docs_of_document(doctype, doc) for linked_doc in linked_docs: - removeLinkedDocReference([ - { - "doctype": linked_doc["reference_doctype"], - "docname": linked_doc["reference_docname"], - } - ] , - removeContact=doctype=="Contact", - delete=deleteLinked + remove_linked_doc_reference( + [ + { + "doctype": linked_doc["reference_doctype"], + "docname": linked_doc["reference_docname"], + } + ], + remove_contact=doctype == "Contact", + delete=delete_linked, ) - + if len(items) > 10: frappe.enqueue("frappe.desk.reportview.delete_bulk", doctype=doctype, items=items) else: diff --git a/frontend/components.d.ts b/frontend/components.d.ts index a9378705..9ee5166f 100644 --- a/frontend/components.d.ts +++ b/frontend/components.d.ts @@ -56,7 +56,6 @@ declare module 'vue' { ContactsIcon: typeof import('./src/components/Icons/ContactsIcon.vue')['default'] ContactsListView: typeof import('./src/components/ListViews/ContactsListView.vue')['default'] ConvertIcon: typeof import('./src/components/Icons/ConvertIcon.vue')['default'] - copy: typeof import('./src/components/DeleteLinkedDocModal copy.vue')['default'] CountUpTimer: typeof import('./src/components/CountUpTimer.vue')['default'] CreateDocumentModal: typeof import('./src/components/Modals/CreateDocumentModal.vue')['default'] CRMLogo: typeof import('./src/components/Icons/CRMLogo.vue')['default'] diff --git a/frontend/src/components/BulkDeleteLinkedDocModal.vue b/frontend/src/components/BulkDeleteLinkedDocModal.vue index 6f28cebc..40b6cbac 100644 --- a/frontend/src/components/BulkDeleteLinkedDocModal.vue +++ b/frontend/src/components/BulkDeleteLinkedDocModal.vue @@ -149,10 +149,10 @@ const confirmUnlink = () => { } const deleteDocs = () => { - call('crm.api.doc.deleteBulkDocs', { + call('crm.api.doc.delete_bulk_docs', { items: props.items, doctype: props.doctype, - deleteLinked: confirmDeleteInfo.value.delete, + delete_linked: confirmDeleteInfo.value.delete, }).then(() => { confirmDeleteInfo.value = { show: false, diff --git a/frontend/src/components/DeleteLinkedDocModal.vue b/frontend/src/components/DeleteLinkedDocModal.vue index 81f6f2e3..224ee9b9 100644 --- a/frontend/src/components/DeleteLinkedDocModal.vue +++ b/frontend/src/components/DeleteLinkedDocModal.vue @@ -5,7 +5,11 @@

- {{ __('Delete') }} + {{ + linkedDocs?.length == 0 + ? __('Delete') + : __('Delete or unlink linked documents') + }}

@@ -32,7 +36,7 @@ key: 'title', }, { - label: 'Doctype', + label: 'Master', key: 'reference_doctype', width: '30%', }, @@ -65,7 +69,7 @@
- {{ __('Delete and unlink') }} + {{ __('Delete') }} {{ viewControls?.selections?.length == 0 ? __('all') @@ -76,7 +80,8 @@
@@ -50,6 +41,12 @@ @click.stop="viewLinkedDoc(row)" />
+ + {{ getDoctypeName(row.reference_doctype) }} + @@ -58,7 +55,6 @@