` 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');
}
}