diff --git a/resources/views/livewire/customer/press-releases/edit.blade.php b/resources/views/livewire/customer/press-releases/edit.blade.php
index efb58e8a..eff129d2 100644
--- a/resources/views/livewire/customer/press-releases/edit.blade.php
+++ b/resources/views/livewire/customer/press-releases/edit.blade.php
@@ -370,7 +370,16 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung bearbeiten')] cl
$pressRelease = $this->getMyPR()->load('images');
$cover = app(PressReleaseCoverImage::class);
+ // Bei abgelehnten PMs die Begründung direkt im Editor zeigen
+ // (QA-Befund 07.07.), analog zur Detailseite.
+ $latestRejection = null;
+ if ($pressRelease->status->value === 'rejected') {
+ $latestRejection = $pressRelease->statusLogs
+ ->firstWhere(fn ($log) => $log->to_status?->value === 'rejected');
+ }
+
return [
+ 'latestRejection' => $latestRejection,
'companyOptions' => $companyOptions,
'categories' => $categories,
'selectedCompany' => $selectedCompany,
@@ -444,6 +453,33 @@ new #[Layout('components.layouts.app'), Title('Pressemitteilung bearbeiten')] cl
+ {{-- ============== REJECTION-HINWEIS ============== --}}
+ @if ($currentStatus === 'rejected' && $latestRejection)
+
+
+ {{ __('Diese Pressemitteilung wurde abgelehnt') }}
+ {{ __('Handlung erforderlich') }}
+
+
+
+
+
+
+ @if ($latestRejection->reason)
+ {{ __('Begründung') }}:
+ {{ $latestRejection->reason }}
+ @else
+ {{ __('Bitte überarbeiten Sie den Inhalt und reichen Sie die Pressemitteilung erneut ein.') }}
+ @endif
+
+ {{ __('Abgelehnt am') }} {{ $latestRejection->created_at->format('d.m.Y H:i') }}
+
+
+
+
+ @endif
+
{{-- ============== 2-COLUMN GRID ============== --}}
diff --git a/tests/Feature/CustomerPressReleaseEditPhase7Test.php b/tests/Feature/CustomerPressReleaseEditPhase7Test.php
index eed84a19..600484a4 100644
--- a/tests/Feature/CustomerPressReleaseEditPhase7Test.php
+++ b/tests/Feature/CustomerPressReleaseEditPhase7Test.php
@@ -6,6 +6,7 @@ use App\Models\Category;
use App\Models\Company;
use App\Models\Contact;
use App\Models\PressRelease;
+use App\Models\PressReleaseStatusLog;
use App\Models\User;
use Database\Seeders\RolesAndPermissionsSeeder;
use Illuminate\Database\Eloquent\Factories\Sequence;
@@ -274,6 +275,39 @@ test('foreign press release returns 403 on mount', function () {
->assertNotFound();
});
+test('editor shows the rejection reason for a rejected press release', function () {
+ /** @var TestCase $this */
+ ['customer' => $customer, 'pr' => $pr] = makeCustomerWithPressRelease([
+ 'status' => 'rejected',
+ ]);
+
+ PressReleaseStatusLog::query()->create([
+ 'press_release_id' => $pr->id,
+ 'from_status' => 'review',
+ 'to_status' => 'rejected',
+ 'reason' => 'Werbliche Sprache, bitte überarbeiten.',
+ 'source' => 'admin',
+ 'created_at' => now(),
+ ]);
+
+ $this->actingAs($customer);
+
+ LivewireVolt::test('customer.press-releases.edit', ['id' => $pr->id])
+ ->assertSee('Diese Pressemitteilung wurde abgelehnt')
+ ->assertSee('Werbliche Sprache, bitte überarbeiten.')
+ ->assertSee('Abgelehnt am');
+});
+
+test('editor shows no rejection panel for drafts', function () {
+ /** @var TestCase $this */
+ ['customer' => $customer, 'pr' => $pr] = makeCustomerWithPressRelease();
+
+ $this->actingAs($customer);
+
+ LivewireVolt::test('customer.press-releases.edit', ['id' => $pr->id])
+ ->assertDontSee('Diese Pressemitteilung wurde abgelehnt');
+});
+
test('addTag and removeTag work in edit form', function () {
/** @var TestCase $this */
['customer' => $customer, 'pr' => $pr] = makeCustomerWithPressRelease([