presseportale/resources
Kevin Adametz 9e6f775e1b 5.2: gemeinsamen Firmen-Sync-Kern als User::syncCompaniesWithRoles() gezogen
Analyse der beiden ~40/160-Zeilen-save()-Methoden (users/create vs edit): sie
teilen nur den User-Attribut-Payload und den byte-identischen Firmen-Sync-Loop
(Bearbeiten hat zusaetzlich Profil/Kontakte/volle Billing-CRUD). Ein voller
UserUpsertService waere Over-Engineering (ueberwiegend Branches) — daher nur
der wirklich gemeinsame Persistenz-Kern:

User::syncCompaniesWithRoles(array $companyIds, array $roles) baut das
Pivot-Payload (fehlende Rolle => 'member') und synct. Beide Formulare nutzen
es; im Bearbeiten kommen die linkedCompanyIds nun direkt aus $validated.

Test: UserSyncCompaniesTest (Rollen-Zuordnung, member-Default, Detach).
29 User-Tests gruen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 08:47:23 +00:00
..
css Fix: fehlendes .search-wrap-Styling (Suchfeld in /admin/me/firmen unsichtbar) 2026-07-01 08:49:19 +00:00
js 22-05-2026 Optimierung der User und Admin Panels 2026-05-22 11:18:59 +02:00
views 5.2: gemeinsamen Firmen-Sync-Kern als User::syncCompaniesWithRoles() gezogen 2026-07-02 08:47:23 +00:00