diff --git a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py index 2ca72b4b48..9894c2a6d3 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 @@ from erpnext.manufacturing.doctype.production_order.production_order \ 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 @@ def execute(): 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 @@ def execute(): 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 {