Can I allow data entry but not editing?
I have a database which contains scheduling information where students sign up for work shifts.
I want to make it so students can sign up for a shift but, once the record commits, the data can not be edited again.
The reason for this is to prevent tampering. For instance, I don't want students to be able to steal the good shift from others who have already signed up for them or I don't want students to sign up and then UN-sign their names when they decide that they don't want to come to work that day.
I can make a field non-editable. I can make a RECORD non-editable once created and committed.
But, in this case, the record will be created BEFORE the students names are entered.
The Office Manager will create a list of records in the DB for the shifts she needs to have covered that week.
She'll create a series ofrecords for shifts
[Mon@8AM-12PM, Tue@8AM-12PM... Fri@8AM-12PM]
[Mon@1PM-5PM, Tue@1PM-5PM... Fri@1PM-5PM]
Later, students enter their names into those records (slots) so that those shifts are covered. The week before the pay period begins, the Office Manager prints out a report and distributes the schedule to all the students.
We don't want students to be able to change their names once they have promised to cover a shift. We don't want students who have promised to work Fri@1PM-5PM to take their names out if they find out their friends are having a party that weekend. We don't want students who want to take an "easy" shift to be able to bump another student off the list and steal the good slots.
How can we prevent these things from happening?