` prüft und die Zeilen `
  • ` waren. * * Mutiert nichts selbst (R23): der Bestätigen-Knopf löst ein Ereignis aus, das * Admin\PaymentProblems auffängt — damit bleibt die Berechtigungsprüfung an der * einen Stelle, an der sie schon stand, statt hier verdoppelt zu werden. Der * Aufruf hier prüft trotzdem: ein Modal ist ohne die Route-Middleware der Seite * erreichbar. */ class ResolveFailedCheckout extends ModalComponent { public int $id; public string $note = ''; public string $label = ''; public function mount(int $id): void { $this->authorize('billing.manage'); $problem = FailedCheckout::query()->findOr($id, fn () => abort(404)); $this->id = $problem->id; $this->label = $problem->name ?: $problem->email; } public function confirm(): void { $this->authorize('billing.manage'); $this->dispatch('failed-checkout-resolved', id: $this->id, note: $this->note); $this->closeModal(); } public function render() { return view('livewire.admin.resolve-failed-checkout'); } }