- no delivery / reserve warehouse in drop ship

- “Re-open” in DN / PR after “Stop” / “Close"
- check for closed status in reports
This commit is contained in:
Saurabh
2015-11-04 12:03:54 +05:30
parent 9c044eefff
commit b7f0a4961e
11 changed files with 75 additions and 59 deletions

View File

@@ -68,7 +68,7 @@ class SalesOrder(SellingController):
if (frappe.db.get_value("Item", d.item_code, "is_stock_item")==1 or
(self.has_product_bundle(d.item_code) and self.product_bundle_has_stock_item(d.item_code))) \
and not d.warehouse:
and not d.warehouse and not cint(d.delivered_by_supplier):
frappe.throw(_("Delivery warehouse required for stock item {0}").format(d.item_code),
WarehouseRequired)

View File

@@ -314,7 +314,7 @@ class TestSalesOrder(unittest.TestCase):
so_items = [
{
"item_code": po_item.item_code,
"warehouse": "_Test Warehouse - _TC",
"warehouse": "",
"qty": 2,
"rate": 400,
"delivered_by_supplier": 1,
@@ -360,13 +360,13 @@ class TestSalesOrder(unittest.TestCase):
ordered_qty, reserved_qty = frappe.db.get_value("Bin",
{"item_code": po_item.item_code, "warehouse": "_Test Warehouse - _TC"}, ["ordered_qty", "reserved_qty"])
self.assertEquals(abs(ordered_qty), existing_ordered_qty + so_items[0]['qty'])
self.assertEquals(abs(reserved_qty), existing_reserved_qty + so_items[0]['qty'])
self.assertEquals(abs(flt(ordered_qty)), existing_ordered_qty + so_items[0]['qty'])
self.assertEquals(abs(flt(reserved_qty)), existing_reserved_qty)
reserved_qty = frappe.db.get_value("Bin",
{"item_code": dn_item.item_code, "warehouse": "_Test Warehouse - _TC"}, "reserved_qty")
self.assertEquals(abs(reserved_qty), existing_reserved_qty_for_dn_item + 1)
self.assertEquals(abs(flt(reserved_qty)), existing_reserved_qty_for_dn_item + 1)
#test po_item length
self.assertEquals(len(po.items), 1)
@@ -380,7 +380,7 @@ class TestSalesOrder(unittest.TestCase):
reserved_qty = frappe.db.get_value("Bin",
{"item_code": dn_item.item_code, "warehouse": "_Test Warehouse - _TC"}, "reserved_qty")
self.assertEquals(abs(reserved_qty), existing_reserved_qty_for_dn_item)
self.assertEquals(abs(flt(reserved_qty)), existing_reserved_qty_for_dn_item)
#test after closing so
so.db_set('status', "Closed")
@@ -389,13 +389,13 @@ class TestSalesOrder(unittest.TestCase):
ordered_qty, reserved_qty = frappe.db.get_value("Bin",
{"item_code": po_item.item_code, "warehouse": "_Test Warehouse - _TC"}, ["ordered_qty", "reserved_qty"])
self.assertEquals(abs(ordered_qty), existing_ordered_qty)
self.assertEquals(abs(reserved_qty), existing_reserved_qty)
self.assertEquals(abs(flt(ordered_qty)), existing_ordered_qty)
self.assertEquals(abs(flt(reserved_qty)), existing_reserved_qty)
reserved_qty = frappe.db.get_value("Bin",
{"item_code": dn_item.item_code, "warehouse": "_Test Warehouse - _TC"}, "reserved_qty")
self.assertEquals(abs(reserved_qty), existing_reserved_qty)
self.assertEquals(abs(flt(reserved_qty)), existing_reserved_qty)
def test_reserved_qty_for_closing_so(self):
bin = frappe.get_all("Bin", filters={"item_code": "_Test Item", "warehouse": "_Test Warehouse - _TC"},

View File

@@ -751,27 +751,6 @@
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"fieldname": "column_break_32",
"fieldtype": "Column Break",
"hidden": 0,
"ignore_user_permissions": 0,
"in_filter": 0,
"in_list_view": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"read_only": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
},
{
"allow_on_submit": 0,
"bold": 0,
@@ -797,6 +776,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"depends_on": "eval:doc.delivered_by_supplier!=1",
"fieldname": "warehouse",
"fieldtype": "Link",
"hidden": 0,
@@ -823,6 +803,7 @@
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"depends_on": "eval:doc.delivered_by_supplier!=1",
"fieldname": "target_warehouse",
"fieldtype": "Link",
"hidden": 0,
@@ -1206,7 +1187,7 @@
"is_submittable": 0,
"issingle": 0,
"istable": 1,
"modified": "2015-11-03 07:58:15.034750",
"modified": "2015-11-04 11:29:57.645382",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order Item",