It becomes a common case in Malawi that users mistakenly skip a requisition for a given period. This is currently problematic, since once a requisition is skipped, there is no going back. There's no way to revert or cancel the skipped requisition other than by a developer manually doing this in the database.
Allow deleting SKIPPED requisitions. In a case where user skips a requisition mistakenly, such skipped requisition could simply be deleted, which would allow user to re-initiate a requisition for the same period. A skipped requisition could only be deleted if no regular requisition for the next period was created. This is already enforced in the delete requisition endpoint and wouldn't require any further changes. The skipped requisition would be accessible via the "View Requisitions" screen (Requisition -> View). The view requisition screen shows requisitions in all states (including skipped) and would allow user to navigate to a skipped requisition.
make DELETE /requisitions/id endpoint work for a requisition that is in "SKIPPED" state
invoking the above endpoint for skipped requisition would require REQUISITION_DELETE and REQUISITION_CREATE right
attempting to delete skipped requisition for a given period when a requisition for the next period was already created should fail - this is currently enforced and should continue to be
the delete behaviour works exactly as it would for INITIATED and SUBMITTED requisitions, allowing users to re-initiate a requisition for the given period
the UI would display the "Delete requisition" button when viewing skipped requisition and when user has got the necessary rights (delete + create)
the above is covered by unit/integration tests
, thanks for reviewing.
, you can move forward with this proposal and we'll take it back into core. Thank you for putting the proposal together and obtaining our review.
Thanks for the quick review and responses and .
I tested the ticket. and everything works correctly.
This is great news! It looks like the Zephyr case has not yet been tested, so I hope you will test that.
FYI, this new feature has been moved to Done. Is there any documentation we need to update since this is a significant workflow change?
I checked the execution and the test case was executed and passed, so I assigned the test case to and marked it as done.
I've also added the label Config Guide to remind me to add details about skipping and deleting requisitions. This should also be updated here and I've added a comment to the page: https://openlmis.atlassian.net/wiki/spaces/OP/pages/113973375/Requisition+States+and+Workflow