Merge branch 'master' into responsive
diff --git a/manufacturing/doctype/bom/bom.py b/manufacturing/doctype/bom/bom.py
index 75bf305..b4eeaff 100644
--- a/manufacturing/doctype/bom/bom.py
+++ b/manufacturing/doctype/bom/bom.py
@@ -32,7 +32,7 @@
 
 	def autoname(self):
 		last_name = sql("""select max(name) from `tabBOM` 
-			where name like 'BOM/%s/%%'""" % self.doc.item)
+			where name like "BOM/%s/%%" """ % cstr(self.doc.item).replace('"', '\\"'))
 		if last_name:
 			idx = cint(cstr(last_name[0][0]).split('/')[-1]) + 1
 		else:
@@ -67,16 +67,16 @@
 		self.manage_default_bom()
 
 	def get_item_det(self, item_code):
-		item = sql("""select name, is_asset_item, is_purchase_item, docstatus, description,
-		 	is_sub_contracted_item, stock_uom, default_bom, 
+		item = webnotes.conn.sql("""select name, is_asset_item, is_purchase_item, 
+			docstatus, description, is_sub_contracted_item, stock_uom, default_bom, 
 			last_purchase_rate, standard_rate, is_manufactured_item 
-			from `tabItem` where item_code = %s""", item_code, as_dict = 1)
+			from `tabItem` where name=%s""", item_code, as_dict = 1)
 
 		return item
 
 	def get_item_details(self, item_code):
-		res = sql("""select description, stock_uom as uom
-			from `tabItem` where item_code = %s""", item_code, as_dict = 1)
+		res = webnotes.conn.sql("""select description, stock_uom as uom
+			from `tabItem` where name=%s""", item_code, as_dict = 1)
 		return res and res[0] or {}
 
 	def get_workstation_details(self,workstation):
@@ -209,7 +209,7 @@
 				msgprint("""Operation no: %s against item: %s at row no: %s \
 					is not present at Operations table""" % 
 					(m.operation_no, m.item_code, m.idx), raise_exception = 1)
-		
+			
 			item = self.get_item_det(m.item_code)
 			if item[0]['is_manufactured_item'] == 'Yes':
 				if not m.bom_no:
diff --git a/master.sql.gz b/master.sql.gz
index f331784..030ee05 100644
--- a/master.sql.gz
+++ b/master.sql.gz
Binary files differ
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)