[fix] include cancel time logs in convert and v6 to v7.1 fix (#6840)
diff --git a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
index 2ca72b4..9894c2a 100644
--- a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
+++ b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
@@ -3,11 +3,12 @@
import make_timesheet, add_timesheet_detail
def execute():
+ frappe.reload_doc('projects', 'doctype', 'task')
frappe.reload_doc('projects', 'doctype', 'timesheet')
if not frappe.db.table_exists("Time Log"):
return
- for data in frappe.db.sql("select * from `tabTime Log` where docstatus < 2", as_dict=1):
+ for data in frappe.db.sql("select * from `tabTime Log`", as_dict=1):
if data.task:
company = frappe.db.get_value("Task", data.task, "company")
elif data.production_order:
@@ -18,7 +19,10 @@
time_sheet = make_timesheet(data.production_order)
args = get_timelog_data(data)
add_timesheet_detail(time_sheet, args)
- time_sheet.docstatus = data.docstatus
+ if data.docstatus == 2:
+ time_sheet.docstatus = 0
+ else:
+ time_sheet.docstatus = data.docstatus
time_sheet.employee = data.employee
time_sheet.note = data.note
time_sheet.company = company
@@ -38,6 +42,10 @@
d.db_set("docstatus", 1)
time_sheet.update_production_order(time_sheet.name)
time_sheet.update_task_and_project()
+ if data.docstatus == 2:
+ time_sheet.db_set("docstatus", 2)
+ for d in time_sheet.get("time_logs"):
+ d.db_set("docstatus", 2)
def get_timelog_data(data):
return {