Merge pull request #312 from saurabh6790/master

updated accounts_controller.py, buying_controller.py, selling_controller.py
diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index df78212..ac6481c 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -22,6 +22,10 @@
 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 @@
 
 @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 03d2a92..2c2bb44 100644
--- a/controllers/buying_controller.py
+++ b/controllers/buying_controller.py
@@ -27,7 +27,8 @@
 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 @@
 			
 			# 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 f9498cb..cd81e18 100644
--- a/controllers/selling_controller.py
+++ b/controllers/selling_controller.py
@@ -23,6 +23,7 @@
 
 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 @@
 				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)