From f553b53fbf0ce62cd24488d83461ef2f3849df06 Mon Sep 17 00:00:00 2001 From: Suraj Shetty Date: Fri, 8 Jun 2018 16:28:36 +0530 Subject: [PATCH] Add patch to set update_field and update_value (#14421) * Add patch to set update_field and update_value - set update_field and update_value if empty since expense claim workflow is dependent on it. * Set update_field for workflow state of leave application * Update patch entry * Fix bug * Update set_update_field_and_value_in_workflow_state.py --- erpnext/patches.txt | 1 + ...update_field_and_value_in_workflow_state.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py diff --git a/erpnext/patches.txt b/erpnext/patches.txt index 8e9de968dd..8e0aa74c91 100644 --- a/erpnext/patches.txt +++ b/erpnext/patches.txt @@ -546,3 +546,4 @@ erpnext.patches.v11_0.update_backflush_subcontract_rm_based_on_bom erpnext.patches.v10_0.update_status_in_purchase_receipt erpnext.patches.v11_0.inter_state_field_for_gst erpnext.patches.v11_0.rename_members_with_naming_series #04-06-2018 +erpnext.patches.v11_0.set_update_field_and_value_in_workflow_state \ No newline at end of file diff --git a/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py b/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py new file mode 100644 index 0000000000..ca8f0dc924 --- /dev/null +++ b/erpnext/patches/v11_0/set_update_field_and_value_in_workflow_state.py @@ -0,0 +1,18 @@ +import frappe +from frappe.model.workflow import get_workflow_name + +def execute(): + for doctype in ['Expense Claim', 'Leave Application']: + + active_workflow = get_workflow_name(doctype) + if not active_workflow: continue + + workflow_states = frappe.get_all('Workflow Document State', + filters=[['parent', '=', active_workflow]], + fields=['*']) + + for state in workflow_states: + if state.update_field: continue + status_field = 'approval_status' if doctype=="Expense Claim" else 'status' + frappe.set_value('Workflow Document State', state.name, 'update_field', status_field) + frappe.set_value('Workflow Document State', state.name, 'update_value', state.state)