patch to create workflow for existing leave applications
diff --git a/erpnext/patches/v10_0/workflow_leave_application.py b/erpnext/patches/v10_0/workflow_leave_application.py
new file mode 100644
index 0000000..ca31128
--- /dev/null
+++ b/erpnext/patches/v10_0/workflow_leave_application.py
@@ -0,0 +1,51 @@
+# Copyright (c) 2017, Frappe and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ frappe.reload_doc("hr", "doctype", "leave_application")
+ frappe.reload_doc("workflow", "doctype", "workflow")
+
+ doc = frappe.get_doc({
+ 'doctype': 'Workflow State',
+ 'workflow_state_name': 'Open',
+ 'style': 'Warning'
+ }).insert(ignore_permissions=True)
+
+ doc = frappe.get_doc({
+ 'doctype': 'Workflow',
+ 'workflow_name': 'Leave Approval',
+ 'document_type': 'Leave Application',
+ 'is_active': 1,
+ 'workflow_state_field': 'workflow_state',
+ 'states': [{
+ "state": 'Open',
+ "doc_status": 0,
+ "allow_edit": 'Employee'
+ }, {
+ "state": 'Approved',
+ "doc_status": 1,
+ "allow_edit": 'Leave Approver'
+ }, {
+ "state": 'Rejected',
+ "doc_status": 1,
+ "allow_edit": 'Leave Approver'
+ }],
+ 'transitions': [{
+ "state": 'Open',
+ "action": 'Approve',
+ "next_state": 'Approved',
+ "allowed": 'Leave Approver'
+ },
+ {
+ "state": 'Open',
+ "action": 'Reject',
+ "next_state": 'Rejected',
+ "allowed": 'Leave Approver'
+ }]
+ }).insert(ignore_permissions=True)
+
+ frappe.db.sql("""update `tabLeave Application` set workflow_state = status""")
+ frappe.db.sql("""alter table `tabLeave Application` drop column status""")