Processing a training platoon graduation involves deciding where each graduate is going to be assigned, based on the current roster's numbers and any preferences specified by the cadet (and perhaps where their recruiter is assigned).
Then the system should perform the following actions for each graduate:
create the new assignment
end the old assignment (to the training platoon unit)
create a promotion record (rec -> pvt)
update the user's rank (in the members table) to pvt
create two award records (ADSM and game participation medal)
update the user's forum account display name
generate a service coat for the user
Having done that for all graduates, the system should:
create a forum topic announcing the graduation (example)
update all the promotion and award records created in the previous section to add the forum topic_id (or create the forum topic earlier in the overall process so its ID is available when those records are created)
set the training platoon unit to inactive
One other thing: any cadets who only attended 0-1 days of BCT should have their enlistment's status changed to AWOL.
Funny enough, we had much of this functionality in place back in personnel v1, but never rebuilt it in v2. Here's what it looked like in v1:
The idea of having the roster on the screen whilst assigning was clever. Perhaps we can reproduce that, and maybe just show the unit counts without the names.
Processing a training platoon graduation involves deciding where each graduate is going to be assigned, based on the current roster's numbers and any preferences specified by the cadet (and perhaps where their recruiter is assigned).
Then the system should perform the following actions for each graduate:
Having done that for all graduates, the system should:
One other thing: any cadets who only attended 0-1 days of BCT should have their enlistment's status changed to AWOL.
Funny enough, we had much of this functionality in place back in personnel v1, but never rebuilt it in v2. Here's what it looked like in v1:
The idea of having the roster on the screen whilst assigning was clever. Perhaps we can reproduce that, and maybe just show the unit counts without the names.
I'm thinking of something like this for the form