Backend-WIP: Kontakt-Queue, Page-Cache, Validierungs-Feedback, i18n

Gebuendelt, da ueber gemeinsame lang-/Service-Dateien verschraenkt:
- Kontakt-Nachrichten: contact_messages-Tabelle + Model/Enums/Factory,
  Admin-Queue (livewire/admin/contact-messages), ContactController
  persistiert das Anliegen zusaetzlich zur Brand-Mail
- Page-Data-Cache (Services/Web/*PageData) + web-archive-Indizes auf
  press_releases
- Validierungs-Feedback + Company-Portal-Restriction (Feature-Tests)
- i18n-Auslagerung lang/de|en (auth, passwords, validation, static)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-09 15:38:11 +00:00
parent c6b5ec8479
commit fd8e050cb7
60 changed files with 3963 additions and 327 deletions

View file

@ -41,7 +41,7 @@ class ReportFormController extends Controller
// Bot: ein ausgefülltes Honeypot-Feld → still und neutral abnicken,
// bewusst VOR der Validierung (sonst verrät die Regel die Falle).
if (filled($request->input('website')) || filled($request->input('homepage'))) {
return back()->with('report-status', __('Vielen Dank. Ihre Meldung ist eingegangen.'));
return back()->with('report-status', __('static.report_form.flash_honeypot'));
}
$validated = $request->validate([
@ -53,7 +53,7 @@ class ReportFormController extends Controller
// bestem Wissen und Gewissen abgegeben wird (nur Weg 1).
'truth_affirmed' => $way === 'rechtswidrig' ? ['accepted'] : ['nullable'],
], [
'truth_affirmed.accepted' => __('Bitte bestätigen Sie, dass Sie die Meldung nach bestem Wissen und Gewissen abgeben.'),
'truth_affirmed.accepted' => __('static.report_form.validation_truth'),
]);
$this->ensureNotRateLimited($request);
@ -82,7 +82,7 @@ class ReportFormController extends Controller
Mail::to($legalRequest->requester_email)->send(new LegalRequestReceived($legalRequest));
Mail::to($this->operatorRecipient($request))->send(new LegalRequestSubmitted($legalRequest));
return back()->with('report-status', __('Vielen Dank. Ihre Meldung ist unter der Vorgangsnummer :reference eingegangen — Sie erhalten eine Eingangsbestätigung per E-Mail.', [
return back()->with('report-status', __('static.report_form.flash_received', [
'reference' => $legalRequest->reference(),
]));
}
@ -140,7 +140,7 @@ class ReportFormController extends Controller
$seconds = RateLimiter::availableIn($this->throttleKey($request));
throw ValidationException::withMessages([
'message' => __('Zu viele Anfragen. Bitte versuchen Sie es in :minutes Minuten erneut.', [
'message' => __('static.report_form.throttle', [
'minutes' => max(1, (int) ceil($seconds / 60)),
]),
]);