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
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 8e9de96..8e0aa74 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -546,3 +546,4 @@
 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 0000000..ca8f0dc
--- /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)