Tables
- user - User of the system. We should have an interface to enter new users,
so we have some control over who is there. UID comes from CalNet.
- group - Users can be put into one or more groups, which are a shortcut for
granting permissions on someone's schedule to a large number of people.
- status - States in which a user can be in on their schedule. WAH (Working At Home),
Out, In.
- usergroup - Relation of users and groups
- function - create, update, delete functions. Functions that a user or group can perform
on a schedule.
- access - A relation between a user, a function, and the users that can perform that
function on the user's schedule. A user will have at least three entries here: uid, create, uid;
uid, update, uid; uid, delete, uid. uid here is the uid of the user.
- holiday - An administrator has to set up holidays.
- model - A model can be either a one week or a two week model. Associated with a user.
- daymodel - Each model has either 7 or 14 day models associated with it. The day model
contains the start and stop hours for work that day, the user's status, whether they are reachable or
unreachable, and a note.
- day - A user's schedule is made up of days. The day contains the information which is
shown in the schedule's display.
Administrator Functions
- add/edit/delete user
- add/edit/delete holiday
- add/edit/delete function
- add/edit/delete status
- add/edit/delete group
- add/edit/delete access
User functions
- add/edit/delete model
- add/edit/delete daymodel
- edit day
- add/edit/delete access