Commit Graph

21 Commits

Author SHA1 Message Date
Nathnael
346d4718bf fix(backoffice): scope permission copying to the selected organization
"Copy permissions from" listed every position type in every
organization, because the dropdown read an unfiltered GET
/position-types. IAM exposes no organization-scoped route and carries no
organizationId on a position type, so the list is now narrowed
client-side to the built-in (isSystem) types plus those whose unit
belongs to the selected organization, with the type being edited
excluded.

Also in position management:

- Invalidate every position-type cache key root after a mutation. React
  Query matches prefixes element by element, so ["position-type"] never
  reached ["position-types-common", ...] and the department pickers kept
  serving a stale list. invalidatePositionTypeQueries() covers all three
  roots and is shared by the hook and the form.
- Drop getByOrganizationId and getCommonTypesByOrganizationId. Both
  issued the same requests as their unit counterparts and had no callers.
- Surface errors that were being swallowed. Three mutations had empty
  onError handlers, hiding IAM's 403 for built-in position types, and
  CreatePositionForm's bare catch discarded the reason for every failure.
- Move organization and unit into the zod schema so they validate with
  translated messages and inline errors instead of an ad-hoc toast, and
  keep submit disabled through the permission-assignment call that
  follows the save.
- Report the two outcomes the form used to hide: a save that succeeded
  while permission assignment failed, and clearing every permission,
  which assign-seconds-for-first cannot express.
- Fix the list page's loading and error states, which rendered the
  "Add User" string as a spinner, ignored the unit-scoped query, and
  left the export button stuck after a failed download.
- Halve PermissionSearch's requests. It fetched 50 rows, read the total
  off the response and immediately refetched, and it re-filtered results
  on the undebounced term, blanking the list while typing.

Remove the three record toggles. They never worked: IAM's
PositionTypeConfiguration holds only { id, organizationId,
positionTypeId, timeframe } in every published build, canAssignRecord
and canCreateBankRecord exist nowhere in the package, and the global
ValidationPipe runs with forbidNonWhitelisted, so every write was a 400.
The reads were broken too, passing a positionTypeId to a route that
filters on organizationId. A TODO records where the real flag lives:
PositionConfiguration.canReceiveRecord, keyed by positionId.

Delete ActionsColumn.tsx, which had no references.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 13:42:08 +00:00
Nathnael
063a8799f5 fix(backoffice): make position type optional for unit departments
Creating a department under a unit required picking a position type,
which is not always known at that point. Sub-department creation is
unchanged and still requires one.

PositionPayload.positionTypeId becomes optional and the field is omitted
from the request body when unset rather than sent as an empty string.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 13:41:39 +00:00
Nathnael
48f1d08faf Merge branch 'dev' into freight/feat/fixes-v1 2026-07-23 11:51:04 +00:00
Nathnael
cbff529e31 feat: rebuild the admin pages 2026-07-23 07:40:48 +00:00
marshal
8d51425f90 Merge pull request #928 from Tria-plc/freight_feature/usermanagement
fix configratio
2026-07-23 09:22:29 +03:00
Marshal
1576fcdc45 fix configratio 2026-07-23 06:21:51 +00:00
Nathnael
9baffb6439 refactor: remove duplicate header components and consolidate layout 2026-07-22 12:57:56 +00:00
Nathnael
8389b2735d fix: sidebar in user management 2026-07-22 11:54:54 +00:00
natib21
0d98ccb04b fix 2026-07-17 13:10:27 +00:00
natib21
a48e830584 fix ui 2026-07-14 09:27:44 +00:00
natib21
1b9b4ebb77 fix ui 2026-07-14 09:12:22 +00:00
natib21
e63e6a2fc0 fix ui 2026-07-14 08:47:46 +00:00
natib21
22cf8eabd1 fix ui 2026-07-14 07:59:17 +00:00
natib21
359d1091f7 Merge branch 'dev' of github.com:Tria-plc/edr-platform into freight/feature/user_management_UI 2026-07-14 07:20:19 +00:00
natib21
1d18248795 ui 2026-07-14 07:20:01 +00:00
yaschalew
917c5604eb fix ui 2026-07-11 11:10:51 +03:00
yaschalew
060bfc28df add localize 2026-07-10 15:57:55 +03:00
natib21
a440ae6978 fix 2026-07-10 12:50:19 +00:00
natib21
72f0e114b1 fix ui 2026-07-10 12:09:27 +00:00
natib21
e6e44e773b fix ui 2026-07-10 11:25:59 +00:00
yaschalew
28a20923ff user management ui 2026-07-10 10:41:48 +03:00