From 61576ca03092a2a60eb5d468ee62495a868673ad Mon Sep 17 00:00:00 2001 From: Dietmar Fischer Date: Thu, 1 Aug 2024 17:01:43 +0200 Subject: [PATCH 1/2] feat: changes in opportunity.py to show contacts and addresses from referenced and opportunities --- erpnext/crm/doctype/opportunity/opportunity.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py index 34fd1e91ba2..0989ea553e1 100644 --- a/erpnext/crm/doctype/opportunity/opportunity.py +++ b/erpnext/crm/doctype/opportunity/opportunity.py @@ -93,7 +93,20 @@ class Opportunity(TransactionBase, CRMNote): def onload(self): ref_doc = frappe.get_doc(self.opportunity_from, self.party_name) + load_address_and_contact(ref_doc) + load_address_and_contact(self) + + ref_doc_contact_list = ref_doc.get("__onload").get('contact_list') + opportunity_doc_contact_list = [contact for contact in self.get('__onload').get('contact_list') if contact not in ref_doc_contact_list] + ref_doc_contact_list.extend(opportunity_doc_contact_list) + ref_doc.set_onload("contact_list", ref_doc_contact_list) + + ref_doc_addr_list = ref_doc.get("__onload").get('addr_list') + opportunity_doc_addr_list = [addr for addr in self.get('__onload').get('addr_list') if addr not in ref_doc_addr_list] + ref_doc_addr_list.extend(opportunity_doc_addr_list) + ref_doc.set_onload("addr_list", ref_doc_addr_list) + self.set("__onload", ref_doc.get("__onload")) def after_insert(self): From 511a0b9f375bd6f86fd689d35eb6ee395c85a5c6 Mon Sep 17 00:00:00 2001 From: Dietmar Fischer Date: Fri, 2 Aug 2024 12:51:48 +0200 Subject: [PATCH 2/2] fix: pre-commit for better code formatting --- erpnext/crm/doctype/opportunity/opportunity.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py index 0989ea553e1..4a68c73c7ed 100644 --- a/erpnext/crm/doctype/opportunity/opportunity.py +++ b/erpnext/crm/doctype/opportunity/opportunity.py @@ -96,17 +96,23 @@ class Opportunity(TransactionBase, CRMNote): load_address_and_contact(ref_doc) load_address_and_contact(self) - - ref_doc_contact_list = ref_doc.get("__onload").get('contact_list') - opportunity_doc_contact_list = [contact for contact in self.get('__onload').get('contact_list') if contact not in ref_doc_contact_list] + + ref_doc_contact_list = ref_doc.get("__onload").get("contact_list") + opportunity_doc_contact_list = [ + contact + for contact in self.get("__onload").get("contact_list") + if contact not in ref_doc_contact_list + ] ref_doc_contact_list.extend(opportunity_doc_contact_list) ref_doc.set_onload("contact_list", ref_doc_contact_list) - ref_doc_addr_list = ref_doc.get("__onload").get('addr_list') - opportunity_doc_addr_list = [addr for addr in self.get('__onload').get('addr_list') if addr not in ref_doc_addr_list] + ref_doc_addr_list = ref_doc.get("__onload").get("addr_list") + opportunity_doc_addr_list = [ + addr for addr in self.get("__onload").get("addr_list") if addr not in ref_doc_addr_list + ] ref_doc_addr_list.extend(opportunity_doc_addr_list) ref_doc.set_onload("addr_list", ref_doc_addr_list) - + self.set("__onload", ref_doc.get("__onload")) def after_insert(self):