mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-19 13:09:17 +00:00
Merge pull request #46773 from frappe/mergify/bp/version-15-hotfix/pr-46683
fix: Set complete contact details for `Employee` in PE (backport #46683)
This commit is contained in:
@@ -203,14 +203,14 @@
|
|||||||
"fieldtype": "Column Break"
|
"fieldtype": "Column Break"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"depends_on": "party",
|
"depends_on": "eval: doc.party && doc.party_type !== \"Employee\"",
|
||||||
"fieldname": "contact_person",
|
"fieldname": "contact_person",
|
||||||
"fieldtype": "Link",
|
"fieldtype": "Link",
|
||||||
"label": "Contact",
|
"label": "Contact",
|
||||||
"options": "Contact"
|
"options": "Contact"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"depends_on": "contact_person",
|
"depends_on": "eval: (doc.contact_person || doc.party_type === \"Employee\") && doc.contact_email",
|
||||||
"fieldname": "contact_email",
|
"fieldname": "contact_email",
|
||||||
"fieldtype": "Data",
|
"fieldtype": "Data",
|
||||||
"label": "Email",
|
"label": "Email",
|
||||||
@@ -809,7 +809,7 @@
|
|||||||
"table_fieldname": "payment_entries"
|
"table_fieldname": "payment_entries"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"modified": "2025-01-31 17:27:28.555246",
|
"modified": "2025-03-24 16:18:19.920701",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "Accounts",
|
"module": "Accounts",
|
||||||
"name": "Payment Entry",
|
"name": "Payment Entry",
|
||||||
|
|||||||
@@ -38,7 +38,11 @@ from erpnext.accounts.general_ledger import (
|
|||||||
make_reverse_gl_entries,
|
make_reverse_gl_entries,
|
||||||
process_gl_map,
|
process_gl_map,
|
||||||
)
|
)
|
||||||
from erpnext.accounts.party import complete_contact_details, get_party_account, set_contact_details
|
from erpnext.accounts.party import (
|
||||||
|
complete_contact_details,
|
||||||
|
get_default_contact,
|
||||||
|
get_party_account,
|
||||||
|
)
|
||||||
from erpnext.accounts.utils import (
|
from erpnext.accounts.utils import (
|
||||||
cancel_exchange_gain_loss_journal,
|
cancel_exchange_gain_loss_journal,
|
||||||
get_account_currency,
|
get_account_currency,
|
||||||
@@ -441,12 +445,12 @@ class PaymentEntry(AccountsController):
|
|||||||
self.party_name = frappe.db.get_value(self.party_type, self.party, "name")
|
self.party_name = frappe.db.get_value(self.party_type, self.party, "name")
|
||||||
|
|
||||||
if self.party:
|
if self.party:
|
||||||
if not self.contact_person:
|
if self.party_type == "Employee":
|
||||||
set_contact_details(
|
self.contact_person = None
|
||||||
self, party=frappe._dict({"name": self.party}), party_type=self.party_type
|
elif not self.contact_person:
|
||||||
)
|
self.contact_person = get_default_contact(self.party_type, self.party)
|
||||||
else:
|
|
||||||
complete_contact_details(self)
|
complete_contact_details(self)
|
||||||
if not self.party_balance:
|
if not self.party_balance:
|
||||||
self.party_balance = get_balance_on(
|
self.party_balance = get_balance_on(
|
||||||
party_type=self.party_type, party=self.party, date=self.posting_date, company=self.company
|
party_type=self.party_type, party=self.party, date=self.posting_date, company=self.company
|
||||||
|
|||||||
@@ -280,32 +280,50 @@ def get_regional_address_details(party_details, doctype, company):
|
|||||||
|
|
||||||
|
|
||||||
def complete_contact_details(party_details):
|
def complete_contact_details(party_details):
|
||||||
if not party_details.contact_person:
|
contact_details = frappe._dict()
|
||||||
party_details.update(
|
|
||||||
{
|
if party_details.party_type == "Employee":
|
||||||
"contact_person": None,
|
contact_details = frappe.db.get_value(
|
||||||
"contact_display": None,
|
"Employee",
|
||||||
"contact_email": None,
|
party_details.party,
|
||||||
"contact_mobile": None,
|
[
|
||||||
"contact_phone": None,
|
"employee_name as contact_display",
|
||||||
"contact_designation": None,
|
"prefered_email as contact_email",
|
||||||
"contact_department": None,
|
"cell_number as contact_mobile",
|
||||||
}
|
"designation as contact_designation",
|
||||||
|
"department as contact_department",
|
||||||
|
],
|
||||||
|
as_dict=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
contact_details.update({"contact_person": None, "contact_phone": None})
|
||||||
|
elif party_details.contact_person:
|
||||||
|
contact_details = frappe.db.get_value(
|
||||||
|
"Contact",
|
||||||
|
party_details.contact_person,
|
||||||
|
[
|
||||||
|
"name as contact_person",
|
||||||
|
"full_name as contact_display",
|
||||||
|
"email_id as contact_email",
|
||||||
|
"mobile_no as contact_mobile",
|
||||||
|
"phone as contact_phone",
|
||||||
|
"designation as contact_designation",
|
||||||
|
"department as contact_department",
|
||||||
|
],
|
||||||
|
as_dict=True,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
fields = [
|
contact_details = {
|
||||||
"name as contact_person",
|
"contact_person": None,
|
||||||
"full_name as contact_display",
|
"contact_display": None,
|
||||||
"email_id as contact_email",
|
"contact_email": None,
|
||||||
"mobile_no as contact_mobile",
|
"contact_mobile": None,
|
||||||
"phone as contact_phone",
|
"contact_phone": None,
|
||||||
"designation as contact_designation",
|
"contact_designation": None,
|
||||||
"department as contact_department",
|
"contact_department": None,
|
||||||
]
|
}
|
||||||
|
|
||||||
contact_details = frappe.db.get_value("Contact", party_details.contact_person, fields, as_dict=True)
|
party_details.update(contact_details)
|
||||||
|
|
||||||
party_details.update(contact_details)
|
|
||||||
|
|
||||||
|
|
||||||
def set_contact_details(party_details, party, party_type):
|
def set_contact_details(party_details, party, party_type):
|
||||||
@@ -771,9 +789,9 @@ def validate_account_party_type(self):
|
|||||||
account_type = frappe.get_cached_value("Account", self.account, "account_type")
|
account_type = frappe.get_cached_value("Account", self.account, "account_type")
|
||||||
if account_type and (account_type not in ["Receivable", "Payable", "Equity"]):
|
if account_type and (account_type not in ["Receivable", "Payable", "Equity"]):
|
||||||
frappe.throw(
|
frappe.throw(
|
||||||
_(
|
_("Party Type and Party can only be set for Receivable / Payable account<br><br>{0}").format(
|
||||||
"Party Type and Party can only be set for Receivable / Payable account<br><br>" "{0}"
|
self.account
|
||||||
).format(self.account)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user