diff --git a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py index e827e48c7d..36d54b6e00 100644 --- a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py +++ b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.py @@ -5,6 +5,24 @@ from __future__ import unicode_literals import frappe from frappe.model.document import Document +from frappe import _ class ModeofPayment(Document): - pass + def validate(self): + self.validate_accounts() + self.validate_repeating_companies() + + def validate_repeating_companies(self): + """Error when Same Company is entered multiple times in accounts""" + accounts_list = [] + for entry in self.accounts: + accounts_list.append(entry.company) + + if len(accounts_list)!= len(set(accounts_list)): + frappe.throw(_("Same Company is entered more than once")) + + def validate_accounts(self): + for entry in self.accounts: + """Error when Company of Ledger account doesn't match with Company Selected""" + if frappe.db.get_value("Account", entry.default_account, "company") != entry.company: + frappe.throw(_("Account does not match with Company"))