added status validation

This commit is contained in:
Anand Doshi
2012-12-28 19:42:49 +05:30
parent b72d8204e8
commit f9a3c8fcdc
19 changed files with 410 additions and 355 deletions

View File

@@ -131,6 +131,9 @@ class DocType(TransactionBase):
def validate(self):
import utilities
utilities.validate_status(self.doc.status, ["Draft", "submitted", "Cancelled"])
self.so_required()
self.validate_fiscal_year()
self.validate_proj_cust()

View File

@@ -148,7 +148,13 @@ class DocType(TransactionBase):
def validate(self):
self.po_required()
self.validate_fiscal_year()
webnotes.conn.set(self.doc, 'status', 'Draft') # set status as "Draft"
if not self.doc.status:
self.doc.status = "Draft"
import utilities
utilities.validate_status(self.doc.status, ["Draft", "Submitted", "Cancelled"])
self.validate_accepted_rejected_qty()
self.validate_inspection() # Validate Inspection
get_obj('Stock Ledger').validate_serial_no(self, 'purchase_receipt_details')

View File

@@ -65,6 +65,10 @@ class DocType(TransactionBase):
# validate
# ---------
def validate(self):
import utilities
utilities.validate_status(self.doc.status, ["In Store", "Delivered",
"Not in Use", "Purchase Returned"])
self.validate_warranty_status()
self.validate_amc_status()
self.validate_warehouse()

View File

@@ -17,7 +17,7 @@
from __future__ import unicode_literals
import webnotes
from webnotes.utils import cstr, cint, flt, getdate, now
from webnotes.utils import cstr, cint, flt, getdate, now, comma_or
from webnotes.model import db_exists, delete_doc
from webnotes.model.doc import Document, addchild
from webnotes.model.wrapper import getlist, copy_doclist
@@ -35,6 +35,8 @@ class DocType(TransactionBase):
self.fname = 'mtn_details'
def validate(self):
self.validate_purpose()
self.validate_serial_nos()
pro_obj = self.doc.production_order and \
get_obj('Production Order', self.doc.production_order) or None
@@ -57,6 +59,13 @@ class DocType(TransactionBase):
self.update_stock_ledger(1)
# update Production Order
self.update_production_order(0)
def validate_purpose(self):
valid_purposes = ["Material Issue", "Material Receipt", "Material Transfer",
"Manufacture/Repack", "Subcontract", "Sales Return", "Purchase Return"]
if self.doc.purpose not in valid_purposes:
msgprint(_("Purpose must be one of ") + comma_or(valid_purposes),
raise_exception=True)
def validate_serial_nos(self):
sl_obj = get_obj("Stock Ledger")