People need a way to keep track of their time in a structured way.
A TimeClockPeriod will hold many TimeClockPunches (I'm not in love with the naming there & am open to suggestions) and represent something like a pay period, an FRC build season, or any other structured bucket into which people might want to log & report time.
A TimeClockPeriod will be a scaffold-ish structure with a name, start & end times, a field for determining who can create/update associated TimeClockPunches (only admins, admins + managers, anybody), and optionally belong_to a Team. Only admins & Team managers should be able to create TimeClockPeriods
A TimeClockPunch will have a start & end time, belong to a Person, and optionally belong to a TimeClockPeriod. Anybody should be able to create TimeClockPunches but the ability to associate them with any given TimeClockPeriod should be limited by the field on the TimeClockPeriod. Additionally, only admins & managers should be able to create or update TimeClockPunches for people other than themselves.
People need a way to keep track of their time in a structured way.
A
TimeClockPeriod
will hold manyTimeClockPunches
(I'm not in love with the naming there & am open to suggestions) and represent something like a pay period, an FRC build season, or any other structured bucket into which people might want to log & report time.A
TimeClockPeriod
will be a scaffold-ish structure with a name, start & end times, a field for determining who can create/update associatedTimeClockPunches
(only admins, admins + managers, anybody), and optionally belong_to aTeam
. Only admins &Team
managers should be able to createTimeClockPeriods
A
TimeClockPunch
will have a start & end time, belong to aPerson
, and optionally belong to aTimeClockPeriod
. Anybody should be able to createTimeClockPunches
but the ability to associate them with any givenTimeClockPeriod
should be limited by the field on theTimeClockPeriod
. Additionally, only admins & managers should be able to create or updateTimeClockPunches
for people other than themselves.