From a626d967c0938cc4498cfe2de809a440da7fc7fc Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Tue, 28 Aug 2018 16:08:22 +0530 Subject: [PATCH] [fix] naming series refactor patch --- .../patches/v11_0/refactor_naming_series.py | 44 +++++++------------ .../doctype/delivery_trip/delivery_trip.py | 1 - 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/erpnext/patches/v11_0/refactor_naming_series.py b/erpnext/patches/v11_0/refactor_naming_series.py index a3682deb59b..1e4a53c27da 100644 --- a/erpnext/patches/v11_0/refactor_naming_series.py +++ b/erpnext/patches/v11_0/refactor_naming_series.py @@ -4,6 +4,7 @@ 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.-', @@ -73,14 +74,27 @@ doctype_series_map = { } def execute(): + frappe.db.sql(""" + update `tabProperty Setter` + set name=concat(doc_type, '-', field_name, '-', property) + where property='fetch_from' + """) series_to_set = get_series() for doctype, opts in series_to_set.items(): set_series(doctype, opts["options"], opts["default"]) def set_series(doctype, options, default): - make_property_setter(doctype, "options", options) + 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) if default: - make_property_setter(doctype, "default", default) + _make_property_setter("default", default) def get_series(): series_to_set = {} @@ -115,28 +129,4 @@ def get_series_to_preserve(doctype): def get_default_series(doctype): default_series = (frappe.get_meta(doctype).get_field("naming_series").default or "") - 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 frappe.DuplicateEntryError: - name = "{0}-{1}-{2}-1".format(doctype, fieldname, property) - property_setter.name = name - property_setter.insert() \ No newline at end of file + return default_series \ No newline at end of file diff --git a/erpnext/stock/doctype/delivery_trip/delivery_trip.py b/erpnext/stock/doctype/delivery_trip/delivery_trip.py index 12b6a4a9042..955783a4c6e 100644 --- a/erpnext/stock/doctype/delivery_trip/delivery_trip.py +++ b/erpnext/stock/doctype/delivery_trip/delivery_trip.py @@ -10,7 +10,6 @@ from frappe import _ from frappe.model.document import Document from frappe.utils.user import get_user_fullname from frappe.utils import getdate, cstr -from frappe.integrations.doctype.google_maps.google_maps_settings import round_timedelta, format_address class DeliveryTrip(Document): pass