From 73a83a472d6f8594e37017b49d00a8df1ca970e6 Mon Sep 17 00:00:00 2001 From: tunde Date: Fri, 22 Sep 2017 11:04:31 +0100 Subject: [PATCH] validation for Payment Terms Template --- .../payment_terms_template.py | 22 ++++++++++++++++++- .../user/manual/en/accounts/payment-terms.md | 0 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 erpnext/docs/user/manual/en/accounts/payment-terms.md diff --git a/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py b/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py index d2344d6c77..363484d9b1 100644 --- a/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py +++ b/erpnext/accounts/doctype/payment_terms_template/payment_terms_template.py @@ -3,8 +3,28 @@ # For license information, please see license.txt from __future__ import unicode_literals + +import frappe from frappe.model.document import Document +from frappe.utils import flt +from frappe import _ class PaymentTermsTemplate(Document): - pass + def validate(self): + self.validate_invoice_portion() + self.validate_credit_days() + + def validate_invoice_portion(self): + total_portion = 0 + for term in self.terms: + total_portion += term.invoice_portion + + if flt(total_portion, 2) != 100.00: + frappe.msgprint(_('Combined invoice portion must equal 100%'), raise_exception=1, indicator='red') + + def validate_credit_days(self): + for term in self.terms: + if term.credit_days < 0: + frappe.msgprint(_('Credit Days cannot be a negative number'), raise_exception=1, indicator='red') + diff --git a/erpnext/docs/user/manual/en/accounts/payment-terms.md b/erpnext/docs/user/manual/en/accounts/payment-terms.md new file mode 100644 index 0000000000..e69de29bb2