[feature] Ability to set UOM as Integer-only and related validations.

This commit is contained in:
Rushabh Mehta
2013-07-25 17:45:59 +05:30
parent 966c9f6a8e
commit 4dca40195e
39 changed files with 153 additions and 78 deletions

View File

@@ -43,6 +43,10 @@ class DocType:
def validate(self):
self.clear_operations()
self.validate_main_item()
from utilities.transaction_base import validate_uom_is_integer
validate_uom_is_integer(self.doclist, "stock_uom", "qty")
self.validate_operations()
self.validate_materials()
self.set_bom_material_details()

View File

@@ -36,7 +36,7 @@ test_records = [
"qty": 1.0,
"rate": 5000.0,
"amount": 5000.0,
"stock_uom": "No."
"stock_uom": "_Test UOM"
},
{
"doctype": "BOM Item",
@@ -45,7 +45,7 @@ test_records = [
"qty": 2.0,
"rate": 1000.0,
"amount": 2000.0,
"stock_uom": "No."
"stock_uom": "_Test UOM"
}
]
]

View File

@@ -2,7 +2,7 @@
{
"creation": "2013-02-22 01:27:49",
"docstatus": 0,
"modified": "2013-07-22 15:28:20",
"modified": "2013-07-25 16:34:42",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -75,11 +75,12 @@
{
"doctype": "DocField",
"fieldname": "stock_uom",
"fieldtype": "Data",
"fieldtype": "Link",
"in_list_view": 0,
"label": "Stock UOM",
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"read_only": 1,
"reqd": 1
},

View File

@@ -23,8 +23,6 @@ from webnotes import msgprint
sql = webnotes.conn.sql
class DocType:
def __init__(self, doc, doclist=[]):
self.doc = doc
@@ -57,7 +55,10 @@ class DocType:
msgprint("Sales Order: %s is not valid" % self.doc.sales_order, raise_exception=1)
self.validate_production_order_against_so()
from utilities.transaction_base import validate_uom_is_integer
validate_uom_is_integer(self.doclist, "stock_uom", ["qty", "produced_qty"])
def validate_production_order_against_so(self):
# already ordered qty

View File

@@ -2,7 +2,7 @@
{
"creation": "2013-01-10 16:34:16",
"docstatus": 0,
"modified": "2013-07-11 15:51:37",
"modified": "2013-07-25 16:38:37",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -35,6 +35,7 @@
"permlevel": 0,
"read": 1,
"report": 1,
"role": "Manufacturing User",
"submit": 1,
"write": 1
},
@@ -219,10 +220,11 @@
"depends_on": "production_item",
"doctype": "DocField",
"fieldname": "stock_uom",
"fieldtype": "Data",
"fieldtype": "Link",
"label": "Stock UOM",
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"read_only": 1
},
{
@@ -247,15 +249,6 @@
"read_only": 1
},
{
"doctype": "DocPerm",
"role": "System Manager"
},
{
"doctype": "DocPerm",
"role": "Manufacturing Manager"
},
{
"doctype": "DocPerm",
"role": "Manufacturing User"
"doctype": "DocPerm"
}
]

View File

@@ -2,7 +2,7 @@
{
"creation": "2013-02-22 01:27:49",
"docstatus": 0,
"modified": "2013-07-10 14:54:12",
"modified": "2013-07-25 16:35:27",
"modified_by": "Administrator",
"owner": "Administrator"
},
@@ -92,11 +92,12 @@
{
"doctype": "DocField",
"fieldname": "stock_uom",
"fieldtype": "Data",
"fieldtype": "Link",
"in_list_view": 0,
"label": "UOM",
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"print_width": "80px",
"read_only": 1,
"reqd": 1,

View File

@@ -185,6 +185,9 @@ class DocType:
self.validate_company()
self.validate_data()
from utilities.transaction_base import validate_uom_is_integer
validate_uom_is_integer(self.doclist, "stock_uom", "planned_qty")
items = self.get_distinct_items_and_boms()[1]
pro = self.create_production_order(items)
if pro: