Ethnicity / Race

Ethnicity / Race (/admin/races) is the HR library of race codes. The page title matches the sidebar; the legacy screen heading is Races and the breadcrumb is Manage Races. Each row is a Code, a Description, and an optional Classification.

Permissions: FunctionId RACE (34), menu HR → Libraries → Ethnicity / Race (function.url = race). View opens the page; Add controls New; Edit and Delete control row actions and bulk delete.

Screen layout

Ethnicity / Race list

Figure: FoodHub list — New in the page header; data card with Search races…, Export, sortable Code, Description, and Classification, row ⋮, checkboxes, and pagination.

RegionWhat you see
Page toolbarTitle Ethnicity / Race, subtitle Manage Races, New (Add) on the right, and the ? icon (this article).
Data cardSearch, Export, column headers, row checkboxes (Delete permission), bulk bar, mobile Sort by, pagination. There is no Filter popover.
ModalSurface B on the list URL (?create=1). Cancel and Save sit in the header.

Default sort: Description ascending.

List behavior

  • Search — placeholder Search races…. The request is sent when the term is empty or at least 3 characters, and matches Code or Description.
  • Export — Copy, Excel, and CSV for the current page.
  • Sort — Code, Description, Classification (mobile: Sort by combobox).
  • Checkboxes + bulk bar — when Delete is allowed.
  • New — opens New race:.
  • Row ⋮ — Edit · Delete when permitted.
  • New race: — required Code and Description. Classification is optional (the origin label is not required).
  • Update Race: `{description}` — same fields, hydrated from the row.
  • Empty code or description shows This field is required.
  • A code already used by another row shows The race code is in use, please try entering another one.
  • Save toast: The operation was successful. The API writes an ApplicationLog in category Race.

Delete

A race linked to an employee cannot be deleted. The single-row message is The race could not be deleted, because it is related to a employee. Bulk delete that removes nothing uses The races could not be deleted, because they are associated with a employee. A partial bulk delete keeps the rows that are still in use and reports the legacy partial-success sentence.