From 917e53419106b358e48e45f461fec46ae47e108a Mon Sep 17 00:00:00 2001 From: Himanshu Warekar Date: Sun, 5 May 2019 14:43:11 +0530 Subject: [PATCH] patch: fix to migrate to new sla structure --- erpnext/patches.txt | 1 + .../v12_0/move_parameters_to_priority.py | 82 +++++++------------ 2 files changed, 30 insertions(+), 53 deletions(-) diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 01270e4779..9c74f27ec7 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -601,3 +601,4 @@ erpnext.patches.v11_1.set_salary_details_submittable erpnext.patches.v11_1.rename_depends_on_lwp execute:frappe.delete_doc("Report", "Inactive Items") erpnext.patches.v11_1.delete_scheduling_tool +erpnext.patches.v12_0.move_parameters_to_priority \ No newline at end of file diff --git a/erpnext/patches/v12_0/move_parameters_to_priority.py b/erpnext/patches/v12_0/move_parameters_to_priority.py index 395d225a21..bdecb31e42 100644 --- a/erpnext/patches/v12_0/move_parameters_to_priority.py +++ b/erpnext/patches/v12_0/move_parameters_to_priority.py @@ -5,58 +5,34 @@ from __future__ import unicode_literals import frappe def execute(): - service_levels = frappe.get_list("Service Level") - for service_level in service_levels: - doc = frappe.get_doc("Service Level", service_level.name) - doc.append("priority", - { - "priority": "Low", - "response_time": doc.response_time, - "response_time_period": doc.resolution_time_period, - "resolution_time": doc.resolution_time, - "resolution_time_period": doc.resolution_time_period, - }, - { - "priority": "Medium", - "response_time": doc.response_time, - "response_time_period": doc.resolution_time_period, - "resolution_time": doc.resolution_time, - "resolution_time_period": doc.resolution_time_period, - }, - { - "priority": "High", - "response_time": doc.response_time, - "response_time_period": doc.resolution_time_period, - "resolution_time": doc.resolution_time, - "resolution_time_period": doc.resolution_time_period, - } - ) - doc.save(ignore_permissions=True) + priorities = ["Low", "Medium", "High"] - service_level_agreements = frappe.get_list("Service Level Agreement") + service_levels = frappe.get_list("Service Level", + fields=["name", "priority", "response_time", "response_time_period", "resolution_time", "resolution_time_period"]) + for service_level in service_levels: + for value in priorities: + doc = frappe.get_doc({ + "doctype": "Service Level Priority", + "parent": service_level.name, + "parenttype": "Service Level", + "priority": value, + "response_time": service_level.response_time, + "response_time_period": service_level.response_time_period, + "resolution_time": service_level.resolution_time, + "resolution_time_period": service_level.resolution_time_period, + }).insert(ignore_permissions=True) + + service_level_agreements = frappe.get_list("Service Level Agreement", + fields=["name", "priority", "response_time", "response_time_period", "resolution_time", "resolution_time_period"]) for service_level_agreement in service_level_agreements: - doc = frappe.get_doc("Service Level Agreement", service_level_agreement.name) - doc.append("priority", - { - "priority": "Low", - "response_time": doc.response_time, - "response_time_period": doc.resolution_time_period, - "resolution_time": doc.resolution_time, - "resolution_time_period": doc.resolution_time_period, - }, - { - "priority": "Medium", - "response_time": doc.response_time, - "response_time_period": doc.resolution_time_period, - "resolution_time": doc.resolution_time, - "resolution_time_period": doc.resolution_time_period, - }, - { - "priority": "High", - "response_time": doc.response_time, - "response_time_period": doc.resolution_time_period, - "resolution_time": doc.resolution_time, - "resolution_time_period": doc.resolution_time_period, - } - ) - doc.save(ignore_permissions=True) \ No newline at end of file + for value in priorities: + doc = frappe.get_doc({ + "doctype": "Service Level Priority", + "parent": service_level_agreement.name, + "parenttype": "Service Level Agreement", + "priority": value, + "response_time": service_level_agreement.response_time, + "response_time_period": service_level_agreement.response_time_period, + "resolution_time": service_level_agreement.resolution_time, + "resolution_time_period": service_level_agreement.resolution_time_period, + }).insert(ignore_permissions=True) \ No newline at end of file