As many people know, the Employee Training template provided by Microsoft here has a bug that we can reproduce following these steps:
- Create a class with a max size of 10 students.
- Register –> Total available seats properly decrements by one. Result: 9 available seats.
- Unregister: –> Bug. Total available seats should increment by one. It does not. Result: 9 available seats as per SharePoint, but in fact, there are 10 available seats.
Solution: Use SharePoint Designer to correct the workflow.
First, open up the site. The folder list for me looks like this:
If we have a look at the "Attendee registration" workflow, we see that there is a step labeled "Enforce seating policy". It looks like this:
This step in the workflow updates the item by incrementing the "Filled Seats" metadata column on the course. If we pull that up in more detail, we see this:
That’s all the information we need to fix the unregistration workflow.
If we flip over to the unregistration workflow, there is no similar workflow step. Add it as follows:
1: Expand "Attendee unregistration" and open up the XOML (see first screen shot if you’re lost).
2: Add a new workflow variable, "New Filled Seats" of type "Number".
3: Assign a value to "New Filled Seats" as shown:
4: Decrement the Filled Seats by 1:
5: Update the related Course item:
6: Make sure all the steps are in the right sequence. For me, it looks like this:
7: Finish the workflow to re-build it.
Subscribe to my blog.