participant->event()->first()->name ), ); } public function content(): Content { $event = $this->participant->event()->first(); return new Content( view: 'emails.events.refund_released', with: [ 'name' => $this->participant->getNicename(), 'eventTitle' => $event->name, 'eventEmail' => $event->email, 'amount' => $this->refund->amount?->toString() ?? '0,00 Euro', 'reason' => $this->refund->reasonLabel(), 'reasonNote' => $this->refund->reason_note, // Absolute URL: der Link muss aus jedem Postfach heraus funktionieren. 'link' => url('/rueckerstattung/' . $this->refund->token), // Steht das Konto schon fest (aus dem Zahlungseingang), fragt die Mail nicht nach der // Bankverbindung, sondern nur noch nach der Entscheidung auszahlen/spenden. // // Maskiert, aus demselben Grund wie auf der Seite: Diese Mail liegt in einem Postfach. 'knownAccountOwner' => $this->refund->account_owner, 'knownAccountIban' => $this->refund->account_iban === null ? null : Iban::mask($this->refund->account_iban), // Ohne Ursprungskonto (Barzahlung) wäre der Hinweis „nur auf das Konto, von dem gezahlt // wurde" falsch -- dort ist stattdessen ein Konto auf den eigenen Namen gefragt. 'hasOriginAccount' => $this->participant->refundData()->source !== RefundAccountSource::None, ], ); } /** * @return array */ public function attachments(): array { return []; } }