Sales BOM renamed to Product Bundle

This commit is contained in:
Neil Trini Lasrado
2015-07-07 13:59:23 +05:30
parent c70109d0c5
commit ed8cecbdd8
31 changed files with 100 additions and 86 deletions

View File

@@ -331,9 +331,9 @@
"read_only": 1
},
{
"fieldname": "sales_bom_help",
"fieldname": "product_bundle_help",
"fieldtype": "HTML",
"label": "Sales BOM Help",
"label": "Product Bundle Help",
"permlevel": 0,
"print_hide": 1,
"read_only": 0
@@ -1070,7 +1070,7 @@
"idx": 1,
"in_create": 0,
"is_submittable": 1,
"modified": "2015-06-15 15:37:54.699371",
"modified": "2015-07-07 02:37:08.064584",
"modified_by": "Administrator",
"module": "Stock",
"name": "Delivery Note",

View File

@@ -112,7 +112,7 @@ class TestDeliveryNote(unittest.TestCase):
stock_in_hand_account = frappe.db.get_value("Account", {"warehouse": "_Test Warehouse - _TC"})
prev_bal = get_balance_on(stock_in_hand_account)
dn = create_delivery_note(item_code="_Test Sales BOM Item")
dn = create_delivery_note(item_code="_Test Product Bundle Item")
stock_value_diff_rm1 = abs(frappe.db.get_value("Stock Ledger Entry",
{"voucher_type": "Delivery Note", "voucher_no": dn.name, "item_code": "_Test Item"},
@@ -208,4 +208,4 @@ def create_delivery_note(**args):
dn.submit()
return dn
test_dependencies = ["Sales BOM"]
test_dependencies = ["Product Bundle"]

View File

@@ -109,7 +109,7 @@
"stock_uom": "_Test UOM 1"
},
{
"description": "_Test Sales BOM Item 5",
"description": "_Test Product Bundle Item 5",
"doctype": "Item",
"expense_account": "_Test Account Cost for Goods Sold - _TC",
"cost_center": "_Test Cost Center - _TC",
@@ -124,9 +124,9 @@
"is_service_item": "No",
"is_stock_item": "No",
"is_sub_contracted_item": "No",
"item_code": "_Test Sales BOM Item",
"item_code": "_Test Product Bundle Item",
"item_group": "_Test Item Group Desktops",
"item_name": "_Test Sales BOM Item",
"item_name": "_Test Product Bundle Item",
"stock_uom": "_Test UOM"
},
{

View File

@@ -13,9 +13,9 @@ from frappe.model.document import Document
class PackedItem(Document):
pass
def get_sales_bom_items(item_code):
def get_product_bundle_items(item_code):
return frappe.db.sql("""select t1.item_code, t1.qty, t1.uom
from `tabSales BOM Item` t1, `tabSales BOM` t2
from `tabProduct Bundle Item` t1, `tabProduct Bundle` t2
where t2.new_item_code=%s and t1.parent = t2.name""", item_code, as_dict=1)
def get_packing_item_details(item):
@@ -58,14 +58,14 @@ def update_packing_list_item(obj, packing_item_code, qty, warehouse, line):
def make_packing_list(obj, item_table_fieldname):
"""make packing list for sales bom item"""
"""make packing list for Product Bundle item"""
if obj.get("_action") and obj._action == "update_after_submit": return
parent_items = []
for d in obj.get(item_table_fieldname):
if frappe.db.get_value("Sales BOM", {"new_item_code": d.item_code}):
for i in get_sales_bom_items(d.item_code):
if frappe.db.get_value("Product Bundle", {"new_item_code": d.item_code}):
for i in get_product_bundle_items(d.item_code):
update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty), d.warehouse, d)
if [d.item_code, d.name] not in parent_items:

View File

@@ -1 +1 @@
Child Item grouped in parent Sales BOM.
Child Item grouped in parent Product Bundle.

View File

@@ -346,7 +346,7 @@ class TestStockEntry(unittest.TestCase):
self._test_sales_invoice_return("_Test Item", 5, 2)
def test_sales_invoice_return_of_packing_item(self):
self._test_sales_invoice_return("_Test Sales BOM Item", 25, 20)
self._test_sales_invoice_return("_Test Product Bundle Item", 25, 20)
def _test_delivery_note_return(self, item_code, delivered_qty, returned_qty):
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
@@ -381,7 +381,7 @@ class TestStockEntry(unittest.TestCase):
self._test_delivery_note_return("_Test Item", 5, 2)
def test_delivery_note_return_of_packing_item(self):
self._test_delivery_note_return("_Test Sales BOM Item", 25, 20)
self._test_delivery_note_return("_Test Product Bundle Item", 25, 20)
def _test_sales_return_jv(self, se):
jv = make_return_jv(se.name)
@@ -399,7 +399,7 @@ class TestStockEntry(unittest.TestCase):
self._test_sales_return_jv(se)
def test_make_return_jv_for_sales_invoice_packing_item(self):
se = self._test_sales_invoice_return("_Test Sales BOM Item", 25, 20)
se = self._test_sales_invoice_return("_Test Product Bundle Item", 25, 20)
self._test_sales_return_jv(se)
def test_make_return_jv_for_delivery_note_non_packing_item(self):
@@ -410,10 +410,10 @@ class TestStockEntry(unittest.TestCase):
self._test_sales_return_jv(se)
def test_make_return_jv_for_delivery_note_packing_item(self):
se = self._test_delivery_note_return("_Test Sales BOM Item", 25, 20)
se = self._test_delivery_note_return("_Test Product Bundle Item", 25, 20)
self._test_sales_return_jv(se)
se = self._test_delivery_note_return_against_sales_order("_Test Sales BOM Item", 25, 20)
se = self._test_delivery_note_return_against_sales_order("_Test Product Bundle Item", 25, 20)
self._test_sales_return_jv(se)
def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty):

View File

@@ -7,12 +7,12 @@ import frappe, json
def execute(filters=None):
data = []
parents = {
"Sales BOM Item": "Sales BOM",
"Product Bundle Item": "Product Bundle",
"BOM Explosion Item": "BOM",
"BOM Item": "BOM"
}
for doctype in ("Sales BOM Item",
for doctype in ("Product Bundle Item",
"BOM Explosion Item" if filters.search_sub_assemblies else "BOM Item"):
all_boms = {}
for d in frappe.get_all(doctype, fields=["parent", "item_code"]):