Besseres Handling Rückerstattungen

This commit is contained in:
2026-09-06 20:11:50 +02:00
parent e730d6db63
commit b9795f08f0
26 changed files with 927 additions and 104 deletions
@@ -0,0 +1,50 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
/**
* Die beiden Erklärungen, die auf der Erstattungsseite neben der bestehenden stehen.
*
* `…_ACCOUNT` gilt nur im Auszahlungsweg: Zurückgezahlt wird ausschließlich auf das Konto, von dem der
* Beitrag kam -- sonst ließe sich über eine Erstattung Geld auf ein fremdes Konto umleiten, und die
* Zahlung wäre ihrer Herkunft nicht mehr zuzuordnen.
*
* `…_DONATION` tritt an die Stelle beider Sätze, wenn gespendet wird: Dann gibt es kein Konto, und die
* Person erklärt statt der Kontoangabe den Verzicht.
*
* Wie bei {@see 2026_09_04_140010_add_participant_refund_confirmation_text.php} liegen sie in
* `page_texts` und nicht in der Dokumentvorlage, damit Seite und Beleg denselben Wortlaut zeigen.
* Geschrieben wird nur, was fehlt -- eine bereits angepasste Fassung bleibt unangetastet.
*/
return new class extends Migration {
/** @var array<string, string> */
private const array TEXTS = [
'CONFIRMATION_PARTICIPANT_REFUND_ACCOUNT' => 'Ich bestätige, dass das angegebene Konto dasselbe '
. 'ist, von dem der Teilnahmebeitrag gezahlt wurde.',
'CONFIRMATION_PARTICIPANT_REFUND_DONATION' => 'Ich verzichte auf die Auszahlung des genannten '
. 'Betrags und spende ihn an den Verband. Mir ist bewusst, dass dieser Verzicht nicht '
. 'rückgängig gemacht werden kann.',
];
public function up(): void
{
foreach (self::TEXTS as $name => $content) {
if (DB::table('page_texts')->where('name', $name)->first() !== null) {
continue;
}
DB::table('page_texts')->insert([
'name' => $name,
'content' => $content,
'created_at' => now(),
'updated_at' => now(),
]);
}
}
public function down(): void
{
DB::table('page_texts')->whereIn('name', array_keys(self::TEXTS))->delete();
}
};