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)