Skip to content

Worker General Settings ​

Worker-level configuration for line manager assignment, team assignment, and approval settings for timesheets, expenses, and absences.

Route ​

/organisations/:orgId/workers/:id/general-settings

Layout ​

Worker Profile Card ​

Displays the worker's profile: name, country, contract type, job title, team name, manager names, and HR-only status. Greyed out when the contract has ended.

Line Manager and Team Assignment ​

A radio group offering two assignment modes:

Assign Line Managers to Worker ​

  • A PeoplePicker component allows selecting from available line managers.
  • Selected managers are displayed as a PeopleList.
  • Changes dispatch AssignLineManagersToWorker and/or UnassignLineManagersFromWorker commands.
  • If no managers are selected when confirming, a modal warns that no line manager has been chosen.
  • After command dispatch, polls getWorkerGeneralSettings until the assigned managers list matches.

Assign Team to Worker ​

  • A TeamMoverPopover dropdown allows selecting a team from the organisation's teams.
  • Selecting a team dispatches AssignMembersToTeamCommand; deselecting dispatches UnassignMembersFromTeamCommand.
  • Polls getWorkerGeneralSettings until assignedTeamId matches.
  • Assigning a team clears the line managers list (managers are inherited from the team).

Managing Settings ​

Three expandable accordion sections for Timesheets, Expenses, and Absences. Each section is collapsed by default and toggled by clicking the header row, which displays a category icon, title, subtitle, and a chevron indicator. Each section contains:

Submission Status ​

Displays whether submission is required or not required for the category, derived from cascading settings:

  • Worker-level override (e.g. timesheetsMandatory)
  • Organisation-level setting (e.g. organisation_TimesheetsMandatory)
  • Country-level setting (e.g. country_TimesheetsMandatory)

Timesheet-Specific Settings ​

Shown only for the Timesheets category when showTimesheetWorkerSettings is enabled:

  • Timesheet Not Required -- displays a prompt to request timesheet requirement. Sends SendTimesheetRequirementSubmission command. Disabled once sent or when timesheets are already mandatory.
  • Allow Overtime -- displays a prompt to enable overtime. Sends SendOvertimeRequirementSubmission command. Disabled for on-demand workers or once the request is sent.
  • Timesheet Submission -- shows whether timesheets are required or not required.
  • Overtime Submission -- shows whether overtime is required or not required.

Approval Configuration ​

Each category shows an ApprovalRadioGroup for configuring the approval chain:

  • First-level approvers
  • Optional second-level approvers
  • Approvers are selected from a dropdown list of available managers.
  • Changes dispatch a ModifyApprovers command and poll getApproversByEorInstanceId until the approvers match.
  • If no approvers are found, an error message is displayed.

Behavior notes ​

  • When the contract has ended, the entire page is non-interactive (pointer events disabled, greyed out).
  • The page dispatches individual loaded events for each section (InitPage, Timesheeting, Expenses, Absences) and only signals fully loaded once all four are complete.
  • On initialisation error, an error message is displayed inline.