✅ Multi Level of Approval
Hi, I recently create a system with approval level
For Example:
Sick Leave Request Module: 2 Approver
Vacation Leave Request Module: 4 Approver
The request will be forwarded to the first approver and after approved it will move to the second approver until the request is approved.
But once the request is rejected, the request will be forwarded back to the requestor to review the request he made. He can re submit the request and start the process again.
Condition:
The level of approval is editable
Any approver removed from the list of Approver that has pending for approval should retain the data and needs to be approved. It means any future request will be send to the new approver.
It has also tracking to the timeline of the approval. When reject, when approved, who reject or who approved.
Any suggestions on the database model to have different stages of approval in a Module. Any suggestion and advice is much appreciated. Thank you.
8 Replies
Unknown User•16mo ago
Message Not Public
Sign In & Join Server To View
Im struggling to construct my database model on how I can tag users in a Module as Approvers and keep track on the approval process.
Example I have Leave Request Module. 4 Users will be approver for this module.
The succeeding Approvers will not see any of the request it the approver before them did not approved the request yet
for something like that you could have a current approver column in the request table
a user would only see the requests they are the current approver on (pending requests)
if there is a separate table that logs approval actions, then they can also see request they've already approved or rejected
Consider whether this should be limited to specifc approvers, but instead approver groups/stages. Because one such approver might be sick or on a holiday themselves. So a group of select people should be qualified to approve a certain stage
And there should be a possibility for a select user to provide a master approval, that bypasses all other approvers
I have a Approvals table where any type of approvals is saved there. It has maybe I will add for the current approver for that current request. The main problem now is how can I assign Approvers on a specific Module
As for the requirements this should be limited to current approver. But adding a master approval is a good idea to handle this kind of situation.
if you have something like
Users - userId, ...
(all users (potential requestors and approvers)
Approvers - pk_id, moduleId, userId, level, ...
Modules - moduleId, ...
Request - requestId, moduleId, requestorId (userId), currentApproverId (userId), status (pending/rejected/approved/withdrawn), ...
Approvals - pk_id, requestId, approverId (userId), action, timestamp, ...
The main problem now is how can I assign Approvers on a specific Moduleyour approvers table would have all approvers for a given module
All the request will be on table and all for the tracking for the Approval will be on table.
Thank you for the advice. It gives me some idea how to implement it, it helps a lot. Thankyou!
Was this issue resolved? If so, run
/close
- otherwise I will mark this as stale and this post will be archived until there is new activity.