Den ~15x duplizierten Admin-Lookup PressRelease::withoutGlobalScopes() ->findOrFail($id) in einen findAdminPR()-Helfer (Concern) zentralisiert; index/edit/show nutzen ihn. Die eager-load-Query in show::with() bleibt unberuehrt (anderer Zweck). Bewusst NICHT vereinheitlicht: das Status-Badge-Mapping divergiert real (index: archived/draft -> muted; edit/show: -> hub via default) -> waere eine Design-Entscheidung ueber kanonische Badge-Farben, keine mechanische Dedup. Tests: volle Suite gruen (799 passed, 1 skipped). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
19 lines
480 B
PHP
19 lines
480 B
PHP
<?php
|
|
|
|
namespace App\Livewire\Concerns;
|
|
|
|
use App\Models\PressRelease;
|
|
|
|
/**
|
|
* Gemeinsame Helfer der Admin-PM-Komponenten (Index/Edit/Show).
|
|
*
|
|
* Admins arbeiten portalübergreifend, daher werden Pressemitteilungen ohne
|
|
* globale Scopes geladen. Zentralisiert den zuvor ~15x duplizierten Lookup.
|
|
*/
|
|
trait HandlesAdminPressReleaseActions
|
|
{
|
|
private function findAdminPR(int $id): PressRelease
|
|
{
|
|
return PressRelease::withoutGlobalScopes()->findOrFail($id);
|
|
}
|
|
}
|