From 7fb79f6062a8e87229eb06f9bb04b88f7fb16701 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 12 Sep 2014 15:04:25 +0530 Subject: [PATCH] #2092 --- .../doctype/naming_series/naming_series.py | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/erpnext/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py index 92781390fc..bd6b708e98 100644 --- a/erpnext/setup/doctype/naming_series/naming_series.py +++ b/erpnext/setup/doctype/naming_series/naming_series.py @@ -12,15 +12,27 @@ from frappe.model.document import Document class NamingSeries(Document): def get_transactions(self, arg=None): + doctypes = list(set(frappe.db.sql_list("""select parent + from `tabDocField` where fieldname='naming_series'""") + + frappe.db.sql_list("""select dt from `tabCustom Field` + where fieldname='naming_series'"""))) + + prefixes = "" + for d in doctypes: + print d + try: + options = self.get_options(d) + except frappe.DoesNotExistError: + continue + + prefixes = prefixes + "\n" + options + + prefixes.replace("\n\n", "\n") + prefixes = "\n".join(sorted(prefixes.split())) + return { - "transactions": "\n".join([''] + sorted(list(set( - frappe.db.sql_list("""select parent - from `tabDocField` where fieldname='naming_series'""") - + frappe.db.sql_list("""select dt from `tabCustom Field` - where fieldname='naming_series'""") - )))), - "prefixes": "\n".join([''] + [i[0] for i in - frappe.db.sql("""select name from tabSeries order by name""")]) + "transactions": "\n".join([''] + sorted(doctypes)), + "prefixes": prefixes } def scrub_options_list(self, ol): @@ -110,8 +122,8 @@ class NamingSeries(Document): if not re.match("^[a-zA-Z0-9- /.#]*$", n): throw(_('Special Characters except "-" and "/" not allowed in naming series')) - def get_options(self, arg=''): - return frappe.get_meta(self.select_doc_for_series).get_field("naming_series").options + def get_options(self, arg=None): + return frappe.get_meta(arg or self.select_doc_for_series).get_field("naming_series").options def get_current(self, arg=None): """get series current"""