Reinstate shift after leave is removed from roster
In the current implementation, when a leave request is cancelled, the leave task is removed from the roster without restoring the tasks that were there before the leave was cancelled. This results in the person not being scheduled at all for that day.
Cancelling a leave request should result in restoring the tasks to whatever they were before the leave was added, or to what they would be if the roster was generated (in case the leave already existed at the time of the oyster generation).
The MVP of this feature has been released. In this first iteration, we have focused on reinstating shifts when a shift existed on the roster prior to the leave request. Next, we will be focusing on a) improving notifications within the product when a shift is reinstated after leave is cancelled, and b) generating a shift when leave is cancelled and a shift did not exist on the roster prior to the leave request.