Fix Mitarbeiter-Uebersicht: keine directus_users-Abhaengigkeit + api_clients-Leserecht

Mitarbeiter (Staff-Rolle) sah nichts + keine Suche: Order-Abfrage forderte
customer.company (directus_users) UND api_client.name (api_clients) an - beide
fuer Staff nicht lesbar -> 403 -> ganze Abfrage scheitert.

- customer.* aus der Uebersicht-Abfrage entfernt (Name kommt aus api_client);
  kundeName nutzt nur noch api_client.name
- Order-Abfrage 3-stufig robust (mit kuvertieren+client -> ohne kuvertieren -> ohne client),
  jobs/machines-Fetch mit Feld-Fallback -> Ansicht laedt auch ohne Bootstrap
- Bootstrap: Staff darf api_clients lesen (nur id+name, keine Secrets)

Fuer die API-Kundennamen Bootstrap laufen lassen; die Ansicht selbst geht schon nach Extension-Deploy.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
s4luorth
2026-10-01 14:01:35 +02:00
parent 0f7f9c3bd9
commit 4b314d65ba
2 changed files with 28 additions and 10 deletions

View File

@@ -1252,6 +1252,9 @@ async function applyPermissions() {
for (const col of BIZ)
for (const act of ['create', 'read', 'update', 'delete'])
await ensurePermission(staffPol.id, col, act);
// Mitarbeiter-Übersicht zeigt API-Kundennamen bei Sammelaufträgen (Chargen) –
// nur id + name lesen, NICHT die Token/Secrets des Zugangs.
await ensurePermission(staffPol.id, 'api_clients', 'read', ['id', 'name']);
// Customer: nur Eigenes + Lesen der Kataloge
// Alt-Namen auf den finalen "Kunde" ziehen (idempotent).