Admin: Widerrufe laufen in der Recht-&-Compliance-Queue auf

Eigene Widerrufe-Sektion unter der Anfragen-Tabelle in
/admin/legal-requests: Vorgangsnummer, Zuordnungsdaten, Statusfilter
(offen/alle/erledigt, eigener Paginator), Erledigt/Wieder-oeffnen-Aktion
mit resolved_at; KPI-Karte "Offene Widerrufe". Dazu
WithdrawalRequest-Factory (+resolved-State) fuer die Tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-03 10:29:32 +00:00
parent 8001280185
commit d6461f5c5e
4 changed files with 259 additions and 2 deletions

View file

@ -0,0 +1,37 @@
<?php
namespace Database\Factories;
use App\Models\WithdrawalRequest;
use Illuminate\Database\Eloquent\Factories\Factory;
/**
* @extends Factory<WithdrawalRequest>
*/
class WithdrawalRequestFactory extends Factory
{
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->safeEmail(),
'order_reference' => fake()->optional()->bothify('STR-2026-####'),
'host' => 'pressekonto.test',
'requester_ip' => fake()->ipv4(),
'status' => 'open',
];
}
public function resolved(): static
{
return $this->state(fn (): array => [
'status' => 'resolved',
'resolved_at' => now(),
]);
}
}