validate item of item_price record

This commit is contained in:
Nabin Hait 2014-02-13 15:54:51 +05:30
parent 36028bfb56
commit a038831c45
2 changed files with 63 additions and 44 deletions

View File

@ -2,7 +2,7 @@
{ {
"creation": "2013-02-22 01:27:42", "creation": "2013-02-22 01:27:42",
"docstatus": 0, "docstatus": 0,
"modified": "2013-12-20 19:23:37", "modified": "2014-02-13 11:29:35",
"modified_by": "Administrator", "modified_by": "Administrator",
"owner": "wasim@webnotestech.com" "owner": "wasim@webnotestech.com"
}, },
@ -25,29 +25,6 @@
"doctype": "DocType", "doctype": "DocType",
"name": "Purchase Receipt Item Supplied" "name": "Purchase Receipt Item Supplied"
}, },
{
"doctype": "DocField",
"fieldname": "reference_name",
"fieldtype": "Data",
"hidden": 0,
"in_filter": 0,
"in_list_view": 1,
"label": "Reference Name",
"oldfieldname": "reference_name",
"oldfieldtype": "Data",
"read_only": 1,
"search_index": 0
},
{
"doctype": "DocField",
"fieldname": "bom_detail_no",
"fieldtype": "Data",
"in_list_view": 1,
"label": "BOM Detail No",
"oldfieldname": "bom_detail_no",
"oldfieldtype": "Data",
"read_only": 1
},
{ {
"doctype": "DocField", "doctype": "DocField",
"fieldname": "main_item_code", "fieldname": "main_item_code",
@ -65,12 +42,13 @@
"in_list_view": 1, "in_list_view": 1,
"label": "Raw Material Item Code", "label": "Raw Material Item Code",
"oldfieldname": "rm_item_code", "oldfieldname": "rm_item_code",
"oldfieldtype": "Data" "oldfieldtype": "Data",
"read_only": 1
}, },
{ {
"doctype": "DocField", "doctype": "DocField",
"fieldname": "description", "fieldname": "description",
"fieldtype": "Data", "fieldtype": "Text",
"in_list_view": 1, "in_list_view": 1,
"label": "Description", "label": "Description",
"oldfieldname": "description", "oldfieldname": "description",
@ -79,6 +57,11 @@
"read_only": 1, "read_only": 1,
"width": "300px" "width": "300px"
}, },
{
"doctype": "DocField",
"fieldname": "col_break1",
"fieldtype": "Column Break"
},
{ {
"doctype": "DocField", "doctype": "DocField",
"fieldname": "required_qty", "fieldname": "required_qty",
@ -98,6 +81,16 @@
"oldfieldtype": "Currency", "oldfieldtype": "Currency",
"reqd": 1 "reqd": 1
}, },
{
"doctype": "DocField",
"fieldname": "stock_uom",
"fieldtype": "Link",
"label": "Stock Uom",
"oldfieldname": "stock_uom",
"oldfieldtype": "Data",
"options": "UOM",
"read_only": 1
},
{ {
"doctype": "DocField", "doctype": "DocField",
"fieldname": "rate", "fieldname": "rate",
@ -105,16 +98,7 @@
"label": "Rate", "label": "Rate",
"oldfieldname": "rate", "oldfieldname": "rate",
"oldfieldtype": "Currency", "oldfieldtype": "Currency",
"options": "Company:company:default_currency" "options": "Company:company:default_currency",
},
{
"doctype": "DocField",
"fieldname": "conversion_factor",
"fieldtype": "Float",
"hidden": 1,
"label": "Conversion Factor",
"oldfieldname": "conversion_factor",
"oldfieldtype": "Currency",
"read_only": 1 "read_only": 1
}, },
{ {
@ -129,21 +113,46 @@
}, },
{ {
"doctype": "DocField", "doctype": "DocField",
"fieldname": "stock_uom", "fieldname": "conversion_factor",
"fieldtype": "Link", "fieldtype": "Float",
"label": "Stock Uom", "hidden": 1,
"oldfieldname": "stock_uom", "label": "Conversion Factor",
"oldfieldtype": "Data", "oldfieldname": "conversion_factor",
"options": "UOM", "oldfieldtype": "Currency",
"read_only": 1 "read_only": 1
}, },
{ {
"doctype": "DocField", "doctype": "DocField",
"fieldname": "current_stock", "fieldname": "current_stock",
"fieldtype": "Float", "fieldtype": "Float",
"hidden": 1,
"label": "Current Stock", "label": "Current Stock",
"oldfieldname": "current_stock", "oldfieldname": "current_stock",
"oldfieldtype": "Currency", "oldfieldtype": "Currency",
"read_only": 1 "read_only": 1
},
{
"doctype": "DocField",
"fieldname": "reference_name",
"fieldtype": "Data",
"hidden": 1,
"in_filter": 0,
"in_list_view": 1,
"label": "Reference Name",
"oldfieldname": "reference_name",
"oldfieldtype": "Data",
"read_only": 1,
"search_index": 0
},
{
"doctype": "DocField",
"fieldname": "bom_detail_no",
"fieldtype": "Data",
"hidden": 1,
"in_list_view": 1,
"label": "BOM Detail No",
"oldfieldname": "bom_detail_no",
"oldfieldtype": "Data",
"read_only": 1
} }
] ]

View File

@ -12,11 +12,20 @@ class DocType:
self.doc, self.doclist = d, dl self.doc, self.doclist = d, dl
def validate(self): def validate(self):
self.validate_item()
self.validate_price_list() self.validate_price_list()
self.check_duplicate_item() self.check_duplicate_item()
self.update_price_list_details() self.update_price_list_details()
self.update_item_details() self.update_item_details()
def validate_item(self):
if not webnotes.conn.exists("Item", self.doc.item_code):
throw("{doctype}: {item} {not_found}".format(**{
"doctype": _("Item"),
"item": self.doc.item_code,
"not_found": _(" not found")
}))
def validate_price_list(self): def validate_price_list(self):
enabled = webnotes.conn.get_value("Price List", self.doc.price_list, "enabled") enabled = webnotes.conn.get_value("Price List", self.doc.price_list, "enabled")
if not enabled: if not enabled:
@ -38,8 +47,9 @@ class DocType:
}), ItemPriceDuplicateItem) }), ItemPriceDuplicateItem)
def update_price_list_details(self): def update_price_list_details(self):
self.doc.buying, self.doc.selling, self.doc.currency = webnotes.conn.get_value("Price List", self.doc.buying, self.doc.selling, self.doc.currency = \
{"name": self.doc.price_list, "enabled": 1}, ["buying", "selling", "currency"]) webnotes.conn.get_value("Price List", {"name": self.doc.price_list, "enabled": 1},
["buying", "selling", "currency"])
def update_item_details(self): def update_item_details(self):
self.doc.item_name, self.doc.item_description = webnotes.conn.get_value("Item", self.doc.item_name, self.doc.item_description = webnotes.conn.get_value("Item",