refactor: disallow bank transactions on different currencies

(cherry picked from commit cdd0acc672e471d94693c04079ab78ba48b82a30)
This commit is contained in:
ruthra kumar 2024-01-12 16:33:41 +05:30 committed by Mergify
parent 3f5b1bcd05
commit dbbba046ab

View File

@ -49,6 +49,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: