validate item of item_price record
diff --git a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt
index c1ace7c..e28bdb7 100644
--- a/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt
+++ b/erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.txt
@@ -2,7 +2,7 @@
{
"creation": "2013-02-22 01:27:42",
"docstatus": 0,
- "modified": "2013-12-20 19:23:37",
+ "modified": "2014-02-13 11:29:35",
"modified_by": "Administrator",
"owner": "wasim@webnotestech.com"
},
@@ -27,29 +27,6 @@
},
{
"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",
"fieldname": "main_item_code",
"fieldtype": "Data",
"in_list_view": 1,
@@ -65,12 +42,13 @@
"in_list_view": 1,
"label": "Raw Material Item Code",
"oldfieldname": "rm_item_code",
- "oldfieldtype": "Data"
+ "oldfieldtype": "Data",
+ "read_only": 1
},
{
"doctype": "DocField",
"fieldname": "description",
- "fieldtype": "Data",
+ "fieldtype": "Text",
"in_list_view": 1,
"label": "Description",
"oldfieldname": "description",
@@ -81,6 +59,11 @@
},
{
"doctype": "DocField",
+ "fieldname": "col_break1",
+ "fieldtype": "Column Break"
+ },
+ {
+ "doctype": "DocField",
"fieldname": "required_qty",
"fieldtype": "Float",
"in_list_view": 1,
@@ -100,21 +83,22 @@
},
{
"doctype": "DocField",
+ "fieldname": "stock_uom",
+ "fieldtype": "Link",
+ "label": "Stock Uom",
+ "oldfieldname": "stock_uom",
+ "oldfieldtype": "Data",
+ "options": "UOM",
+ "read_only": 1
+ },
+ {
+ "doctype": "DocField",
"fieldname": "rate",
"fieldtype": "Currency",
"label": "Rate",
"oldfieldname": "rate",
"oldfieldtype": "Currency",
- "options": "Company:company:default_currency"
- },
- {
- "doctype": "DocField",
- "fieldname": "conversion_factor",
- "fieldtype": "Float",
- "hidden": 1,
- "label": "Conversion Factor",
- "oldfieldname": "conversion_factor",
- "oldfieldtype": "Currency",
+ "options": "Company:company:default_currency",
"read_only": 1
},
{
@@ -129,21 +113,46 @@
},
{
"doctype": "DocField",
- "fieldname": "stock_uom",
- "fieldtype": "Link",
- "label": "Stock Uom",
- "oldfieldname": "stock_uom",
- "oldfieldtype": "Data",
- "options": "UOM",
+ "fieldname": "conversion_factor",
+ "fieldtype": "Float",
+ "hidden": 1,
+ "label": "Conversion Factor",
+ "oldfieldname": "conversion_factor",
+ "oldfieldtype": "Currency",
"read_only": 1
},
{
"doctype": "DocField",
"fieldname": "current_stock",
"fieldtype": "Float",
+ "hidden": 1,
"label": "Current Stock",
"oldfieldname": "current_stock",
"oldfieldtype": "Currency",
"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
}
]
\ No newline at end of file
diff --git a/erpnext/stock/doctype/item_price/item_price.py b/erpnext/stock/doctype/item_price/item_price.py
index cb07e70..284c52f 100644
--- a/erpnext/stock/doctype/item_price/item_price.py
+++ b/erpnext/stock/doctype/item_price/item_price.py
@@ -12,10 +12,19 @@
self.doc, self.doclist = d, dl
def validate(self):
+ self.validate_item()
self.validate_price_list()
self.check_duplicate_item()
self.update_price_list_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):
enabled = webnotes.conn.get_value("Price List", self.doc.price_list, "enabled")
@@ -38,8 +47,9 @@
}), ItemPriceDuplicateItem)
def update_price_list_details(self):
- self.doc.buying, self.doc.selling, self.doc.currency = webnotes.conn.get_value("Price List",
- {"name": self.doc.price_list, "enabled": 1}, ["buying", "selling", "currency"])
+ self.doc.buying, self.doc.selling, self.doc.currency = \
+ webnotes.conn.get_value("Price List", {"name": self.doc.price_list, "enabled": 1},
+ ["buying", "selling", "currency"])
def update_item_details(self):
self.doc.item_name, self.doc.item_description = webnotes.conn.get_value("Item",