As shown in the screenshot, when I try to delete one allocated student and run allocate again, nothing changes. I kinda expect the other student to be allocated. I understand that this is as the allocation not running twice before revert is run. But there could be some improvements regarding this problem. Maybe add a reminder that the allocation can only be run once when user tries multiple times so that the user won't see successful running of allocation but no changes happen or just run again instead of requiring reverting.

As shown in the screenshot, when I try to delete one allocated student and run allocate again, nothing changes. I kinda expect the other student to be allocated. I understand that this is as the allocation not running twice before revert is run. But there could be some improvements regarding this problem. Maybe add a reminder that the allocation can only be run once when user tries multiple times so that the user won't see successful running of allocation but no changes happen or just run again instead of requiring reverting.