The user has created workflows on various transactions like leaves, purchase orders etc. There may be multiple users who need to approve and there are multiple stages of approval. The goal is to facilitate communication to the users via email and also create a list of pending actions.
Workflows are assigned to roles and they may be separated by user permissions.
The design involves creating a new document "Pending Workflow Action" that can be created for each user that is involved in the workflow step. A list view of pending actions will also be useful for approving in case the user needs to approve multiple actions.
- [x] New DocType "Workflow Action"
- [x] Fields - reference_doctype, reference_name, workflow_status, status, user - (Open, Completed)
- [x] Notification based on status
- [x] Create a new Workflow Action after each transaction for each user based on role and user permissions
- [x] Email notification
- [x] Send email notification to each user
- [x] Create routes for user to apply action via URL
- [x] Attach print format of the reference document for action
- [x] Show buttons in email to apply action via URL
- [x] List View
- [x] Open host document when workflow action is clicked via list view (for example if the action is "Approve Purchase Order", then open purchase order rather than the pending action document
- [x] Clearing
- [x] Clear actions if any one of the users has changed the state
- [x] Clear old + completed workflow actions (which were not acted upon)