In one of my workflows, a requirement is to remember the last status of an issue. Presently an issue can be moved to a status named 'On Hold' from any other status(except done) in the workflow.
In order to enforce the users to move the issue from 'On Hold' exactly into the same status where it came from, The workflow must be able to remember the last status?
Is this doable via a configuration or a plug-in?
I have been suggested a couple of basic options:
1. Have a hidden custom data field and assign a unique number(representing the last status) to this field when issue status changes. When issue moves to 'On Hold' it will have a unique number assigned to the field. Check the value in the field and restrict user to change the status based on the value. Not sure if this will actually work, but a bit sophisticated method.
2. A very crude way to achieve this would be to add a 'On Hold' Status related to each individual status and allow only one transition which is to 'Go back to the previous status' from specific 'On hold' status? So if I have 10 in progress statuses in the work flow, I'll end up creating 10 On Hold statuses. This will surely work, but really a primitive way to do something.
Can someone suggest a better option?
Is there also a way to identify and report on how much time an issues spends in these On Hold Statuses?