Merge pull request #43779 from frappe/mergify/bp/version-14-hotfix/pr-43778

refactor: validate_return_against_account (backport #43778)
This commit is contained in:
ruthra kumar
2024-10-22 17:36:37 +05:30
committed by GitHub

View File

@@ -357,12 +357,17 @@ class AccountsController(TransactionBase):
def validate_return_against_account(self):
if self.doctype in ["Sales Invoice", "Purchase Invoice"] and self.is_return and self.return_against:
cr_dr_account_field = "debit_to" if self.doctype == "Sales Invoice" else "credit_to"
cr_dr_account_label = "Debit To" if self.doctype == "Sales Invoice" else "Credit To"
cr_dr_account_label = self.meta.get_label(cr_dr_account_field)
cr_dr_account = self.get(cr_dr_account_field)
if frappe.get_value(self.doctype, self.return_against, cr_dr_account_field) != cr_dr_account:
original_account = frappe.get_value(self.doctype, self.return_against, cr_dr_account_field)
if original_account != cr_dr_account:
frappe.throw(
_("'{0}' account: '{1}' should match the Return Against Invoice").format(
frappe.bold(cr_dr_account_label), frappe.bold(cr_dr_account)
_(
"Please set {0} to {1}, the same account that was used in the original invoice {2}."
).format(
frappe.bold(_(cr_dr_account_label, context=self.doctype)),
frappe.bold(cr_dr_account),
frappe.bold(self.return_against),
)
)