diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py index df78212cd1..ac6481cef7 100644 --- a/controllers/accounts_controller.py +++ b/controllers/accounts_controller.py @@ -22,6 +22,10 @@ from webnotes.utils import flt from utilities.transaction_base import TransactionBase class AccountsController(TransactionBase): + def validate(self): + if self.meta.get_field("grand_total"): + self.validate_value("grand_total", ">=", 0) + def get_gl_dict(self, args, cancel=None): """this method populates the common properties of a gl entry record""" if cancel is None: @@ -101,4 +105,4 @@ class AccountsController(TransactionBase): @webnotes.whitelist() def get_default_account(account_for, company): - return webnotes.conn.get_value("Company", company, account_for) \ No newline at end of file + return webnotes.conn.get_value("Company", company, account_for) diff --git a/controllers/buying_controller.py b/controllers/buying_controller.py index 03d2a92660..2c2bb44a56 100644 --- a/controllers/buying_controller.py +++ b/controllers/buying_controller.py @@ -27,7 +27,8 @@ from webnotes.model.utils import round_floats_in_doc from controllers.stock_controller import StockController class BuyingController(StockController): - def validate(self): + def validate(self): + super(BuyingController, self).validate() if self.meta.get_field("currency"): self.company_currency = get_company_currency(self.doc.company) self.validate_conversion_rate("currency", "conversion_rate") @@ -37,7 +38,7 @@ class BuyingController(StockController): # IMPORTANT: enable this only when client side code is similar to this one # self.calculate_taxes_and_totals() - + # set total in words self.set_total_in_words() diff --git a/controllers/selling_controller.py b/controllers/selling_controller.py index f9498cbac9..cd81e18d60 100644 --- a/controllers/selling_controller.py +++ b/controllers/selling_controller.py @@ -23,6 +23,7 @@ from controllers.stock_controller import StockController class SellingController(StockController): def validate(self): + super(SellingController, self).validate() self.set_total_in_words() def set_total_in_words(self): @@ -37,4 +38,4 @@ class SellingController(StockController): self.doc.grand_total or self.doc.rounded_total, company_currency) if self.meta.get_field("in_words_export"): self.doc.in_words_export = money_in_words(disable_rounded_total and - self.doc.grand_total_export or self.doc.rounded_total_export, self.doc.currency) \ No newline at end of file + self.doc.grand_total_export or self.doc.rounded_total_export, self.doc.currency)