[doclist] new pattern / [item] pricelist must be unique / [formatter] show null floats as empty string

This commit is contained in:
Rushabh Mehta
2013-05-02 14:22:40 +05:30
parent 3aeed95e0a
commit c711598940
3 changed files with 27 additions and 12 deletions

View File

@@ -23,6 +23,7 @@ from webnotes.model.bean import getlist
from webnotes import msgprint, _
from webnotes.model.controller import DocListController
class DocType(DocListController):
def validate(self):
if not self.doc.stock_uom:
@@ -124,13 +125,12 @@ class DocType(DocListController):
def check_ref_rate_detail(self):
check_list=[]
for d in getlist(self.doclist,'ref_rate_details'):
if [cstr(d.price_list_name), cstr(d.ref_currency),
cint(d.selling), cint(d.buying)] in check_list:
msgprint("Ref Rate is entered twice for Price List : '%s' and Currency : '%s'." %
(d.price_list_name,d.ref_currency), raise_exception=1)
if d.price_list_name in check_list:
msgprint(_("Cannot have two prices for same Price List") + ": " + d.price_list_name,
raise_exception= webnotes.DuplicateEntryError)
else:
check_list.append([cstr(d.price_list_name),cstr(d.ref_currency)])
check_list.append(d.price_list_name)
def fill_customer_code(self):
""" Append all the customer codes and insert into "customer_code" field of item table """
cust_code=[]

View File

@@ -20,6 +20,14 @@ import webnotes
test_ignore = ["BOM"]
class TestItem(unittest.TestCase):
def test_duplicate_price_list(self):
item = webnotes.bean(copy=test_records[0])
item.doc.item_code = "_Test Item 10"
item_price = item.doclist.get({"doctype": "Item Price"})[0]
item.doclist.append(webnotes.doc(item_price.fields.copy()))
self.assertRaises(webnotes.DuplicateEntryError, item.insert)
test_records = [
[{
"doctype": "Item",
@@ -45,7 +53,14 @@ test_records = [
"warehouse": "_Test Warehouse",
"warehouse_reorder_level": 20,
"warehouse_reorder_qty": 20
}],
}, {
"doctype": "Item Price",
"parentfield": "ref_rate_details",
"price_list_name": "_Test Price List",
"ref_rate": 100,
"ref_currency": "INR"
}
],
[{
"doctype": "Item",
"item_code": "_Test Item Home Desktop 100",