Skip to main content

Workshifts

Workshifts (static shifts) provide a simpler scheduling mechanism compared to the full Shifts module. They are managed by the WorkshiftsController.

Overview

Workshifts define fixed time blocks with assigned units, differing from the dynamic signup-based Shifts system.

Creating Workshifts

Authorization: Shift_Create policy

FieldRequiredDescription
NameYesWorkshift name
Start TimeYesShift start (converted to department timezone)
End TimeYesShift end (defaults to next day)
Units AssignedNoUnits assigned to this workshift

Unit Assignment

Units are assigned as WorkshiftEntity objects linked to backing unit IDs.

Editing Workshifts

Authorization: Shift_Update policy

Validates department ownership. Updates:

  • Workshift details (name, times)
  • Unit assignments (re-created on each save)
  • Full audit trail with IP and user agent

Viewing Workshift Days

Authorization: Shift_View policy

The day view shows:

  • Parent workshift details
  • Department units
  • Assigned personnel with limits
  • Ownership chain validation (day → shift → department)

Deleting Workshifts

Authorization: Shift_Delete policy

Requires confirmation via a dedicated confirmation page. Full audit trail recorded.

Interactions with Other Modules

ModuleInteraction
ShiftsWorkshift days appear on the shift calendar alongside traditional shifts
UnitsUnits are assigned to workshifts
PersonnelPersonnel loaded for day view
DepartmentTimezone used for time conversion