presseportale/resources/views/livewire/customer
Kevin Adametz 980763c362 WS-2: Firmen-Scope für PMs & Magic-Link-Zugang für Pressekontakte
Firmen-Scope (Fundament):
- PM-Zugriff war hart an user_id (Autor) gebunden. Jetzt additiv: Autor ODER
  Mitglied der zugeordneten Firma (Owner via owner_user_id oder company_user-
  Pivot). Geändert in PressReleasePolicy (canManage) sowie den Queries der
  Listen-, Show- und Edit-Komponenten. Helfer User::accessibleCompanyIds()/
  canAccessCompany(). Solo-Owner unverändert; Firmenmitglieder sehen/bearbeiten
  alle PMs ihrer Firma.

Magic-Link-Zugang für Pressekontakte (ContactAccessService):
- Öffentliches, enumeration-sicheres Formular (/pressekontakt-zugang) mit
  Honeypot + Rate-Limit. Eine hinterlegte Kontakt-E-Mail führt zu einem lazy
  angelegten, de-duplizierten customer-Account (aktiv, verifiziert über den
  Magic-Link-Kanal), der den Firmen seiner Kontakte als Mitglied zugeordnet
  wird. Versand über den bestehenden Login-Magic-Link (Generator + Consume
  wiederverwendet) – keine Schema-Änderung, kein paralleles System.
- Dezenter Einstiegslink von der Login-Seite (PM-Frontend-Wiring später).

Tests: PressReleaseCompanyScopeTest (3), ContactAccessTest (6, inkl. De-Dup,
Enumeration-Sicherheit, Honeypot).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-16 08:33:12 +00:00
..
press-kits User-Panel-Restarbeiten: PM-Guard, Profil-Rework, USt-ID-Prüfung, Buchungspflicht-Adresse 2026-06-12 14:36:18 +00:00
press-releases WS-2: Firmen-Scope für PMs & Magic-Link-Zugang für Pressekontakte 2026-06-16 08:33:12 +00:00
bookings.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00
company-switcher.blade.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
dashboard.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00
invoices.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00
profile.blade.php Profil-Feinschliff: Pflicht-Badges, Fokus-Fix, Submit-Modal auf Switches 2026-06-12 15:02:11 +00:00
security.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00
tokens.blade.php Responsive-Härtung: Seiten-Header, Kontextleiste, Stat-Cards 2026-06-12 14:08:08 +00:00