refactor: disallow bank transactions on different currencies

This commit is contained in:
ruthra kumar 2024-01-12 16:33:41 +05:30
parent c67b0a3a64
commit cdd0acc672

View File

@ -48,6 +48,22 @@ class BankTransaction(Document):
def validate(self):
self.validate_duplicate_references()
self.validate_currency()
def validate_currency(self):
"""
Bank Transaction should be on the same currency as the Bank Account.
"""
if self.currency and self.bank_account:
account = frappe.get_cached_value("Bank Account", self.bank_account, "account")
account_currency = frappe.get_cached_value("Account", account, "account_currency")
if self.currency != account_currency:
frappe.throw(
_("Currency {0} cannot be different from Bank Account({1}) Currency: {2}").format(
frappe.bold(self.currency), frappe.bold(self.bank_account), frappe.bold(account_currency)
)
)
def set_status(self):
if self.docstatus == 2: