From 63975c8c00f2748e6cb086ccee444c73774faf59 Mon Sep 17 00:00:00 2001 From: Abdeali Chharchhoda Date: Thu, 18 Dec 2025 18:48:09 +0530 Subject: [PATCH] refactor: use common method to get employee contacts (cherry picked from commit ec1eb6d22201bea85030529aefba7ae21cdf4ed3) --- erpnext/accounts/party.py | 14 ++------------ erpnext/setup/doctype/employee/employee.py | 7 ++++++- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py index 749ddd819ec..46a9a942fea 100644 --- a/erpnext/accounts/party.py +++ b/erpnext/accounts/party.py @@ -296,19 +296,9 @@ def complete_contact_details(party_details): contact_details = frappe._dict() if party_details.party_type == "Employee": - contact_details = frappe.db.get_value( - "Employee", - party_details.party, - [ - "employee_name as contact_display", - "prefered_email as contact_email", - "cell_number as contact_mobile", - "designation as contact_designation", - "department as contact_department", - ], - as_dict=True, - ) + from erpnext.setup.doctype.employee.employee import get_contact_details as get_employee_contact + contact_details = get_employee_contact(party_details.party) contact_details.update({"contact_person": None, "contact_phone": None}) elif party_details.contact_person: contact_details = frappe.db.get_value( diff --git a/erpnext/setup/doctype/employee/employee.py b/erpnext/setup/doctype/employee/employee.py index ce8f3510bd2..85ae46a3a6a 100755 --- a/erpnext/setup/doctype/employee/employee.py +++ b/erpnext/setup/doctype/employee/employee.py @@ -6,7 +6,6 @@ from frappe.model.naming import set_name_by_naming_series from frappe.permissions import ( add_user_permission, get_doc_permissions, - has_permission, remove_user_permission, ) from frappe.utils import cstr, getdate, today, validate_email_address @@ -435,6 +434,12 @@ def has_upload_permission(doc, ptype="read", user=None): def get_contact_details(employee: str) -> dict: """ Returns basic contact details for the given employee. + + Email is selected based on the following priority: + 1. Prefered Email + 2. Company Email + 3. Personal Email + 4. User ID """ if not employee: frappe.throw(msg=_("Employee is required"), title=_("Missing Parameter"))