timesheet patch update
diff --git a/patches/february_2013/p09_timesheets.py b/patches/february_2013/p09_timesheets.py
index 3378793..4ffa59c 100644
--- a/patches/february_2013/p09_timesheets.py
+++ b/patches/february_2013/p09_timesheets.py
@@ -2,8 +2,21 @@
def execute():
# convert timesheet details to time logs
+ webnotes.reload_doc("projects", "doctype", "time_log")
+
+ # copy custom fields
+ custom_map = {"Timesheet":[], "Timesheet Detail":[]}
+ for custom_field in webnotes.conn.sql("""select * from `tabCustom Field` where
+ dt in ('Timesheet', 'Timesheet Detail')""", as_dict=True):
+ custom_map[custom_field.dt].append(custom_field.fieldname)
+ custom_field.doctype = "Custom Field"
+ custom_field.dt = "Time Log"
+ custom_field.insert_after = None
+ cf = webnotes.bean(custom_field).insert()
+
for name in webnotes.conn.sql_list("""select name from tabTimesheet"""):
ts = webnotes.bean("Timesheet", name)
+
for tsd in ts.doclist.get({"doctype":"Timesheet Detail"}):
if not webnotes.conn.exists("Project", tsd.project_name):
tsd.project_name = None
@@ -20,8 +33,18 @@
"project": tsd.project_name,
"note": ts.doc.notes,
"file_list": ts.doc.file_list,
- "_user_tags": ts.doc._user_tags
+ "_user_tags": ts.doc._user_tags,
+ "owner": ts.doc.owner,
+ "creation": ts.doc.creation,
+ "modified_by": ts.doc.modified_by
})
+
+ for key in custom_map["Timesheet"]:
+ tl.doc.fields[key] = ts.doc.fields.get(key)
+
+ for key in custom_map["Timesheet Detail"]:
+ tl.doc.fields[key] = tsd.fields.get(key)
+
tl.make_obj()
tl.controller.set_status()
tl.controller.calculate_total_hours()