Glossary
Permission group — A named set of permissions (e.g. "Accountant", "Doctors ++") that a user is assigned to. Dentolize has no per-user permission overrides; all access comes from the group. Managed under Settings → Permission Groups.
DO_ALL — The catch-all permission held by the Owners group. Any permission check that includes a specific permission name also accepts DO_ALL as an override — see getPermittedDate and getCreatedAt in /work/repo/packages/server/src/utils/helpers.js.
EXPENSES_CREATED_AT — New permission controlling who can set/move the date on an expense or an expense payment (single, edited, or bulk). Requires ADD_EXPENSES to be grantable in the UI.
SALARY_ADJUSTMENT_CREATED_AT — New permission controlling who can set/move the date on a salary adjustment (bonus or deduction). Requires ADD_SALARY_ADJUSTMENT to be grantable in the UI.
Created-at permission family — The broader pattern this PR extends: permissions that gate only the date field of a record, while leaving the rest of the record's fields governed by the normal Add/Edit permissions. Existing members before this PR: APPOINTMENTS_CREATED_AT, PATIENTS_DETAILS_CREATED_AT, PATIENTS_PAYMENTS_CREATED_AT, PATIENTS_INVOICE_CREATED_AT, PATIENTS_QUOTATION_CREATED_AT.
getPermittedDate(args, request, permission) — Server helper (/work/repo/packages/server/src/utils/helpers.js:2560) used by the new expense/salary-adjustment code paths. Returns the requested date if permitted, otherwise undefined (letting Prisma's update leave the field untouched, or the caller apply its own today-fallback for creates).
getCreatedAt(args, request, permission = 'DO_ALL') — Pre-existing server helper with the same shape, used for createdAt fields (payments) rather than date fields (expenses, salary adjustments). This PR is the first to pass it a non-default permission argument for expense payments.
Salary Hub — The in-app name for the salary adjustments feature (bonuses/deductions), shown in the sidebar under Logs. The underlying permission-group row is labeled SALARY_ADJUSTMENT internally but displayed as "Salary Hub" in the group editor.
Expense payment — A payment recorded against an expense (marking it as paid, in full or in part). Distinct from the expense's own date field; tracked with its own createdAt, but sharing the expense's EXPENSES_CREATED_AT permission.