[fix] naming series refactor patch
diff --git a/erpnext/patches/v11_0/refactor_naming_series.py b/erpnext/patches/v11_0/refactor_naming_series.py
index dce56d8..9f4687c 100644
--- a/erpnext/patches/v11_0/refactor_naming_series.py
+++ b/erpnext/patches/v11_0/refactor_naming_series.py
@@ -4,7 +4,6 @@
from __future__ import print_function, unicode_literals
import frappe
-from frappe.custom.doctype.property_setter.property_setter import make_property_setter
doctype_series_map = {
'Additional Salary': 'HR-ADS-.YY.-.MM.-',
@@ -79,17 +78,9 @@
set_series(doctype, opts["options"], opts["default"])
def set_series(doctype, options, default):
- def _make_property_setter(property_name, value):
- property_setter = frappe.db.exists('Property Setter',
- {'doc_type': doctype, 'field_name': 'naming_series', 'property': property_name})
- if property_setter:
- frappe.db.set_value('Property Setter', property_setter, 'value', value)
- else:
- make_property_setter(doctype, "naming_series", "options", value, "Text")
-
- _make_property_setter("options", options)
+ make_property_setter(doctype, "options", options)
if default:
- _make_property_setter("default", default)
+ make_property_setter(doctype, "default", default)
def get_series():
series_to_set = {}
@@ -124,4 +115,28 @@
def get_default_series(doctype):
default_series = (frappe.get_meta(doctype).get_field("naming_series").default or "")
- return default_series
\ No newline at end of file
+ return default_series
+
+def make_property_setter(doctype, property_name, value):
+ property_setter = frappe.db.exists('Property Setter',
+ {'doc_type': doctype, 'field_name': 'naming_series', 'property': property_name})
+ if property_setter:
+ frappe.db.set_value('Property Setter', property_setter, 'value', value)
+ else:
+ property_setter = frappe.get_doc({
+ "doctype":"Property Setter",
+ "doctype_or_field": "DocField",
+ "doc_type": doctype,
+ "field_name": 'naming_series',
+ "property": property_name,
+ "value": value,
+ "property_type": "Text"
+ })
+ property_setter.flags.ignore_permissions = True
+ property_setter.flags.validate_fields_for_doctype = True
+ try:
+ property_setter.insert()
+ except DuplicateEntryError:
+ name = "{0}-{1}-{2}-1".format(doctype, fieldname, property)
+ property_setter.name = name
+ property_setter.insert()
\ No newline at end of file