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)