From 3e712f212a14fd2dc8e95b5f1365c9f73f5e346a Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 4 Mar 2013 16:21:54 +0530 Subject: [PATCH] timesheet patch update --- patches/february_2013/p09_timesheets.py | 25 ++++++++++++++++++++++++- projects/doctype/time_log/time_log.py | 2 +- projects/doctype/time_log/time_log.txt | 20 ++++++++++---------- 3 files changed, 35 insertions(+), 12 deletions(-) diff --git a/patches/february_2013/p09_timesheets.py b/patches/february_2013/p09_timesheets.py index 3378793cd0..4ffa59cead 100644 --- a/patches/february_2013/p09_timesheets.py +++ b/patches/february_2013/p09_timesheets.py @@ -2,8 +2,21 @@ import webnotes 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 @@ def execute(): "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() diff --git a/projects/doctype/time_log/time_log.py b/projects/doctype/time_log/time_log.py index 870c51cb5c..fe5d287718 100644 --- a/projects/doctype/time_log/time_log.py +++ b/projects/doctype/time_log/time_log.py @@ -68,7 +68,7 @@ def get_events(start, end): }, as_dict=True, update={"allDay": 0}) for d in data: - d.title = d.name + ": " + d.activity_type + d.title = d.name + ": " + (d.activity_type or "[Activity Type not set]") if d.task: d.title += " for Task: " + d.task if d.project: diff --git a/projects/doctype/time_log/time_log.txt b/projects/doctype/time_log/time_log.txt index 0e52464402..cf815db57f 100644 --- a/projects/doctype/time_log/time_log.txt +++ b/projects/doctype/time_log/time_log.txt @@ -1,8 +1,8 @@ [ { - "creation": "2013-02-26 14:58:28", + "creation": "2013-03-04 02:39:45", "docstatus": 0, - "modified": "2013-03-01 17:48:09", + "modified": "2013-03-04 02:48:12", "modified_by": "Administrator", "owner": "Administrator" }, @@ -31,7 +31,6 @@ "parenttype": "DocType", "permlevel": 0, "read": 1, - "report": 1, "write": 1 }, { @@ -164,6 +163,12 @@ "permlevel": 0, "read_only": 1 }, + { + "doctype": "DocField", + "fieldname": "column_break_16", + "fieldtype": "Column Break", + "permlevel": 0 + }, { "doctype": "DocField", "fieldname": "file_list", @@ -185,18 +190,13 @@ "print_hide": 1 }, { - "cancel": 0, "create": 1, "doctype": "DocPerm", "match": "owner", - "role": "Projects User", - "submit": 1 + "role": "Projects User" }, { - "amend": 1, - "cancel": 1, "doctype": "DocPerm", - "role": "Projects Manager", - "submit": 0 + "role": "Projects Manager" } ] \ No newline at end of file