From 17405d4130058fc402c8c1fef83e009fe6624a54 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 30 Jul 2015 13:47:02 +0530 Subject: [PATCH 1/2] repost stock for product bundle materials --- erpnext/patches.txt | 4 ++-- ...x_reserved_qty_and_sle_for_packed_items.py | 20 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/erpnext/patches.txt b/erpnext/patches.txt index ca6e137c57a..75c1dff5765 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -181,6 +181,6 @@ erpnext.patches.v5_1.rename_roles erpnext.patches.v5_1.default_bom execute:frappe.delete_doc("DocType", "Party Type") execute:frappe.delete_doc("Module Def", "Contacts") -erpnext.patches.v5_4.fix_reserved_qty_and_sle_for_packed_items +erpnext.patches.v5_4.fix_reserved_qty_and_sle_for_packed_items # 30-07-2015 execute:frappe.reload_doctype("Leave Type") -execute:frappe.db.sql("update `tabLeave Type` set include_holiday=1") +execute:frappe.db.sql("update `tabLeave Type` set include_holiday=0") \ No newline at end of file diff --git a/erpnext/patches/v5_4/fix_reserved_qty_and_sle_for_packed_items.py b/erpnext/patches/v5_4/fix_reserved_qty_and_sle_for_packed_items.py index 0d46d99c349..f1632abd5ac 100644 --- a/erpnext/patches/v5_4/fix_reserved_qty_and_sle_for_packed_items.py +++ b/erpnext/patches/v5_4/fix_reserved_qty_and_sle_for_packed_items.py @@ -10,15 +10,19 @@ def execute(): where docstatus = 2 and ifnull(update_stock, 0) = 1""") if cancelled_invoices: + repost_for = frappe.db.sql("""select distinct item_code, warehouse from `tabStock Ledger Entry` + where voucher_type = 'Sales Invoice' and voucher_no in (%s)""" + % (', '.join(['%s']*len(cancelled_invoices))), tuple(cancelled_invoices)) + frappe.db.sql("""delete from `tabStock Ledger Entry` where voucher_type = 'Sales Invoice' and voucher_no in (%s)""" % (', '.join(['%s']*len(cancelled_invoices))), tuple(cancelled_invoices)) - for item_code, warehouse in frappe.db.sql("select item_code, warehouse from tabBin where ifnull(reserved_qty, 0) < 0"): - - repost_actual_qty(item_code, warehouse) - - update_bin_qty(item_code, warehouse, { - "reserved_qty": get_reserved_qty(item_code, warehouse) - }) - \ No newline at end of file + for item_code, warehouse in repost_for: + repost_actual_qty(item_code, warehouse) + + for item_code, warehouse in frappe.db.sql("""select distinct item_code, warehouse + from `tabPacked Item` where parenttype = 'Sales Invoice' and docstatus = 1"""): + update_bin_qty(item_code, warehouse, { + "reserved_qty": get_reserved_qty(item_code, warehouse) + }) \ No newline at end of file From d8546c4316f74e7aadff6ae39a6f3d250debeb2e Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 30 Jul 2015 14:48:31 +0530 Subject: [PATCH 2/2] Fixed include holiday logic in leave calculation --- .../hr/doctype/leave_application/leave_application.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py index d1ec4b187ab..228f2bde11a 100755 --- a/erpnext/hr/doctype/leave_application/leave_application.py +++ b/erpnext/hr/doctype/leave_application/leave_application.py @@ -239,14 +239,15 @@ def get_total_leave_days(leave_app): if not leave_app.half_day: tot_days = date_diff(leave_app.to_date, leave_app.from_date) + 1 if frappe.db.get_value("Leave Type", leave_app.leave_type, "include_holiday"): + ret = { + 'total_leave_days' : flt(tot_days) + } + else: holidays = leave_app.get_holidays() ret = { 'total_leave_days' : flt(tot_days)-flt(holidays) } - else: - ret = { - 'total_leave_days' : flt(tot_days) - } + return ret @frappe.whitelist()