Optimierung 2.9: HandlesAdminPressReleaseActions::findAdminPR()

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>
This commit is contained in:
Kevin Adametz 2026-06-19 10:11:48 +00:00
parent 28e9064410
commit af86a16061
4 changed files with 38 additions and 15 deletions

View file

@ -0,0 +1,19 @@
<?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);
}
}