participantRefunds->getByToken($refundToken); return new InertiaProvider('ParticipantRefund/RefundPage', $this->props($refund))->render(); } /** * @return array */ private function props(?ParticipantRefund $refund): array { // Unbekannt und abgebrochen sind für den Teili derselbe Zustand: es gibt nichts zu tun. if ($refund === null || $refund->status === ParticipantRefund::STATUS_CANCELLED) { return [ 'state' => 'unavailable', 'message' => AcceptRefundCommand::NO_OPEN_REFUND, ]; } $participant = $refund->participant; $event = $refund->event; $common = [ 'token' => $refund->token, 'name' => $participant->getNicename(), 'eventTitle' => $event->name, 'eventEmail' => $event->email, 'amount' => $refund->amount?->toString() ?? '0,00 Euro', 'reason' => $refund->reasonLabel(), 'reasonNote' => $refund->reason_note, ]; if ($refund->isAccepted()) { return array_merge($common, [ 'state' => 'accepted', 'acceptedAt' => $refund->accepted_at?->format('d.m.Y'), ]); } return array_merge($common, ['state' => 'open']); } }