Merge pull request #4334 from revant/patch-1

Mode of Payment validate
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 e827e48..36d54b6 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 @@
 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"))