Merge branch 'master' into edge
diff --git a/projects/report/daily_time_log_summary/daily_time_log_summary.py b/projects/report/daily_time_log_summary/daily_time_log_summary.py
index 808d1ba..8c1e266 100644
--- a/projects/report/daily_time_log_summary/daily_time_log_summary.py
+++ b/projects/report/daily_time_log_summary/daily_time_log_summary.py
@@ -19,23 +19,29 @@
time_logs = webnotes.conn.sql("""select * from `tabTime Log`
where docstatus < 2 %s order by owner asc""" % (conditions, ), filters, as_dict=1)
- data = []
if time_logs:
profiles = [time_logs[0].owner]
- total_hours = 0
+ data = []
+ total_hours = total_employee_hours = count = 0
for tl in time_logs:
if tl.owner not in profiles:
profiles.append(tl.owner)
- data.append([])
-
+ data.append(["", "", "", "Total", total_employee_hours, "", "", "", "", ""])
+ total_employee_hours = 0
+
data.append([tl.name, profile_map[tl.owner], tl.from_time, tl.to_time, tl.hours,
tl.activity_type, tl.task, task_map.get(tl.task), tl.project, tl.status])
-
+
+ count += 1
total_hours += flt(tl.hours)
-
+ total_employee_hours += flt(tl.hours)
+
+ if count == len(time_logs):
+ data.append(["", "", "", "Total Hours", total_employee_hours, "", "", "", "", ""])
+
if total_hours:
- data.append(["", "", "", "Total", total_hours, "", "", "", "", ""])
+ data.append(["", "", "", "Grand Total", total_hours, "", "", "", "", ""])
return columns, data
diff --git a/setup/doctype/naming_series/naming_series.py b/setup/doctype/naming_series/naming_series.py
index 5991181..7b804f8 100644
--- a/setup/doctype/naming_series/naming_series.py
+++ b/setup/doctype/naming_series/naming_series.py
@@ -29,12 +29,12 @@
def get_transactions(self, arg=None):
return {
- "transactions": "\n".join([''] + [i[0] for i in
- sql("""select `tabDocField`.`parent`
- FROM `tabDocField`, `tabDocType`
- WHERE `tabDocField`.`fieldname` = 'naming_series'
- and `tabDocType`.name=`tabDocField`.parent
- order by `tabDocField`.parent""")]),
+ "transactions": "\n".join([''] + sorted(list(set(
+ webnotes.conn.sql_list("""select parent
+ from `tabDocField` where fieldname='naming_series'""")
+ + webnotes.conn.sql_list("""select dt from `tabCustom Field`
+ where fieldname='naming_series'""")
+ )))),
"prefixes": "\n".join([''] + [i[0] for i in
sql("""select name from tabSeries""")])
}
@@ -89,7 +89,6 @@
'property': prop,
'value': prop_dict[prop],
'property_type': 'Select',
- 'select_doctype': doctype
})
ps.save(1)
@@ -101,11 +100,18 @@
from core.doctype.doctype.doctype import DocType
dt = DocType()
- parent = sql("""select dt.name from `tabDocField` df, `tabDocType` dt
- where dt.name = df.parent and df.fieldname='naming_series' and dt.name != %s""",
- self.doc.select_doc_for_series)
- sr = ([webnotes.model.doctype.get_property(p[0], 'options', 'naming_series'), p[0]]
- for p in parent)
+ parent = list(set(
+ webnotes.conn.sql_list("""select dt.name
+ from `tabDocField` df, `tabDocType` dt
+ where dt.name = df.parent and df.fieldname='naming_series' and dt.name != %s""",
+ self.doc.select_doc_for_series)
+ + webnotes.conn.sql_list("""select dt.name
+ from `tabCustom Field` df, `tabDocType` dt
+ where dt.name = df.dt and df.fieldname='naming_series' and dt.name != %s""",
+ self.doc.select_doc_for_series)
+ ))
+ sr = [[webnotes.model.doctype.get_property(p, 'options', 'naming_series'), p]
+ for p in parent]
options = self.scrub_options_list(self.doc.set_options.split("\n"))
for series in options:
dt.validate_series(series, self.doc.select_doc_for_series)