fix: check for available stock in product bundle's website warehouse (#20679)

* fix: check for available stock in product bundle's website warehouse

* test: earned leaves creation

* fix: minor change

Co-authored-by: Mangesh-Khairnar <mkhairnar10@gmail.com>
This commit is contained in:
Saqib
2020-02-20 12:22:01 +05:30
committed by GitHub
parent cd6b60df70
commit 2d2aa7d664
2 changed files with 6 additions and 4 deletions

View File

@@ -439,10 +439,11 @@ class TestLeaveApplication(unittest.TestCase):
# validate earned leaves creation without maximum leaves
frappe.db.set_value('Leave Type', leave_type, 'max_leaves_allowed', 0)
while(i<14):
i = 0
while(i<6):
allocate_earned_leaves()
i += 1
self.assertEqual(get_leave_balance_on(employee.name, leave_type, nowdate()), 14)
self.assertEqual(get_leave_balance_on(employee.name, leave_type, nowdate()), 9)
# test to not consider current leave in leave balance while submitting
def test_current_leave_on_submit(self):
@@ -623,4 +624,4 @@ def allocate_leaves(employee, leave_period, leave_type, new_leaves_allocated, el
"docstatus": 1
}).insert()
allocate_leave.submit()
allocate_leave.submit()

View File

@@ -129,6 +129,7 @@ def get_non_stock_item_status(item_code, item_warehouse_field):
#if item belongs to product bundle, check if bundle items are in stock
if frappe.db.exists("Product Bundle", item_code):
items = frappe.get_doc("Product Bundle", item_code).get_all_children()
return all([ get_qty_in_stock(d.item_code, item_warehouse_field).in_stock for d in items ])
bundle_warehouse = frappe.db.get_value('Item', item_code, item_warehouse_field)
return all([ get_qty_in_stock(d.item_code, item_warehouse_field, bundle_warehouse).in_stock for d in items ])
else:
return 1