My institution has a state-wide program where K-12 teachers can check out teaching materials (we call them "green boxes") from us on a quarterly basis. I am using DT Register's field selection limits in a registration form to do so. It's worked well but I'm having a couple of frustrating problems and am under a lot of pressure to get this resolved as it is a flagship program for us.
Here's an example page, specifically the first dropdown field is using selection limits:
http://www.dri.edu/component/dtregister/?Itemid=99999&eventId=2&controller=event&task=individualRegister
As an example, let's say I have two green boxes available for a specific subject. They can each be checked out every quarter. So the selection limits are:
2|2|2|2
Two teachers check them out for the first quarter, and the dropdown selection works as expected- no one else can check them out for that quarter.
First problem: I need to "expire" quarters as they pass. Let's say the first quarter has gone by. I need to set the selection limits to reflect that, but I can't:
0|2|2|2 won't work because the 0 indicates unlimited selection;
and
2|2|2 screws up the registration count for other quarters. I've unfortunately done this and our records are a mess.
I realize I can drop the first quarter selection option from the field, but that is not what the group wants. They need the dropdown to show past quarters but not allow them to be selected.
Second problem: I need to be able to adjust availability to handle cancellations and changes in the number of green boxes. Let's say we decide to only have 1 box available for a certain topic.
Can I safely change 2|2|2|2 to 1|1|1|1? Does that impact previous checkouts?
And how do I handle a situation where a user cancels, say for the first quarter? Do I change 2|2|2|2 to 3|2|2|2 or should I delete the user's registration record and that will add 1 available checkout to the first quarter?
Thanks very much for your help. I am open to suggestions and alternatives, but I really do need to find a way to have DT Register handle this or I will have to find a different solution.