Merge pull request #6095 from nabinhait/timesheet_patch

Ignore overlap validation while creating timesheet from existing time logs
diff --git a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
index cb16466..072ba13 100644
--- a/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
+++ b/erpnext/patches/v7_0/convert_timelog_to_timesheet.py
@@ -1,19 +1,23 @@
 import frappe
-
-from erpnext.manufacturing.doctype.production_order.production_order import make_timesheet, add_timesheet_detail
+from erpnext.manufacturing.doctype.production_order.production_order \
+	import make_timesheet, add_timesheet_detail
+from erpnext.projects.doctype.timesheet.timesheet import OverlapError
 
 def execute():
 	frappe.reload_doc('projects', 'doctype', 'timesheet')
 
-	for data in frappe.get_all('Time Log', fields=["*"],
-		filters = [["docstatus", "<", "2"]]):
-		time_sheet = make_timesheet(data.production_order)
-		args = get_timelog_data(data)
-		add_timesheet_detail(time_sheet, args)
-		time_sheet.docstatus = data.docstatus
-		time_sheet.note = data.note
-		time_sheet.company = frappe.db.get_single_value('Global Defaults', 'default_company')
-		time_sheet.save(ignore_permissions=True)
+	for data in frappe.get_all('Time Log', fields=["*"], filters = [["docstatus", "<", "2"]]):
+		try:
+			time_sheet = make_timesheet(data.production_order)
+			args = get_timelog_data(data)
+			add_timesheet_detail(time_sheet, args)
+			time_sheet.docstatus = data.docstatus
+			time_sheet.note = data.note
+			time_sheet.company = frappe.db.get_single_value('Global Defaults', 'default_company')
+			time_sheet.save(ignore_permissions=True)
+		except OverlapError:
+			time_sheet.flags.ignore_validate = True
+			time_sheet.save(ignore_permissions=True)
 
 def get_timelog_data(data):
 	return {