From a61344395af786ae26fa51eb6f0c4d5d2e250fc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=BCnrher?= Date: Thu, 27 Aug 2026 11:22:47 +0200 Subject: [PATCH 01/11] =?UTF-8?q?Fix=20Anmeldung=20f=C3=BCr=20Personen=20?= =?UTF-8?q?=C3=9C18?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Domains/Event/Actions/SignUp/SignUpCommand.php | 8 ++++++-- artisan | 0 docker/php/composer.phar | Bin 3 files changed, 6 insertions(+), 2 deletions(-) mode change 100644 => 100755 artisan mode change 100644 => 100755 docker/php/composer.phar diff --git a/app/Domains/Event/Actions/SignUp/SignUpCommand.php b/app/Domains/Event/Actions/SignUp/SignUpCommand.php index 7196acf..b0db8a3 100644 --- a/app/Domains/Event/Actions/SignUp/SignUpCommand.php +++ b/app/Domains/Event/Actions/SignUp/SignUpCommand.php @@ -68,8 +68,12 @@ class SignUpCommand { 'medications' => $this->request->medications, 'tetanus_vaccination' => $this->request->tetanus_vaccination, 'eating_habit' => $eatingHabit, - 'swimming_permission' => $participantAge->isfullAged() ? 'SWIMMING_PERMISSION_ALLOWED' : $this->request->swimming_permission, - 'first_aid_permission' => $participantAge->isfullAged() ? 'FIRST_AID_PERMISSION_ALLOWED' : $this->request->first_aid_permission, + 'swimming_permission' => ($participantAge->isfullAged() || $this->request->swimming_permission === '-1') + ? 'SWIMMING_PERMISSION_ALLOWED' + : $this->request->swimming_permission, + 'first_aid_permission' => ($participantAge->isfullAged() || $this->request->first_aid_permission === '-1') + ? 'FIRST_AID_PERMISSION_ALLOWED' + : $this->request->first_aid_permission, 'foto_socialmedia' => $this->request->foto_socialmedia, 'foto_print' => $this->request->foto_print, 'foto_webseite' => $this->request->foto_webseite, diff --git a/artisan b/artisan old mode 100644 new mode 100755 diff --git a/docker/php/composer.phar b/docker/php/composer.phar old mode 100644 new mode 100755 -- 2.54.0 From 9c4c28e56649a65fcb93a19e049bea09db228db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=BCnrher?= Date: Thu, 3 Sep 2026 00:08:46 +0200 Subject: [PATCH 02/11] Teilnahmerechnungen erstellen --- .../UpdateDocumentAssetAction.php | 87 +++ .../UpdateDocumentAssetRequest.php | 16 + .../UpdateDocumentAssetResponse.php | 14 + .../UpdateDocumentTemplateAction.php | 73 ++ .../UpdateDocumentTemplateRequest.php | 15 + .../UpdateDocumentTemplateResponse.php | 13 + .../UpdateTenantContactAction.php | 8 + .../UpdateTenantContactRequest.php | 8 + .../UpdateTenantTax/UpdateTenantTaxAction.php | 46 +- .../UpdateTenantTaxRequest.php | 8 + .../DocumentAssetDeleteController.php | 42 ++ .../DocumentAssetUpdateController.php | 29 + .../DocumentTemplatesGetController.php | 56 ++ .../DocumentTemplatesPageController.php | 15 + .../DocumentTemplatesPreviewController.php | 30 + .../DocumentTemplatesUpdateController.php | 28 + .../ManagedTenantContactGetController.php | 7 + .../ManagedTenantContactUpdateController.php | 5 + .../ManagedTenantTaxGetController.php | 5 + .../ManagedTenantTaxUpdateController.php | 3 + .../TenantContactGetController.php | 7 + .../TenantContactUpdateController.php | 5 + .../Controllers/TenantTaxGetController.php | 5 + .../Controllers/TenantTaxUpdateController.php | 4 + app/Domains/Admin/Routes/api.php | 18 + app/Domains/Admin/Routes/web.php | 7 + app/Domains/Admin/Views/DocumentTemplates.vue | 618 +++++++++++++++++ .../Admin/Views/Partials/TenantContact.vue | 78 +++ .../Admin/Views/Partials/TenantTaxInfo.vue | 77 +++ app/Domains/CostUnit/Routes/web.php | 17 +- .../CreateEvent/CreateEventCommand.php | 63 +- .../Event/Actions/SignUp/SignUpCommand.php | 40 +- .../Event/Actions/SignUp/SignUpRequest.php | 4 + .../Event/Controllers/SignupController.php | 2 + .../Event/Views/Partials/ParticipantData.vue | 37 +- .../CreateParticipantInvoiceCommand.php | 418 ++++++++++++ .../CreateParticipantInvoiceRequest.php | 13 + .../CreateParticipantInvoiceResponse.php | 16 + .../CreateParticipantInvoiceController.php | 33 + .../ParticipantInvoiceTokens.php | 112 ++++ app/Domains/ParticipantInvoice/Routes/api.php | 14 + app/Domains/UserManagement/Routes/web.php | 4 +- .../AbstractEventPaymentModule.php | 12 +- .../Modules/AccountTransferPaymentModule.php | 21 +- .../Modules/UndefinedPaymentModule.php | 5 +- app/Middleware/MainAdminRoleMiddleware.php | 30 + app/Models/DocumentAsset.php | 37 + app/Models/DocumentTemplate.php | 58 ++ app/Models/Event.php | 2 + app/Models/EventParticipant.php | 6 + app/Models/Tenant.php | 38 ++ .../DocumentTemplateRenderProvider.php | 156 +++++ app/Providers/GlobalDataProvider.php | 5 + app/Resources/EventParticipantResource.php | 3 + app/Resources/EventResource.php | 8 +- app/Support/DateRange.php | 28 + app/Support/Text.php | 25 + app/Views/Components/TextEditor.vue | 15 +- ...fault_tax_exemption_reason_jugendhilfe.php | 14 +- ...7_140010_add_invoice_fields_to_tenants.php | 55 ++ ..._140020_add_invoice_snapshot_to_events.php | 108 +++ ...d_invoice_fields_to_event_participants.php | 61 ++ ...08_27_150010_create_document_templates.php | 36 + ...26_08_27_150020_create_document_assets.php | 34 + ...010_add_invoice_sender_name_to_tenants.php | 28 + ...op_invoice_sender_snapshot_from_events.php | 51 ++ ...9_02_140030_compact_invoice_key_format.php | 42 ++ .../participant-invoice-template.sql | 160 +++++ resources/js/layouts/AdminAppLayout.vue | 5 + resources/views/pdfs/document.blade.php | 18 + routes/web.php | 35 +- tests/Feature/DocumentTemplateAdminTest.php | 215 ++++++ tests/Feature/ExampleTest.php | 34 +- tests/Feature/InvoiceNumberingTest.php | 215 ++++++ tests/Feature/ParticipantInvoiceTest.php | 630 ++++++++++++++++++ tests/Feature/TenantTaxInformationTest.php | 8 +- tests/Unit/DateRangeTest.php | 43 ++ tests/Unit/EventPaymentModuleRegistryTest.php | 7 +- tests/Unit/TextTest.php | 30 + 79 files changed, 4303 insertions(+), 75 deletions(-) create mode 100644 app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetAction.php create mode 100644 app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetRequest.php create mode 100644 app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetResponse.php create mode 100644 app/Domains/Admin/Actions/UpdateDocumentTemplate/UpdateDocumentTemplateAction.php create mode 100644 app/Domains/Admin/Actions/UpdateDocumentTemplate/UpdateDocumentTemplateRequest.php create mode 100644 app/Domains/Admin/Actions/UpdateDocumentTemplate/UpdateDocumentTemplateResponse.php create mode 100644 app/Domains/Admin/Controllers/DocumentAssetDeleteController.php create mode 100644 app/Domains/Admin/Controllers/DocumentAssetUpdateController.php create mode 100644 app/Domains/Admin/Controllers/DocumentTemplatesGetController.php create mode 100644 app/Domains/Admin/Controllers/DocumentTemplatesPageController.php create mode 100644 app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php create mode 100644 app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php create mode 100644 app/Domains/Admin/Views/DocumentTemplates.vue create mode 100644 app/Domains/ParticipantInvoice/Actions/CreateParticipantInvoice/CreateParticipantInvoiceCommand.php create mode 100644 app/Domains/ParticipantInvoice/Actions/CreateParticipantInvoice/CreateParticipantInvoiceRequest.php create mode 100644 app/Domains/ParticipantInvoice/Actions/CreateParticipantInvoice/CreateParticipantInvoiceResponse.php create mode 100644 app/Domains/ParticipantInvoice/Controllers/CreateParticipantInvoiceController.php create mode 100644 app/Domains/ParticipantInvoice/ParticipantInvoiceTokens.php create mode 100644 app/Domains/ParticipantInvoice/Routes/api.php create mode 100644 app/Middleware/MainAdminRoleMiddleware.php create mode 100644 app/Models/DocumentAsset.php create mode 100644 app/Models/DocumentTemplate.php create mode 100644 app/Providers/DocumentTemplateRenderProvider.php create mode 100644 app/Support/DateRange.php create mode 100644 app/Support/Text.php create mode 100644 database/migrations/2026_08_27_140010_add_invoice_fields_to_tenants.php create mode 100644 database/migrations/2026_08_27_140020_add_invoice_snapshot_to_events.php create mode 100644 database/migrations/2026_08_27_140030_add_invoice_fields_to_event_participants.php create mode 100644 database/migrations/2026_08_27_150010_create_document_templates.php create mode 100644 database/migrations/2026_08_27_150020_create_document_assets.php create mode 100644 database/migrations/2026_09_02_140010_add_invoice_sender_name_to_tenants.php create mode 100644 database/migrations/2026_09_02_140020_drop_invoice_sender_snapshot_from_events.php create mode 100644 database/migrations/2026_09_02_140030_compact_invoice_key_format.php create mode 100644 database/seed-scripts/participant-invoice-template.sql create mode 100644 resources/views/pdfs/document.blade.php create mode 100644 tests/Feature/DocumentTemplateAdminTest.php create mode 100644 tests/Feature/InvoiceNumberingTest.php create mode 100644 tests/Feature/ParticipantInvoiceTest.php create mode 100644 tests/Unit/DateRangeTest.php create mode 100644 tests/Unit/TextTest.php diff --git a/app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetAction.php b/app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetAction.php new file mode 100644 index 0000000..2de5e39 --- /dev/null +++ b/app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetAction.php @@ -0,0 +1,87 @@ + */ + private const array ALLOWED_MIME_TYPES = [ + 'image/png' => 'png', + 'image/jpeg' => 'jpg', + 'image/gif' => 'gif', + 'image/svg+xml' => 'svg', + ]; + + public function __construct(private readonly UpdateDocumentAssetRequest $request) + { + } + + public function execute(): UpdateDocumentAssetResponse + { + $response = new UpdateDocumentAssetResponse(); + + $name = $this->normalizeName($this->request->name); + + if ($name === null) { + $response->message = 'Bitte einen Namen aus Kleinbuchstaben, Ziffern, Bindestrich oder Unterstrich angeben.'; + + return $response; + } + + $asset = DocumentAsset::where('name', $name)->first(); + $file = $this->request->file; + + if ($file === null && $asset === null) { + $response->message = 'Für ein neues Bild wird eine Datei benötigt.'; + + return $response; + } + + $attributes = ['name' => $name, 'label' => $this->request->label]; + + if ($file !== null) { + if (!array_key_exists($file->getMimeType(), self::ALLOWED_MIME_TYPES)) { + $response->message = 'Nur PNG, JPEG, GIF oder SVG sind zulässig.'; + + return $response; + } + + if ($file->getSize() > self::MAX_BYTES) { + $response->message = 'Das Bild darf höchstens 2 MB groß sein.'; + + return $response; + } + + $attributes['mime'] = $file->getMimeType(); + $attributes['data'] = base64_encode(file_get_contents($file->getRealPath())); + } + + $response->asset = $asset === null + ? DocumentAsset::create($attributes) + : tap($asset)->update($attributes); + + $response->success = true; + $response->message = 'Das Bild wurde gespeichert.'; + + return $response; + } + + /** Namen sind Slugs, damit `{asset:name}` eindeutig erkennbar bleibt. */ + private function normalizeName(string $name): ?string + { + $name = strtolower(trim($name)); + + return preg_match('/^[a-z0-9_-]+$/', $name) === 1 ? $name : null; + } +} diff --git a/app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetRequest.php b/app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetRequest.php new file mode 100644 index 0000000..016e307 --- /dev/null +++ b/app/Domains/Admin/Actions/UpdateDocumentAsset/UpdateDocumentAssetRequest.php @@ -0,0 +1,16 @@ +request->documentType); + + // Erst prüfen, dann schreiben -- sonst bliebe bei einem Fehler ein halb gespeicherter Stand übrig. + $rejection = $this->rejectBareAssetInStyle(); + if ($rejection !== null) { + $response->message = $rejection; + + return $response; + } + + foreach ($this->request->blocks as $block => $content) { + $template = $existing->get($block); + + if ($template === null || !$template->editable) { + $response->skipped[] = $block; + continue; + } + + $template->update(['content' => (string) $content]); + } + + $response->success = true; + $response->message = $response->skipped === [] + ? 'Die Vorlage wurde gespeichert.' + : 'Die Vorlage wurde gespeichert; nicht editierbare Blöcke blieben unverändert.'; + + return $response; + } + + /** + * Ein Bild-Platzhalter, der im CSS nicht in `url(...)` steht, expandiert zu einem Data-URI, das + * dompdf nicht auslagern kann -- der Parser läuft dann minutenlang und der FPM-Worker stirbt am + * Zeitlimit (502). Solches CSS wird gar nicht erst gespeichert. + * + * @return string|null Fehlermeldung, oder null wenn nichts zu beanstanden ist. + */ + private function rejectBareAssetInStyle(): ?string + { + $style = $this->request->blocks[DocumentTemplate::BLOCK_STYLE] ?? null; + + if ($style === null || preg_match('/(? $blocks Blockinhalte, adressiert über den Block-Slug. + */ + public function __construct( + public readonly string $documentType, + public readonly array $blocks, + ) { + } +} diff --git a/app/Domains/Admin/Actions/UpdateDocumentTemplate/UpdateDocumentTemplateResponse.php b/app/Domains/Admin/Actions/UpdateDocumentTemplate/UpdateDocumentTemplateResponse.php new file mode 100644 index 0000000..4a55c3f --- /dev/null +++ b/app/Domains/Admin/Actions/UpdateDocumentTemplate/UpdateDocumentTemplateResponse.php @@ -0,0 +1,13 @@ + Blöcke, die nicht gespeichert wurden (unbekannt oder nicht editierbar). */ + public array $skipped = []; +} diff --git a/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactAction.php b/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactAction.php index 3ffab8a..43834c0 100644 --- a/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactAction.php +++ b/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactAction.php @@ -2,6 +2,8 @@ namespace App\Domains\Admin\Actions\UpdateTenantContact; +use App\Support\Text; + class UpdateTenantContactAction { public function __construct(private UpdateTenantContactRequest $request) @@ -15,8 +17,14 @@ class UpdateTenantContactAction $this->request->tenant->update([ 'email' => $this->request->email, 'email_finance' => $this->request->emailFinance, + 'invoice_sender_name' => Text::nullIfBlank($this->request->invoiceSenderName), + // Leergelassene optionale Felder als NULL, damit sie im Briefkopf sauber wegfallen. + 'address_1' => Text::nullIfBlank($this->request->address1), + 'address_2' => Text::nullIfBlank($this->request->address2), + 'address_3' => Text::nullIfBlank($this->request->address3), 'postcode' => $this->request->postcode, 'city' => $this->request->city, + 'phone' => Text::nullIfBlank($this->request->phone), ]); $response->success = true; diff --git a/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactRequest.php b/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactRequest.php index f9135ea..8fef4be 100644 --- a/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactRequest.php +++ b/app/Domains/Admin/Actions/UpdateTenantContact/UpdateTenantContactRequest.php @@ -12,6 +12,14 @@ class UpdateTenantContactRequest public string $emailFinance, public string $postcode, public string $city, + /** Bezeichnung des Rechnungsstellers; leer bedeutet "Name des Mandanten verwenden". */ + public ?string $invoiceSenderName = null, + /** Straße und Hausnummer -- Pflichtangabe auf Rechnungen nach § 14 Abs. 4 UStG. */ + public ?string $address1 = null, + /** Optionale Zusatzzeile, z.B. "c/o ...". */ + public ?string $address2 = null, + public ?string $address3 = null, + public ?string $phone = null, ) { } } diff --git a/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxAction.php b/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxAction.php index bb9fad7..2aaaed3 100644 --- a/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxAction.php +++ b/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxAction.php @@ -3,6 +3,8 @@ namespace App\Domains\Admin\Actions\UpdateTenantTax; use App\Enumerations\VatPricingMode; +use App\Models\Tenant; +use App\Support\Text; class UpdateTenantTaxAction { @@ -14,14 +16,23 @@ class UpdateTenantTaxAction { $response = new UpdateTenantTaxResponse(); + // Präfixe sind großgeschrieben; null heißt "nicht mitgeschickt" und damit "unverändert". + $prefix = Text::nullIfBlank(strtoupper((string) $this->request->invoicePrefix)); + + if ($prefix !== null && $this->prefixTakenByAnotherTenant($prefix)) { + $response->message = sprintf('Das Rechnungs-Präfix "%s" wird bereits von einem anderen Mandanten genutzt.', $prefix); + + return $response; + } + if ($this->request->taxLiable) { - $this->request->tenant->update([ + $this->request->tenant->update($this->withInvoiceDetails([ 'tax_liable' => true, 'vat_rate' => $this->clampVatRate($this->request->vatRate), 'vat_pricing_mode' => $this->request->vatPricingMode->value, 'tax_exemption_reason' => null, 'tax_exemption_note' => null, - ]); + ], $prefix)); $response->success = true; $response->message = 'Steuerinformationen wurden gespeichert.'; @@ -45,13 +56,13 @@ class UpdateTenantTaxAction return $response; } - $this->request->tenant->update([ + $this->request->tenant->update($this->withInvoiceDetails([ 'tax_liable' => false, 'vat_rate' => 0, 'vat_pricing_mode' => VatPricingMode::Inclusive->value, 'tax_exemption_reason' => $reason->slug, 'tax_exemption_note' => $reason->requires_note ? $note : null, - ]); + ], $prefix)); $response->success = true; $response->message = 'Steuerinformationen wurden gespeichert.'; @@ -63,4 +74,31 @@ class UpdateTenantTaxAction { return max(0, min(100, $vatRate)); } + + /** + * Ergänzt die Rechnungsstellerangaben. Sie gelten unabhängig davon, ob Steuerpflicht besteht -- eine + * Steuernummer gehört auch auf eine steuerfreie Rechnung. + * + * @param array $attributes + * @return array + */ + private function withInvoiceDetails(array $attributes, ?string $prefix): array + { + $attributes['tax_number'] = Text::nullIfBlank($this->request->taxNumber); + $attributes['vat_id'] = Text::nullIfBlank($this->request->vatId); + + // Nicht mitgeschickt heißt "unverändert", nicht "leeren". + if ($prefix !== null) { + $attributes['invoice_prefix'] = $prefix; + } + + return $attributes; + } + + private function prefixTakenByAnotherTenant(string $prefix): bool + { + return Tenant::where('invoice_prefix', $prefix) + ->where('id', '!=', $this->request->tenant->id) + ->exists(); + } } diff --git a/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxRequest.php b/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxRequest.php index e02187b..ac2247b 100644 --- a/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxRequest.php +++ b/app/Domains/Admin/Actions/UpdateTenantTax/UpdateTenantTaxRequest.php @@ -15,6 +15,14 @@ class UpdateTenantTaxRequest public ?TaxExemptionReason $exemptionReason, public ?string $exemptionNote, public VatPricingMode $vatPricingMode, + /** Steuernummer bzw. USt-IdNr. -- Pflichtangabe auf Rechnungen (§ 14 Abs. 4 Nr. 2 UStG). */ + public ?string $taxNumber = null, + public ?string $vatId = null, + /** + * Erster Block der Rechnungsnummer. `null` heißt "unverändert lassen" -- im Self-Service wird das + * Feld gar nicht erst mitgeschickt, damit ein bestehender Nummernkreis nicht bricht. + */ + public ?string $invoicePrefix = null, ) { } diff --git a/app/Domains/Admin/Controllers/DocumentAssetDeleteController.php b/app/Domains/Admin/Controllers/DocumentAssetDeleteController.php new file mode 100644 index 0000000..373009f --- /dev/null +++ b/app/Domains/Admin/Controllers/DocumentAssetDeleteController.php @@ -0,0 +1,42 @@ +first(); + + // Durchweg 200 mit Status im Body -- wie die übrigen Admin-Endpunkte, damit der Grund im Frontend + // ankommt (der Ajax-Helfer verwirft den Body bei Fehler-Statuscodes). + if ($asset === null) { + return response()->json(['status' => 'error', 'message' => 'Das Bild existiert nicht.']); + } + + // Ein noch referenziertes Bild zu löschen würde stillschweigend eine Lücke in jede künftige + // Rechnung reißen -- der Platzhalter löst dann zu einem Leerstring auf. + if ($this->isReferenced($asset->name)) { + return response()->json([ + 'status' => 'error', + 'message' => sprintf('Das Bild wird noch als {asset:%s} in der Vorlage verwendet.', $asset->name), + ]); + } + + $asset->delete(); + + return response()->json(['status' => 'success', 'message' => 'Das Bild wurde gelöscht.']); + } + + private function isReferenced(string $name): bool + { + return DocumentTemplate::query() + ->where('content', 'like', '%{asset:' . $name . '}%') + ->exists(); + } +} diff --git a/app/Domains/Admin/Controllers/DocumentAssetUpdateController.php b/app/Domains/Admin/Controllers/DocumentAssetUpdateController.php new file mode 100644 index 0000000..1f91d0a --- /dev/null +++ b/app/Domains/Admin/Controllers/DocumentAssetUpdateController.php @@ -0,0 +1,29 @@ +input('name'), + label: $request->input('label'), + file: $request->file('file'), + )); + + $response = $action->execute(); + + return response()->json([ + 'status' => $response->success ? 'success' : 'error', + 'message' => $response->message, + 'token' => $response->asset !== null ? '{asset:' . $response->asset->name . '}' : null, + ]); + } +} diff --git a/app/Domains/Admin/Controllers/DocumentTemplatesGetController.php b/app/Domains/Admin/Controllers/DocumentTemplatesGetController.php new file mode 100644 index 0000000..cb3bfb6 --- /dev/null +++ b/app/Domains/Admin/Controllers/DocumentTemplatesGetController.php @@ -0,0 +1,56 @@ + 'Seitengerüst', + DocumentTemplate::BLOCK_STYLE => 'Gestaltung (CSS)', + 'header_sender_return' => 'Rücksendezeile', + 'header_recipient' => 'Empfängeranschrift', + 'emblem' => 'Emblem', + 'logo' => 'Logo', + 'sender_data' => 'Absenderangaben', + 'subject' => 'Betreff und Referenzdaten', + DocumentTemplate::BLOCK_BODY => 'Rechnungsinhalt', + 'footer' => 'Grußformel und Fußnote', + ]; + + public function __invoke(): JsonResponse + { + $blocks = DocumentTemplate::forType(DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + ->values() + ->map(fn(DocumentTemplate $block): array => [ + 'block' => $block->block, + 'label' => self::BLOCK_LABELS[$block->block] ?? $block->block, + 'content' => (string) $block->content, + 'editable' => $block->editable, + 'source' => in_array($block->block, self::SOURCE_BLOCKS, true), + ]); + + return response()->json([ + 'blocks' => $blocks, + 'assets' => DocumentAsset::orderBy('name')->get()->map(fn(DocumentAsset $asset): array => [ + 'name' => $asset->name, + 'label' => $asset->label, + 'mime' => $asset->mime, + 'token' => '{asset:' . $asset->name . '}', + 'preview' => $asset->toDataUri(), + ]), + 'tokenGroups' => ParticipantInvoiceTokens::groups(), + ]); + } +} diff --git a/app/Domains/Admin/Controllers/DocumentTemplatesPageController.php b/app/Domains/Admin/Controllers/DocumentTemplatesPageController.php new file mode 100644 index 0000000..e114ed2 --- /dev/null +++ b/app/Domains/Admin/Controllers/DocumentTemplatesPageController.php @@ -0,0 +1,15 @@ +render(); + } +} diff --git a/app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php b/app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php new file mode 100644 index 0000000..fd0bab2 --- /dev/null +++ b/app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php @@ -0,0 +1,30 @@ +input('blocks', []), + )->render(ParticipantInvoiceTokens::sample()); + + return response(PdfGenerateAndDownloadProvider::fromHtml($html, 'portrait'), 200, [ + 'Content-Type' => 'application/pdf', + 'Content-Disposition' => 'inline; filename="vorschau.pdf"', + ]); + } +} diff --git a/app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php b/app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php new file mode 100644 index 0000000..afe53fa --- /dev/null +++ b/app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php @@ -0,0 +1,28 @@ +input('blocks', []), + )); + + $response = $action->execute(); + + return response()->json([ + 'status' => $response->success ? 'success' : 'error', + 'message' => $response->message, + ]); + } +} diff --git a/app/Domains/Admin/Controllers/ManagedTenantContactGetController.php b/app/Domains/Admin/Controllers/ManagedTenantContactGetController.php index cb35234..fd9f4a9 100644 --- a/app/Domains/Admin/Controllers/ManagedTenantContactGetController.php +++ b/app/Domains/Admin/Controllers/ManagedTenantContactGetController.php @@ -15,6 +15,13 @@ class ManagedTenantContactGetController extends CommonController return response()->json([ 'email' => $tenant->email, 'email_finance' => $tenant->email_finance, + 'invoice_sender_name' => $tenant->invoice_sender_name, + // Als Platzhalter im Formular: so heisst der Absender, solange nichts eingetragen ist. + 'name' => $tenant->name, + 'phone' => $tenant->phone, + 'address_1' => $tenant->address_1, + 'address_2' => $tenant->address_2, + 'address_3' => $tenant->address_3, 'postcode' => $tenant->postcode, 'city' => $tenant->city, 'saveEndpoint' => '/api/v1/admin/tenants/' . $slug . '/contact', diff --git a/app/Domains/Admin/Controllers/ManagedTenantContactUpdateController.php b/app/Domains/Admin/Controllers/ManagedTenantContactUpdateController.php index dce1996..7c1cdb6 100644 --- a/app/Domains/Admin/Controllers/ManagedTenantContactUpdateController.php +++ b/app/Domains/Admin/Controllers/ManagedTenantContactUpdateController.php @@ -20,6 +20,11 @@ class ManagedTenantContactUpdateController extends CommonController emailFinance: $request->input('email_finance'), postcode: $request->input('postcode'), city: $request->input('city'), + invoiceSenderName: $request->input('invoice_sender_name'), + address1: $request->input('address_1'), + address2: $request->input('address_2'), + address3: $request->input('address_3'), + phone: $request->input('phone'), )); $response = $action->execute(); diff --git a/app/Domains/Admin/Controllers/ManagedTenantTaxGetController.php b/app/Domains/Admin/Controllers/ManagedTenantTaxGetController.php index e0137e0..6dd301c 100644 --- a/app/Domains/Admin/Controllers/ManagedTenantTaxGetController.php +++ b/app/Domains/Admin/Controllers/ManagedTenantTaxGetController.php @@ -20,6 +20,11 @@ class ManagedTenantTaxGetController extends CommonController 'tax_exemption_reason' => $tenant->tax_exemption_reason, 'tax_exemption_note' => $tenant->tax_exemption_note, 'vat_pricing_mode' => $tenant->vat_pricing_mode, + 'tax_number' => $tenant->tax_number, + 'vat_id' => $tenant->vat_id, + 'invoice_prefix' => $tenant->invoice_prefix, + // In der Mandanten-Verwaltung ist der Nummernkreis änderbar. + 'can_edit_invoice_prefix' => true, 'exemption_reasons' => TaxExemptionReason::options(), 'pricing_modes' => VatPricingMode::options(), 'saveEndpoint' => '/api/v1/admin/tenants/' . $slug . '/tax', diff --git a/app/Domains/Admin/Controllers/ManagedTenantTaxUpdateController.php b/app/Domains/Admin/Controllers/ManagedTenantTaxUpdateController.php index 5d6af6e..003a706 100644 --- a/app/Domains/Admin/Controllers/ManagedTenantTaxUpdateController.php +++ b/app/Domains/Admin/Controllers/ManagedTenantTaxUpdateController.php @@ -23,6 +23,9 @@ class ManagedTenantTaxUpdateController extends CommonController exemptionReason: TaxExemptionReason::where('slug', $request->input('tax_exemption_reason'))->first(), exemptionNote: $request->input('tax_exemption_note'), vatPricingMode: VatPricingMode::tryFrom((string) $request->input('vat_pricing_mode', 'inclusive')) ?? VatPricingMode::Inclusive, + taxNumber: $request->input('tax_number'), + vatId: $request->input('vat_id'), + invoicePrefix: $request->input('invoice_prefix'), )); $response = $action->execute(); diff --git a/app/Domains/Admin/Controllers/TenantContactGetController.php b/app/Domains/Admin/Controllers/TenantContactGetController.php index b660d45..07428a0 100644 --- a/app/Domains/Admin/Controllers/TenantContactGetController.php +++ b/app/Domains/Admin/Controllers/TenantContactGetController.php @@ -13,6 +13,13 @@ class TenantContactGetController extends CommonController return response()->json([ 'email' => $this->tenant->email, 'email_finance' => $this->tenant->email_finance, + 'invoice_sender_name' => $this->tenant->invoice_sender_name, + // Als Platzhalter im Formular: so heisst der Absender, solange nichts eingetragen ist. + 'name' => $this->tenant->name, + 'phone' => $this->tenant->phone, + 'address_1' => $this->tenant->address_1, + 'address_2' => $this->tenant->address_2, + 'address_3' => $this->tenant->address_3, 'postcode' => $this->tenant->postcode, 'city' => $this->tenant->city, 'saveEndpoint' => '/api/v1/admin/tenant/contact', diff --git a/app/Domains/Admin/Controllers/TenantContactUpdateController.php b/app/Domains/Admin/Controllers/TenantContactUpdateController.php index bc38a23..76f68d2 100644 --- a/app/Domains/Admin/Controllers/TenantContactUpdateController.php +++ b/app/Domains/Admin/Controllers/TenantContactUpdateController.php @@ -18,6 +18,11 @@ class TenantContactUpdateController extends CommonController emailFinance: $request->input('email_finance'), postcode: $request->input('postcode'), city: $request->input('city'), + invoiceSenderName: $request->input('invoice_sender_name'), + address1: $request->input('address_1'), + address2: $request->input('address_2'), + address3: $request->input('address_3'), + phone: $request->input('phone'), )); $response = $action->execute(); diff --git a/app/Domains/Admin/Controllers/TenantTaxGetController.php b/app/Domains/Admin/Controllers/TenantTaxGetController.php index d8cce22..ff36710 100644 --- a/app/Domains/Admin/Controllers/TenantTaxGetController.php +++ b/app/Domains/Admin/Controllers/TenantTaxGetController.php @@ -18,6 +18,11 @@ class TenantTaxGetController extends CommonController 'tax_exemption_reason' => $this->tenant->tax_exemption_reason, 'tax_exemption_note' => $this->tenant->tax_exemption_note, 'vat_pricing_mode' => $this->tenant->vat_pricing_mode, + 'tax_number' => $this->tenant->tax_number, + 'vat_id' => $this->tenant->vat_id, + 'invoice_prefix' => $this->tenant->invoice_prefix, + // Im Self-Service nicht änderbar: das Präfix bestimmt den Nummernkreis. + 'can_edit_invoice_prefix' => false, 'exemption_reasons' => TaxExemptionReason::options(), 'pricing_modes' => VatPricingMode::options(), 'saveEndpoint' => '/api/v1/admin/tenant/tax', diff --git a/app/Domains/Admin/Controllers/TenantTaxUpdateController.php b/app/Domains/Admin/Controllers/TenantTaxUpdateController.php index f8b17b8..9a37274 100644 --- a/app/Domains/Admin/Controllers/TenantTaxUpdateController.php +++ b/app/Domains/Admin/Controllers/TenantTaxUpdateController.php @@ -21,6 +21,10 @@ class TenantTaxUpdateController extends CommonController exemptionReason: TaxExemptionReason::where('slug', $request->input('tax_exemption_reason'))->first(), exemptionNote: $request->input('tax_exemption_note'), vatPricingMode: VatPricingMode::tryFrom((string) $request->input('vat_pricing_mode', 'inclusive')) ?? VatPricingMode::Inclusive, + taxNumber: $request->input('tax_number'), + vatId: $request->input('vat_id'), + // invoice_prefix wird hier bewusst nicht durchgereicht -- der Nummernkreis ist nur in der + // Mandanten-Verwaltung änderbar. )); $response = $action->execute(); diff --git a/app/Domains/Admin/Routes/api.php b/app/Domains/Admin/Routes/api.php index 6bf9597..f3f94b2 100644 --- a/app/Domains/Admin/Routes/api.php +++ b/app/Domains/Admin/Routes/api.php @@ -1,5 +1,10 @@ group(function () { @@ -60,6 +66,18 @@ Route::middleware([IdentifyTenant::class, 'auth', AdminRoleMiddleware::class])-> Route::post('/{id}/reset-password', UserResetPasswordController::class); }); + // Dokumentvorlagen gelten app-weit für alle Mandanten -- deshalb nur für Hauptadministrator*innen, + // AdminRoleMiddleware allein ließe auch Gruppenleitungen durch. + Route::middleware(MainAdminRoleMiddleware::class)->group(function () { + Route::prefix('api/v1/admin/document-templates')->group(function () { + Route::get('/', DocumentTemplatesGetController::class); + Route::post('/', DocumentTemplatesUpdateController::class); + Route::post('/preview', DocumentTemplatesPreviewController::class); + Route::post('/assets', DocumentAssetUpdateController::class); + Route::delete('/assets/{name}', DocumentAssetDeleteController::class); + }); + }); + Route::middleware(LvOnlyMiddleware::class)->group(function () { Route::prefix('api/v1/admin/tenants')->group(function () { Route::get('/list', TenantListApiController::class); diff --git a/app/Domains/Admin/Routes/web.php b/app/Domains/Admin/Routes/web.php index 793962f..73ca343 100644 --- a/app/Domains/Admin/Routes/web.php +++ b/app/Domains/Admin/Routes/web.php @@ -1,6 +1,7 @@ group(function () { @@ -16,6 +18,11 @@ Route::middleware([IdentifyTenant::class, 'auth', AdminRoleMiddleware::class])-> Route::get('/tenant', TenantPageController::class); Route::get('/users', UserListPageController::class); + // App-weit gültige Dokumentvorlagen -- nur für Hauptadministrator*innen. + Route::middleware(MainAdminRoleMiddleware::class)->group(function () { + Route::get('/document-templates', DocumentTemplatesPageController::class); + }); + Route::middleware(LvOnlyMiddleware::class)->group(function () { Route::get('/tenants', TenantListPageController::class); Route::get('/tenants/{slug}', TenantEditPageController::class); diff --git a/app/Domains/Admin/Views/DocumentTemplates.vue b/app/Domains/Admin/Views/DocumentTemplates.vue new file mode 100644 index 0000000..df517d1 --- /dev/null +++ b/app/Domains/Admin/Views/DocumentTemplates.vue @@ -0,0 +1,618 @@ + + + + + diff --git a/app/Domains/Admin/Views/Partials/TenantContact.vue b/app/Domains/Admin/Views/Partials/TenantContact.vue index 11843a5..ee73fa6 100644 --- a/app/Domains/Admin/Views/Partials/TenantContact.vue +++ b/app/Domains/Admin/Views/Partials/TenantContact.vue @@ -13,9 +13,17 @@ const props = defineProps({ const { request } = useAjax() const editing = ref(false) +// Solange kein eigener Absender eingetragen ist, steht auf der Rechnung der Name des Mandanten. +const senderFallback = props.data.name ?? '' + const form = ref({ + invoice_sender_name: props.data.invoice_sender_name ?? '', email: props.data.email ?? '', email_finance: props.data.email_finance ?? '', + phone: props.data.phone ?? '', + address_1: props.data.address_1 ?? '', + address_2: props.data.address_2 ?? '', + address_3: props.data.address_3 ?? '', postcode: props.data.postcode ?? '', city: props.data.city ?? '', }) @@ -39,16 +47,49 @@ async function save() { diff --git a/database/migrations/2026_08_06_170030_default_tax_exemption_reason_jugendhilfe.php b/database/migrations/2026_08_06_170030_default_tax_exemption_reason_jugendhilfe.php index 10cce5b..2c33a83 100644 --- a/database/migrations/2026_08_06_170030_default_tax_exemption_reason_jugendhilfe.php +++ b/database/migrations/2026_08_06_170030_default_tax_exemption_reason_jugendhilfe.php @@ -1,20 +1,28 @@ string('tax_exemption_reason')->nullable()->default('ustg_4_25a')->change(); + }); } public function down(): void { - DB::statement('ALTER TABLE tenants ALTER COLUMN tax_exemption_reason DROP DEFAULT'); + Schema::table('tenants', function (Blueprint $table) { + $table->string('tax_exemption_reason')->nullable()->default(null)->change(); + }); } }; diff --git a/database/migrations/2026_08_27_140010_add_invoice_fields_to_tenants.php b/database/migrations/2026_08_27_140010_add_invoice_fields_to_tenants.php new file mode 100644 index 0000000..e702e00 --- /dev/null +++ b/database/migrations/2026_08_27_140010_add_invoice_fields_to_tenants.php @@ -0,0 +1,55 @@ +string('address_1')->nullable()->after('name'); + $table->string('address_2')->nullable()->after('address_1'); + $table->string('address_3')->nullable()->after('address_2'); + $table->string('phone')->nullable()->after('email_finance'); + $table->string('tax_number')->nullable()->after('vat_pricing_mode'); + $table->string('vat_id')->nullable()->after('tax_number'); + $table->string('invoice_prefix')->nullable()->after('vat_id'); + }); + + // Bestands-Tenants bekommen den großgeschriebenen Slug als Default-Präfix (wm -> WM). + foreach (DB::table('tenants')->select('id', 'slug')->get() as $tenant) { + DB::table('tenants') + ->where('id', $tenant->id) + ->update(['invoice_prefix' => strtoupper($tenant->slug)]); + } + + Schema::table('tenants', function (Blueprint $table) { + $table->unique('invoice_prefix'); + }); + } + + public function down(): void + { + Schema::table('tenants', function (Blueprint $table) { + $table->dropUnique(['invoice_prefix']); + $table->dropColumn([ + 'address_1', + 'address_2', + 'address_3', + 'phone', + 'tax_number', + 'vat_id', + 'invoice_prefix', + ]); + }); + } +}; diff --git a/database/migrations/2026_08_27_140020_add_invoice_snapshot_to_events.php b/database/migrations/2026_08_27_140020_add_invoice_snapshot_to_events.php new file mode 100644 index 0000000..6101fa2 --- /dev/null +++ b/database/migrations/2026_08_27_140020_add_invoice_snapshot_to_events.php @@ -0,0 +1,108 @@ +string('invoice_key')->nullable()->unique(); + + $table->string('invoice_sender_name')->nullable(); + $table->string('invoice_sender_address_1')->nullable(); + $table->string('invoice_sender_address_2')->nullable(); + $table->string('invoice_sender_address_3')->nullable(); + $table->string('invoice_sender_postcode')->nullable(); + $table->string('invoice_sender_city')->nullable(); + $table->string('invoice_sender_email')->nullable(); + $table->string('invoice_sender_phone')->nullable(); + $table->string('invoice_sender_tax_number')->nullable(); + $table->string('invoice_sender_vat_id')->nullable(); + }); + + $this->backfill(); + } + + /** + * Bestandsevents nachträglich bestücken: Absenderdaten aus dem heutigen Tenant, `invoice_key` je + * Tenant und Monat nach `start_date`, dann `id` durchnummeriert. + */ + private function backfill(): void + { + $tenants = DB::table('tenants')->get()->keyBy('slug'); + $counters = []; + + $events = DB::table('events') + ->select('id', 'tenant', 'start_date') + ->orderBy('start_date') + ->orderBy('id') + ->get(); + + foreach ($events as $event) { + $tenant = $tenants->get($event->tenant); + if ($tenant === null || $event->start_date === null) { + continue; + } + + $month = date('Y-m', strtotime($event->start_date)); + $bucket = $event->tenant . '|' . $month; + $counters[$bucket] = ($counters[$bucket] ?? 0) + 1; + + DB::table('events')->where('id', $event->id)->update([ + // $month ist bereits "2026-07" -> ergibt "WM-V-2026-07-01" + 'invoice_key' => sprintf( + '%s-V-%s-%s', + $tenant->invoice_prefix, + $month, + str_pad((string) $counters[$bucket], 2, '0', STR_PAD_LEFT) + ), + 'invoice_sender_name' => $tenant->name, + 'invoice_sender_address_1' => $tenant->address_1, + 'invoice_sender_address_2' => $tenant->address_2, + 'invoice_sender_address_3' => $tenant->address_3, + 'invoice_sender_postcode' => $tenant->postcode, + 'invoice_sender_city' => $tenant->city, + 'invoice_sender_email' => $tenant->email, + 'invoice_sender_phone' => $tenant->phone, + 'invoice_sender_tax_number' => $tenant->tax_number, + 'invoice_sender_vat_id' => $tenant->vat_id, + ]); + } + } + + public function down(): void + { + Schema::table('events', function (Blueprint $table) { + $table->dropUnique(['invoice_key']); + $table->dropColumn([ + 'invoice_key', + 'invoice_sender_name', + 'invoice_sender_address_1', + 'invoice_sender_address_2', + 'invoice_sender_address_3', + 'invoice_sender_postcode', + 'invoice_sender_city', + 'invoice_sender_email', + 'invoice_sender_phone', + 'invoice_sender_tax_number', + 'invoice_sender_vat_id', + ]); + }); + } +}; diff --git a/database/migrations/2026_08_27_140030_add_invoice_fields_to_event_participants.php b/database/migrations/2026_08_27_140030_add_invoice_fields_to_event_participants.php new file mode 100644 index 0000000..fae3797 --- /dev/null +++ b/database/migrations/2026_08_27_140030_add_invoice_fields_to_event_participants.php @@ -0,0 +1,61 @@ +unsignedInteger('invoice_sequence')->nullable()->after('identifier'); + $table->string('fee_type')->nullable()->after('participation_type'); + $table->boolean('sibling_reduction')->default(false)->after('fee_type'); + }); + + $this->backfillSequences(); + + Schema::table('event_participants', function (Blueprint $table) { + $table->unique(['event_id', 'invoice_sequence']); + }); + } + + /** Bestandsanmeldungen je Event nach `id` durchnummerieren. */ + private function backfillSequences(): void + { + $counters = []; + + $participants = DB::table('event_participants') + ->select('id', 'event_id') + ->orderBy('event_id') + ->orderBy('id') + ->get(); + + foreach ($participants as $participant) { + $counters[$participant->event_id] = ($counters[$participant->event_id] ?? 0) + 1; + + DB::table('event_participants') + ->where('id', $participant->id) + ->update(['invoice_sequence' => $counters[$participant->event_id]]); + } + } + + public function down(): void + { + Schema::table('event_participants', function (Blueprint $table) { + $table->dropUnique(['event_id', 'invoice_sequence']); + $table->dropColumn(['invoice_sequence', 'fee_type', 'sibling_reduction']); + }); + } +}; diff --git a/database/migrations/2026_08_27_150010_create_document_templates.php b/database/migrations/2026_08_27_150010_create_document_templates.php new file mode 100644 index 0000000..6f2f8bd --- /dev/null +++ b/database/migrations/2026_08_27_150010_create_document_templates.php @@ -0,0 +1,36 @@ +id(); + $table->string('document_type'); + $table->string('block'); + $table->longText('content')->nullable(); + $table->integer('sort_order')->default(1); + $table->boolean('editable')->default(true); + $table->timestamps(); + + $table->unique(['document_type', 'block']); + }); + } + + public function down(): void + { + Schema::dropIfExists('document_templates'); + } +}; diff --git a/database/migrations/2026_08_27_150020_create_document_assets.php b/database/migrations/2026_08_27_150020_create_document_assets.php new file mode 100644 index 0000000..caadc26 --- /dev/null +++ b/database/migrations/2026_08_27_150020_create_document_assets.php @@ -0,0 +1,34 @@ +id(); + $table->string('name')->unique(); + $table->string('label')->nullable(); + $table->string('mime'); + $table->longText('data'); + $table->timestamps(); + }); + } + + public function down(): void + { + Schema::dropIfExists('document_assets'); + } +}; diff --git a/database/migrations/2026_09_02_140010_add_invoice_sender_name_to_tenants.php b/database/migrations/2026_09_02_140010_add_invoice_sender_name_to_tenants.php new file mode 100644 index 0000000..8410ef1 --- /dev/null +++ b/database/migrations/2026_09_02_140010_add_invoice_sender_name_to_tenants.php @@ -0,0 +1,28 @@ +string('invoice_sender_name')->nullable()->after('name'); + }); + } + + public function down(): void + { + Schema::table('tenants', function (Blueprint $table) { + $table->dropColumn('invoice_sender_name'); + }); + } +}; diff --git a/database/migrations/2026_09_02_140020_drop_invoice_sender_snapshot_from_events.php b/database/migrations/2026_09_02_140020_drop_invoice_sender_snapshot_from_events.php new file mode 100644 index 0000000..6e33886 --- /dev/null +++ b/database/migrations/2026_09_02_140020_drop_invoice_sender_snapshot_from_events.php @@ -0,0 +1,51 @@ + */ + private const array COLUMNS = [ + 'invoice_sender_name', + 'invoice_sender_address_1', + 'invoice_sender_address_2', + 'invoice_sender_address_3', + 'invoice_sender_postcode', + 'invoice_sender_city', + 'invoice_sender_email', + 'invoice_sender_phone', + 'invoice_sender_tax_number', + 'invoice_sender_vat_id', + ]; + + public function up(): void + { + Schema::table('events', function (Blueprint $table) { + $table->dropColumn(self::COLUMNS); + }); + } + + public function down(): void + { + Schema::table('events', function (Blueprint $table) { + foreach (self::COLUMNS as $column) { + $table->string($column)->nullable(); + } + }); + } +}; diff --git a/database/migrations/2026_09_02_140030_compact_invoice_key_format.php b/database/migrations/2026_09_02_140030_compact_invoice_key_format.php new file mode 100644 index 0000000..dfbd093 --- /dev/null +++ b/database/migrations/2026_09_02_140030_compact_invoice_key_format.php @@ -0,0 +1,42 @@ + Rechnungsnummer WM-V-2026-07-01-0005 + * nachher WM-V-20260701 -> Rechnungsnummer WM-V-20260701-0005 + * + * Die Rechnungsnummer selbst wird nirgends gespeichert, sondern bei jedem Abruf aus `invoice_key` + * und `event_participants.invoice_sequence` zusammengesetzt. Die Umstellung hier wirkt daher + * unmittelbar auf alle Rechnungen; alte und neue Veranstaltungen bleiben im selben Format. + */ +return new class extends Migration { + public function up(): void + { + $this->rewrite('/^(.*-V-)(\d{4})-(\d{2})-(\d{2})$/', '$1$2$3$4'); + } + + public function down(): void + { + $this->rewrite('/^(.*-V-)(\d{4})(\d{2})(\d{2})$/', '$1$2-$3-$4'); + } + + private function rewrite(string $pattern, string $replacement): void + { + $events = DB::table('events') + ->select('id', 'invoice_key') + ->whereNotNull('invoice_key') + ->get(); + + foreach ($events as $event) { + $rewritten = preg_replace($pattern, $replacement, (string) $event->invoice_key); + + if ($rewritten !== null && $rewritten !== $event->invoice_key) { + DB::table('events')->where('id', $event->id)->update(['invoice_key' => $rewritten]); + } + } + } +}; diff --git a/database/seed-scripts/participant-invoice-template.sql b/database/seed-scripts/participant-invoice-template.sql new file mode 100644 index 0000000..8bd9fd2 --- /dev/null +++ b/database/seed-scripts/participant-invoice-template.sql @@ -0,0 +1,160 @@ +-- Standard-Vorlage für die Teilnehmer-Rechnung. +-- +-- Bewusst ein manuelles Skript und keine Migration: der Vorlageninhalt wird über die Admin-Oberfläche +-- gepflegt und soll von einem Release nicht überschrieben werden. Einspielen also nur bei der +-- Erstinstallation oder wenn die Vorlage bewusst zurückgesetzt werden soll. +-- +-- docker exec -i mareike-mareike-db mysql -u -p < database/seed-scripts/participant-invoice-template.sql +-- +-- Die Bilder liegen als base64 in der Datenbank, damit ein Release sie nicht überschreibt und sie mit +-- jedem Dump mitwandern. Referenziert werden sie in der Vorlage als {asset:name}. +-- +-- Zum Asset "edge": der gelbe Randstreifen mit Knick aus dem BdP-Erscheinungsbild. Mit GD gezeichnet +-- (16 mm breit, volle Seitenhöhe, Innenkante von 10 mm oben auf 3 mm bei 198 mm, dann auf 16 mm +-- auslaufend). Als PNG und nicht als SVG, weil ohne svg-lib von dompdf kommentarlos ignoriert. + +DELETE FROM document_templates WHERE document_type = 'participant_invoice'; + +INSERT INTO document_templates (document_type, block, content, sort_order, editable, created_at, updated_at) VALUES + ('participant_invoice', 'layout', ' + +
+ + + + + + + +
+ {block:header_sender_return} + {block:header_recipient} + + {block:emblem} + + {block:logo} + {block:sender_data} +
+ + {block:subject} + {block:body} + {block:footer} + +
', 10, 1, NOW(), NOW()), + ('participant_invoice', 'style', '@page { size: A4 portrait; margin: 0; } +* { margin: 0; padding: 0; box-sizing: border-box; } +body { font-family: \'DejaVu Sans\', sans-serif; font-size: 9.5pt; color: #1a1a1a; background: white; } + +.page { padding: 10mm 18mm 20mm 22mm; } + +/* Kopfbereich */ +.header-table { width: 100%; border-collapse: collapse; margin-bottom: 6mm; } +.header-table td { vertical-align: top; padding: 0; } +.absender-rueck { font-size: 6pt; color: #555; border-bottom: 0.3pt solid #888; padding-bottom: 1.5mm; margin-bottom: 3.5mm; } +.empfaenger { font-size: 10pt; line-height: 1.65; } +.empfaenger-bold { font-weight: bold; } +.logo-img { width: 36mm; display: block; margin-bottom: 4mm; } +.emblem-img { width: 22mm; display: block; margin: 0 auto; } +.absender-block { font-size: 7.5pt; color: #1a4799; line-height: 1.7; } +.absender-name { font-weight: bold; font-size: 8pt; } + +/* Betreff und Referenzdaten */ +.betreff { font-size: 14pt; color: #1a4799; margin-bottom: 5mm; } +.ref-table { border-collapse: collapse; font-size: 8.5pt; margin-bottom: 7mm; } +.ref-table td { padding: 0.9mm 7mm 0.9mm 0; vertical-align: top; } +.ref-key { color: #666; white-space: nowrap; } + +/* Anrede und Einleitung */ +.salutation { font-size: 9.5pt; margin-bottom: 3mm; } +.intro-text { font-size: 9pt; line-height: 1.6; margin-bottom: 7mm; color: #333; } + +/* Positionstabelle */ +.pos-table { width: 100%; border-collapse: collapse; font-size: 8.5pt; } +.pos-table th { background-color: #1a4799; color: white; padding: 2.5mm 3mm; text-align: left; font-size: 7.5pt; letter-spacing: 0.03em; } +.pos-table th.r, .pos-table td.r { text-align: right; } +.pos-table td { padding: 2mm 3mm; border-bottom: 0.3pt solid #d8dde6; vertical-align: top; } +.pos-table tr:nth-child(even) td { background-color: #f7f8fb; } +.pos-table tr:last-child td { border-bottom: none; } + +/* Summen */ +.sum-outer { width: 100%; border-collapse: collapse; margin-top: 1mm; margin-bottom: 5mm; } +.sum-outer td { padding: 0; } +.sum-spacer { width: 55%; } +.sum-inner { width: 100%; border-collapse: collapse; font-size: 8.5pt; } +.sum-inner td { padding: 1.2mm 0; } +.sum-key { color: #555; padding-right: 6mm; white-space: nowrap; } +.sum-val { text-align: right; white-space: nowrap; } +.sum-line td { border-top: 0.4pt solid #bbb; padding-top: 2mm; } +.sum-total td { font-weight: bold; font-size: 11pt; color: #1a4799; border-top: 1.5pt solid #1a4799; padding-top: 2mm; } + +/* Pflichthinweis bei Steuerbefreiung */ +.tax-note { font-size: 8pt; color: #555; line-height: 1.5; margin-bottom: 5mm; } + +/* Zahlungshinweis -- der gelbe Streifen */ +.payment-box { border-left: 3pt solid #f5c400; padding: 3mm 5mm; background-color: #fffef5; font-size: 8.5pt; line-height: 1.6; margin-bottom: 6mm; } +.payment-head { font-size: 7pt; font-weight: bold; color: #888; text-transform: uppercase; letter-spacing: 0.07em; margin-bottom: 2mm; } + +/* Grußformel und Fußnote */ +.closing { font-size: 9.5pt; line-height: 1.5; } +.gut-pfad { font-size: 13pt; color: #1a4799; margin-top: 1mm; margin-bottom: 1mm; } +.footer-note { margin-top: 4mm; font-size: 7.5pt; color: #888; } + +/* Gelber Randstreifen mit Knick -- position:fixed, damit er auf jeder Seite steht. */ +.edge { position: fixed; top: 0; left: 0; width: 16mm; height: 297mm; }', 20, 1, NOW(), NOW()), + ('participant_invoice', 'header_sender_return', '
{sender_name}{if:sender_address_1} · {sender_address_1}{/if:sender_address_1} · {sender_postcode} {sender_city}
', 30, 1, NOW(), NOW()), + ('participant_invoice', 'header_recipient', '
+
{recipient_name}
+
{recipient_address_1}
+ {if:recipient_address_2}
{recipient_address_2}
{/if:recipient_address_2} +
{recipient_postcode} {recipient_city}
+
', 40, 1, NOW(), NOW()), + ('participant_invoice', 'emblem', '', 50, 1, NOW(), NOW()), + ('participant_invoice', 'logo', '', 60, 1, NOW(), NOW()), + ('participant_invoice', 'sender_data', '
+
{sender_name}
+ {if:sender_address_2}
{sender_address_2}
{/if:sender_address_2} + {if:sender_address_3}
{sender_address_3}
{/if:sender_address_3} + {if:sender_address_1}
{sender_address_1}
{/if:sender_address_1} +
{sender_postcode} {sender_city}
+ {if:sender_email}
{sender_email}
{/if:sender_email} + {if:sender_phone}
{sender_phone}
{/if:sender_phone} + {if:sender_tax_number}
Steuernummer: {sender_tax_number}
{/if:sender_tax_number} + {if:sender_vat_id}
USt-IdNr.: {sender_vat_id}
{/if:sender_vat_id} +
', 70, 1, NOW(), NOW()), + ('participant_invoice', 'subject', '
Rechnung Nr. {invoice_number}
+ + + + + + + + + + +
Rechnungsdatum:{invoice_date}
Leistungszeitraum:{service_period}
', 80, 1, NOW(), NOW()), + ('participant_invoice', 'body', '
Hallo {recipient_name},
+
anbei erhältst du die Rechnung über deinen Teilnahmebeitrag.
+ +{positions_table} +{summary_table} + +
+
Zahlung
+ {closing_statement} +
', 90, 0, NOW(), NOW()), + ('participant_invoice', 'footer', '
+
Herzlichst Gut Pfad,
+
{sender_name}
+ +
', 100, 1, NOW(), NOW()); + +DELETE FROM document_assets WHERE name = 'edge'; +INSERT INTO document_assets (name, label, mime, data, created_at, updated_at) VALUES ('edge', 'Gelber Randstreifen mit Knick (BdP-Anschnitt)', 'image/png', 'iVBORw0KGgoAAAANSUhEUgAAAMAAAA3sCAYAAABDZciKAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR42u3dS2okW5ZAUa/qGgjXBIRrAsLVN4Rr5HJE9OVoAjI0gSgCXruqlZAkrzLfJz7S2WvNII7F5ppdN9n9r9++7P53x2SPy7o7G8Pv+28jQAAgAIb6HyMQQNay7i6mIAAQAAgABAACAAEMZwtUAGm2QAUAAgABgABAACCAAtugAkh7MQIBgABAACAAEAAIAAQw27MRCAAEAAIAAYAAQAAggMGcCyAAEAAIAAQAAgABgABmOxuBAEAAIAAQAAgABAACmO3JCAQAAgABgABAACAAEMBsr0YggDIH5AkABAACAAGAAEAABRcjEEDWstoGFQAIAAQAAgABgADGswUqgDRboAIAAYAAQAAgABBAwWYEAih7MwIBgABAACAAEAAIIODdCARQthmBAEAAIAAQAAgABBCwGYEAspZVAAIAAYAAQAAgABDAeJsRCEAACAAEAAIAAYAAQACzOR1GAGkvRiAAEAAIAAQAAgABBHwzAgGUXYxAACAAEAAIAAQAAgjwNqgAupbVNqgAQAAgABAACAAEAAKY7GwEAgABgABAACAAEAAIYLYnIxAACAAEAAIAAYAAQACzPRuBAEAAIAAQAAgABAACGGxZ/VG8AEAAIAAQAAgABAACmMzRSAJIczieAEAAIAAQAAgABFBgG1QAaV+NQAAgABAACAAEAAIIeDUCAZR5G1QAIAAQAAgABAACKNiMQABZyyoAAYAAQAAgABAACGC8zQgEIAAEAAIAAYAAQAAggNk2IxBA2ZsRCAAEAAIAAYAAQAAB70YggLLNCAQAAgABgABAACCAAKfDCKBrWXcXUxAACAAEAAIAAYAAhrMFKoA0W6ACAAGAAEAAIAAQQIFtUAGkvRiBAEAAIAAQAAgABAACmO3ZCAQAAgABgABAACAAEMBgy7o7m4IAQAAgABAACAAEAAKY62wEAgABgABAACAAEAAIYLYnIxAACAAEAAIAAYAAQACzvRqBAMockCcAEAAIAAQAAgABFFyMQABZy2obVAAgABAACAAEAAIYzxaoANJsgQoABAACAAGAAEAABZsRCKDszQgEAAIAAYAAQAAggIB3IxBA2WYEAgABgABAACAAEEDAZgQCyFpWAQgABAACAAGAAEAA421GIAABIAAQAAgABAACAAHM5nQYAaS9GIEAQAAgABAACAAEEPDNCARQdjECAYAAQAAgABAACCDA26AC6FpW26ACAAGAAEAAIAAQAAhgsrMRCAAEAAIAAYAAQAAggNmejEAAIAAQAAgABAACAAHM9mwEAgABgABAACAAEAAIYLBl9UfxAgABgABAACAAEAAIYDJHIwkgzeF4AgABgABAACAAEECBbVABpH01AgGAAEAAIAAQAAgg4NUIBFDmbVABgABAACAAEAAIoGAzAgFkLasABAACAAGAAEAAIIDxNiMQgAAQAAgABAACAAGAAGbbjEAAZW9GIAAQAAgABAACAAEEvBuBAMo2IxAACAAEAAIAAYAAApwOI4CuZd1dTEEAIAAQAAgABAACGM4WqADSbIEKAAQAAgABgABAAAW2QQWQ9mIEAgABgABAACAAEAAIYLZnIxAACAAEAAIAAYAAQACDLevubAoCAAGAAEAAIAAQAAhgrrMRCAAEAAIAAYAAQAAggNmejEAAIAAQAAgABAACAAHM9moEAihzQJ4AQAAgABAACAAEUHAxAgFkLattUAGAAEAAIAAQAAhgPFugAkizBSoAEAAIAAQAAgABFGxGIICyNyMQAAgABAACAAGAAALejUAAZZsRCAAEAAIAAYAAQAABmxEIIGtZBSAAEAAIAAQAAgABjLcZgQAEgABAACAAEAAIAAQwm9NhBJD2YgQCAAGAAEAAIAAQQMA3IxBA2cUIBAACAAGAAEAAIIAAb4MKoGtZbYMKAAQAAgABgABAACCAyc5GIAAQAAgABAACAAGAAGZ7MgIBgABAACAAEAAIAAQw27MRCAAEAAIAAYAAQAAggMGW1R/FCwAEAAIAAYAAQAAggMkcjSSANIfjCQAEAAIAAYAAQAAFtkEFkPbVCAQAAgABgABAACCAgFcjEECZt0EFAAIAAYAAQAAggILNCASQtawCEAAIAAQAAgABgADG24xAAAJAACAAEAAIAAQAAphtMwIBlL0ZgQBAACAAEAAIAAQQ8G4EAijbjEAAIAAQAAgABAACCHA6jAC6lnV3MQUBgABAACAAEAAIYDhboAJIswUqABAACAAEAAIAARTYBhVA2osRCAAEAAIAAYAAQAAggNmejUAAIAAQAAgABAACAAEMtqy7sykIAAQAAgABgABAACCAuc5GIAAQAAgABAACAAGAAGZ7MgIBgABAACAAEAAIAAQw26sRCKDMAXkCAAGAAEAAIAAQQMHFCASQtay2QQUAAgABgABAACCA8WyBCiDNFqgAQAAgABAACAAEULAZgQDK3oxAACAAEAAIAAQAAgh4NwIBlG1GIAAQAAgABAACAAEEbEYggKxlFYAAQAAgABAACAAEMN5mBAIQAAIAAYAAQAAgABDAbE6HEUDaixEIAAQAAgABgABAAAHfjEAAZRcjEAAIAAQAAgABgAACvA0qgK5ltQ0qABAACAAEAAIAAYAAJjsbgQBAACAAEAAIAAQAApjtyQgEAAIAAYAAQAAgABDAbM9GIAAQAAgABAACAAGAAAZbVn8ULwAQAAgABAACAAGAACZzNJIA0hyOJwAQAAgABAACAAEU2AYVQNpXIxAACAAEAAIAAYAAAl6NQABl3gYVAAgABAACAAGAAAo2IxBA1rIKQAAgABAACAAEAAIYbzMCAQgAAYAAQAAgABAACGC2zQgEUPZmBAIAAYAAQAAgABBAwLsRCKBsMwIBgABAACAAEAAIIMDpMALoWtbdxRQEAAIAAYAAQAAggOFsgQogzRaoAEAAIAAQAAgABFBgG1QAaS9GIAAQAAgABAACAAGAAGZ7NgIBgABAACAAEAAIAAQw2LLuzqYgABAACAAEAAIAAYAA5jobgQBAACAAEAAIAAQAApjtyQgEAAIAAYAAQAAgABDAbK9GIIAyB+QJAAQAAgABgABAAAUXIxBA1rLaBhUACAAEAAIAAYAAxrMFKoA0W6ACAAGAAEAAIAAQQMFmBAIoezMCAYAAQAAgABAACCDg3QgEULYZgQBAACAAEAAIAAQQsBmBALKWVQACAAGAAEAAIAAQwHibEQhAAAgABAACAAGAAEAAszkdRgBpL0YgABAACAAEAAIAAQR8MwIBlF2MQAAgABAACAAEAAII8DaoALqW1TaoAEAAIAAQAAgABAACmOxsBAIAAYAAQAAgABAACGC2JyMQAAgABAACAAGAAEAAsz0bgQBAACAAEAAIAAQAAhhsWf1RvABAACAAEAAIAAQAApjM0UgCSHM4ngBAACAAEAAIAARQYBtUAGlfjUAAIAAQAAgABAACCHg1AgGUeRtUACAAEAAIAAQAAijYjEAAWcsqAAGAAEAAIAAQAAhgvM0IBCAABAACAAGAAEAAIIDZNiMQQNmbEQgABAACAAGAAEAAAe9GIICyzQgEAAIAAYAAQAAggACnwwiga1l3F1MQAAgABAACAAGAAIazBSqANFugAgABgABAACAAEECBbVABpL0YgQBAACAAEAAIAAQAApjt2QgEAAIAAYAAQAAgABDAYMu6O5uCAEAAIAAQAAgABAACmOtsBAIAAYAAQAAgABAACGC2JyMQAAgABAACAAGAAEAAs70agQDKHJAnABAACAAEAAIAARRcjEAAWctqG1QAIAAQAAgABAACGM8WqADSbIEKAAQAAgABgABAAAWbEQig7M0IBAACAAGAAEAAIICAdyMQQNlmBAIAAYAAQAAgABBAwGYEAshaVgEIAAQAAgABgABAAONtRiAAASAAEAAIAAQAAgABzOZ0GAGkvRiBAEAAIAAQAAgABBDwzQgEUHYxAgGAAEAAIAAQAAggwNugAuhaVtugAgABgABAACAAEAAIYLKzEQgABAACAAGAAEAAIIDZnoxAACAAEAAIAAQAAgABzPZsBAIAAYAAQAAgABAACGCwZfVH8QIAAYAAQAAgABAACGAyRyMJIM3heAIAAYAAQAAgABBAgW1QAaR9NQIBgABAACAAEAAIIODVCARQ5m1QAYAAQAAgABAACKBgMwIBZC2rAAQAAgABgABAACCA8TYjEIAAEAAIAAQAAgABgABm24xAAGVvRiAAEAAIAAQAAgABBLwbgQDKNiMQAAgABAACAAGAAAKcDiOArmXdXUxBACAAEAAIAAQAAhjOFqgA0myBCgAEAAIAAYAAQAAFtkEFkPZiBAIAAYAAQAAgABAACGC2ZyMQAAgABAACAAGAAEAAgy3r7mwKAgABgABAACAAEAAIYK6zEQgABAACAAGAAEAAIIDZnoxAACAAEAAIAAQAAgABzPZqBAIoc0CeAEAAIAAQAAgABFBwMQIBZC2rbVABgABAACAAEAAIYDxboAJIswUqABAACAAEAAIAARRsRiCAsjcjEAAIAAQAAgABgAAC3o1AAGWbEQgABAACAAGAAEAAAZsRCCBrWQUgABAACAAEAAIAAYy3GYEABIAAQAAgABAACAAEMJvTYQSQ9mIEAgABgABAACAAEEDANyMQQNnFCAQAAgABgABAACCAAG+DCqBrWW2DCgAEAAIAAYAAQAAggMnORiAAEAAIAAQAAgABgABmezIC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', NOW(), NOW()); + +DELETE FROM document_assets WHERE name = 'emblem'; +INSERT INTO document_assets (name, label, mime, data, created_at, updated_at) VALUES ('emblem', 'Emblem zwischen Empfänger und Absender', 'image/png', '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', NOW(), NOW()); + +DELETE FROM document_assets WHERE name = 'logo'; +INSERT INTO document_assets (name, label, mime, data, created_at, updated_at) VALUES ('logo', 'Logo im Briefkopf', 'image/png', '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', NOW(), NOW()); + diff --git a/resources/js/layouts/AdminAppLayout.vue b/resources/js/layouts/AdminAppLayout.vue index f0e4370..0734222 100644 --- a/resources/js/layouts/AdminAppLayout.vue +++ b/resources/js/layouts/AdminAppLayout.vue @@ -113,6 +113,11 @@ const props = defineProps({ Benutzer*innen + diff --git a/resources/views/pdfs/document.blade.php b/resources/views/pdfs/document.blade.php new file mode 100644 index 0000000..a196e22 --- /dev/null +++ b/resources/views/pdfs/document.blade.php @@ -0,0 +1,18 @@ +{{-- + Dünnes Gerüst für aus der Datenbank zusammengesetzte Dokumente. Enthält bewusst kein Layout -- + das steckt in den Vorlagenblöcken (`document_templates`), damit ein Release es nicht überschreibt. + + $style und $content sind bereits fertig ersetztes HTML aus dem DocumentTemplateRenderProvider und + werden hier nur ausgegeben, nicht als Blade ausgewertet. +--}} + + + + + {{ $title }} + + + +{!! $content !!} + + diff --git a/routes/web.php b/routes/web.php index 8d17ed8..51c968a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -11,21 +11,26 @@ use App\Providers\GlobalDataProvider; use Illuminate\Support\Facades\Route; -require_once __DIR__ . '/../app/Domains/Dashboard/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/Dashboard/Routes/api.php'; -require_once __DIR__ . '/../app/Domains/UserManagement/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/UserManagement/Routes/api.php'; -require_once __DIR__ . '/../app/Domains/CostUnit/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/CostUnit/Routes/api.php'; -require_once __DIR__ . '/../app/Domains/Invoice/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/Invoice/Routes/api.php'; -require_once __DIR__ . '/../app/Domains/Event/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/Event/Routes/api.php'; -require_once __DIR__ . '/../app/Domains/Budget/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/Budget/Routes/api.php'; -require_once __DIR__ . '/../app/Domains/Legal/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/Admin/Routes/web.php'; -require_once __DIR__ . '/../app/Domains/Admin/Routes/api.php'; +// Bewusst `require` und nicht `require_once`: Diese Datei wird einmal pro Anfrage geladen, in der +// Testsuite aber einmal je Test (die Anwendung wird zwischen Tests neu aufgebaut). Mit `require_once` +// wäre die zweite Registrierung ein No-op und ab dem zweiten Test einer Klasse fehlten sämtliche +// Domain-Routen -- jeder HTTP-Test liefe dann in einen 404. +require __DIR__ . '/../app/Domains/Dashboard/Routes/web.php'; +require __DIR__ . '/../app/Domains/Dashboard/Routes/api.php'; +require __DIR__ . '/../app/Domains/UserManagement/Routes/web.php'; +require __DIR__ . '/../app/Domains/UserManagement/Routes/api.php'; +require __DIR__ . '/../app/Domains/CostUnit/Routes/web.php'; +require __DIR__ . '/../app/Domains/CostUnit/Routes/api.php'; +require __DIR__ . '/../app/Domains/Invoice/Routes/web.php'; +require __DIR__ . '/../app/Domains/Invoice/Routes/api.php'; +require __DIR__ . '/../app/Domains/Event/Routes/web.php'; +require __DIR__ . '/../app/Domains/Event/Routes/api.php'; +require __DIR__ . '/../app/Domains/ParticipantInvoice/Routes/api.php'; +require __DIR__ . '/../app/Domains/Budget/Routes/web.php'; +require __DIR__ . '/../app/Domains/Budget/Routes/api.php'; +require __DIR__ . '/../app/Domains/Legal/Routes/web.php'; +require __DIR__ . '/../app/Domains/Admin/Routes/web.php'; +require __DIR__ . '/../app/Domains/Admin/Routes/api.php'; Route::get('/LKvDUqWl', function () { diff --git a/tests/Feature/DocumentTemplateAdminTest.php b/tests/Feature/DocumentTemplateAdminTest.php new file mode 100644 index 0000000..99fc1e4 --- /dev/null +++ b/tests/Feature/DocumentTemplateAdminTest.php @@ -0,0 +1,215 @@ +tenant = Tenant::create([ + 'slug' => 'wm', + 'name' => 'Wilde Möhre', + 'email' => 'wm@example.com', + 'email_finance' => 'wm-f@example.com', + 'url' => parse_url(config('app.url'), PHP_URL_HOST), + 'account_name' => 'Wilde Möhre e.V.', + 'account_iban' => 'DE00', + 'account_bic' => 'XY', + 'city' => 'Stadt', + 'postcode' => '00000', + 'is_active_local_group' => true, + 'has_active_instance' => true, + ]); + + app()->instance('tenant', $this->tenant); + + // `users.user_role_main` und `user_role_local_group` sind Fremdschlüssel auf `user_roles`. + foreach ([UserRole::USER_ROLE_ADMIN, UserRole::USER_ROLE_GROUP_LEADER, UserRole::USER_ROLE_USER] as $role) { + UserRole::create(['slug' => $role, 'name' => $role]); + } + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => DocumentTemplate::BLOCK_LAYOUT, + 'content' => '
{block:footer}
', + 'sort_order' => 10, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => 'footer', + 'content' => 'alt', + 'sort_order' => 20, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => DocumentTemplate::BLOCK_BODY, + 'content' => '{positions_table}', + 'sort_order' => 30, + 'editable' => false, + ]); + } + + private function makeUser(string $mainRole, string $localRole = UserRole::USER_ROLE_USER): User + { + return User::create([ + 'username' => $mainRole . '-' . uniqid() . '@example.com', + 'email' => $mainRole . '-' . uniqid() . '@example.com', + 'firstname' => 'Test', + 'lastname' => 'Person', + 'password' => bcrypt('secret'), + 'local_group' => $this->tenant->slug, + 'user_role_main' => $mainRole, + 'user_role_local_group' => $localRole, + 'active' => true, + ]); + } + + public function test_group_leaders_cannot_reach_the_templates(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_USER, UserRole::USER_ROLE_GROUP_LEADER)); + + $this->get('/admin/document-templates')->assertRedirect('/admin'); + $this->getJson('/api/v1/admin/document-templates')->assertRedirect('/admin'); + } + + public function test_main_administrators_can_read_the_templates(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + $response = $this->getJson('/api/v1/admin/document-templates'); + + $response->assertOk(); + $response->assertJsonPath('blocks.1.block', 'footer'); + $response->assertJsonPath('blocks.1.editable', true); + // Der generierte Block wird angezeigt, aber als nicht editierbar gekennzeichnet. + $response->assertJsonPath('blocks.2.editable', false); + } + + public function test_saving_leaves_generated_blocks_untouched(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + $this->postJson('/api/v1/admin/document-templates', [ + 'blocks' => [ + 'footer' => 'neu', + DocumentTemplate::BLOCK_BODY => 'manipuliert', + 'gibtesnicht' => 'egal', + ], + ])->assertOk()->assertJsonPath('status', 'success'); + + $blocks = DocumentTemplate::forType(DocumentTemplate::TYPE_PARTICIPANT_INVOICE); + + $this->assertSame('neu', $blocks['footer']->content); + $this->assertSame('{positions_table}', $blocks[DocumentTemplate::BLOCK_BODY]->content); + } + + public function test_a_bare_asset_placeholder_in_the_css_is_refused(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => DocumentTemplate::BLOCK_STYLE, + 'content' => '.a { color: red; }', + 'sort_order' => 15, + ]); + + $response = $this->postJson('/api/v1/admin/document-templates', [ + 'blocks' => [ + DocumentTemplate::BLOCK_STYLE => '.a { color: red; }{asset:logo}', + 'footer' => 'neu', + ], + ]); + + $response->assertOk()->assertJsonPath('status', 'error'); + $this->assertStringContainsString('url("{asset:logo}")', $response->json('message')); + + // Nichts gespeichert -- auch nicht der unbedenkliche Block. + $blocks = DocumentTemplate::forType(DocumentTemplate::TYPE_PARTICIPANT_INVOICE); + $this->assertSame('.a { color: red; }', $blocks[DocumentTemplate::BLOCK_STYLE]->content); + $this->assertSame('alt', $blocks['footer']->content); + } + + public function test_an_asset_inside_url_is_accepted_in_the_css(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => DocumentTemplate::BLOCK_STYLE, + 'content' => '', + 'sort_order' => 15, + ]); + + $this->postJson('/api/v1/admin/document-templates', [ + 'blocks' => [DocumentTemplate::BLOCK_STYLE => '.a { background: url("{asset:logo}"); }'], + ])->assertOk()->assertJsonPath('status', 'success'); + + $this->assertStringContainsString( + 'url("{asset:logo}")', + DocumentTemplate::where('block', DocumentTemplate::BLOCK_STYLE)->first()->content + ); + } + + public function test_preview_renders_unsaved_content(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + $response = $this->post('/api/v1/admin/document-templates/preview', [ + 'blocks' => ['footer' => 'noch nicht gespeichert'], + ]); + + $response->assertOk(); + $response->assertHeader('Content-Type', 'application/pdf'); + // Der gespeicherte Stand bleibt unberührt. + $this->assertSame('alt', DocumentTemplate::where('block', 'footer')->first()->content); + } + + public function test_assets_still_used_in_the_template_are_kept(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + DocumentAsset::create(['name' => 'logo', 'mime' => 'image/png', 'data' => 'QUJD']); + DocumentTemplate::where('block', 'footer')->update(['content' => '']); + + $this->deleteJson('/api/v1/admin/document-templates/assets/logo') + ->assertOk() + ->assertJsonPath('status', 'error'); + + $this->assertNotNull(DocumentAsset::where('name', 'logo')->first()); + } + + public function test_unused_assets_can_be_deleted(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + DocumentAsset::create(['name' => 'altbestand', 'mime' => 'image/png', 'data' => 'QUJD']); + + $this->deleteJson('/api/v1/admin/document-templates/assets/altbestand') + ->assertOk() + ->assertJsonPath('status', 'success'); + + $this->assertNull(DocumentAsset::where('name', 'altbestand')->first()); + } +} diff --git a/tests/Feature/ExampleTest.php b/tests/Feature/ExampleTest.php index 8364a84..4c61ba7 100644 --- a/tests/Feature/ExampleTest.php +++ b/tests/Feature/ExampleTest.php @@ -2,18 +2,36 @@ namespace Tests\Feature; -// use Illuminate\Foundation\Testing\RefreshDatabase; +use App\Models\Tenant; +use Illuminate\Foundation\Testing\RefreshDatabase; use Tests\TestCase; class ExampleTest extends TestCase { - /** - * A basic test example. - */ - public function test_the_application_returns_a_successful_response(): void - { - $response = $this->get('/'); + use RefreshDatabase; - $response->assertStatus(200); + /** + * Rauchtest über den Anfrage-Stack: die Anwendung ist mandantenfähig, ohne passenden Tenant zum Host + * beantwortet {@see \App\Middleware\IdentifyTenant} jede Anfrage mit 404. Mit passendem Tenant kommt + * die Anfrage durch und wird als Gast erwartungsgemäß zum Login geleitet. + */ + public function test_the_application_redirects_guests_to_the_login(): void + { + Tenant::create([ + 'slug' => 'tv', + 'name' => 'Test', + 'email' => 't@example.com', + 'email_finance' => 'finance@example.com', + 'url' => parse_url(config('app.url'), PHP_URL_HOST), + 'account_name' => 'Test e.V.', + 'account_iban' => 'DE00', + 'account_bic' => 'XY', + 'city' => 'Stadt', + 'postcode' => '00000', + 'is_active_local_group' => true, + 'has_active_instance' => true, + ]); + + $this->get('/')->assertRedirect('/login'); } } diff --git a/tests/Feature/InvoiceNumberingTest.php b/tests/Feature/InvoiceNumberingTest.php new file mode 100644 index 0000000..9dd7b14 --- /dev/null +++ b/tests/Feature/InvoiceNumberingTest.php @@ -0,0 +1,215 @@ +wildeMoehre = $this->makeTenant('wm', 'Wilde Möhre'); + + DB::table('participation_fee_types')->insert(['slug' => 'fixed', 'name' => 'Fix']); + EatingHabit::create(['slug' => EatingHabit::EATING_HABIT_VEGAN, 'name' => 'Vegan']); + EatingHabit::create(['slug' => EatingHabit::EATING_HABIT_VEGETARIAN, 'name' => 'Vegetarisch']); + ParticipationType::create(['slug' => ParticipationType::PARTICIPATION_TYPE_PARTICIPANT, 'name' => 'Teilnehmende']); + PaymentMethod::create(['slug' => PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION]); + EfzStatus::create(['slug' => EfzStatus::EFZ_STATUS_NOT_CHECKED, 'name' => 'Nicht geprüft']); + EfzStatus::create(['slug' => EfzStatus::EFZ_STATUS_NOT_REQUIRED, 'name' => 'Nicht erforderlich']); + SwimmingPermission::create(['slug' => SwimmingPermission::SWIMMING_PERMISSION_ALLOWED, 'name' => 'Darf baden', 'short' => 'Erteilt']); + FirstAidPermission::create(['slug' => FirstAidPermission::FIRST_AID_PERMISSION_ALLOWED, 'name' => 'Zugestimmt', 'description' => '']); + + app()->instance('tenant', $this->wildeMoehre); + } + + /** + * `create()` liefert nur die übergebenen Attribute zurück; die DB-Defaults (u.a. `tax_liable`) stehen + * erst nach dem Neuladen bereit -- so, wie der Tenant im Betrieb aus der IdentifyTenant-Middleware kommt. + */ + private function makeTenant(string $slug, string $name): Tenant + { + return Tenant::create([ + 'slug' => $slug, + 'name' => $name, + 'address_1' => 'Musterweg 1', + 'email' => $slug . '@example.com', + 'email_finance' => $slug . '-f@example.com', + 'url' => $slug . '.test.local', + 'account_name' => $name, + 'account_iban' => 'DE00', + 'account_bic' => 'XY', + 'city' => 'Stadt', + 'postcode' => '00000', + 'invoice_prefix' => strtoupper($slug), + 'is_active_local_group' => true, + 'has_active_instance' => true, + ])->fresh(); + } + + private function createEvent(string $begin, string $name = 'Lager'): Event + { + $response = new CreateEventCommand(new CreateEventRequest( + name: $name, + location: 'Ort', + postalCode: '00000', + email: 'e@example.com', + begin: new DateTime($begin), + end: new DateTime($begin), + earlyBirdEnd: new DateTime('2026-01-01'), + registrationFinalEnd: new DateTime('2026-01-02'), + earlyBirdEndAmountIncrease: 0, + participationFeeType: ParticipationFeeType::where('slug', 'fixed')->first(), + accountOwner: 'Owner', + accountIban: 'DE00', + payPerDay: false, + ))->execute(); + + $this->assertTrue($response->success); + + return $response->event->fresh(); + } + + /* + |-------------------------------------------------------------------------- + | Event-Teil der Nummer + |-------------------------------------------------------------------------- + */ + + public function test_events_of_the_same_month_are_numbered_consecutively(): void + { + $this->assertSame('WM-V-20260701', $this->createEvent('2026-07-16')->invoice_key); + $this->assertSame('WM-V-20260702', $this->createEvent('2026-07-24')->invoice_key); + // Anderer Monat, eigene Zählung. + $this->assertSame('WM-V-20260801', $this->createEvent('2026-08-03')->invoice_key); + } + + public function test_each_tenant_counts_for_itself(): void + { + $this->createEvent('2026-07-16'); + + app()->instance('tenant', $this->makeTenant('sn', 'Sachsen')); + + $this->assertSame('SN-V-20260701', $this->createEvent('2026-07-18')->invoice_key); + } + + public function test_invoice_key_survives_moving_the_event_to_another_month(): void + { + $event = $this->createEvent('2026-07-16'); + + $event->update(['start_date' => '2026-11-05', 'end_date' => '2026-11-07']); + + // Eingefroren: eine bereits herausgegebene Rechnung gehört sonst plötzlich zu einer anderen Nummer. + $this->assertSame('WM-V-20260701', $event->fresh()->invoice_key); + } + + public function test_new_tenants_default_to_their_uppercased_slug(): void + { + $tenant = Tenant::create([ + 'slug' => 'fen', + 'name' => 'Fen', + 'email' => 'fen@example.com', + 'email_finance' => 'fen-f@example.com', + 'url' => 'fen.test.local', + 'account_name' => 'Fen', + 'account_iban' => 'DE00', + 'account_bic' => 'XY', + 'city' => 'Stadt', + 'postcode' => '00000', + 'is_active_local_group' => true, + 'has_active_instance' => true, + ])->fresh(); + + // Ohne gesetztes Präfix greift der Migrations-Default: der großgeschriebene Slug. + $this->assertSame('FEN', $tenant->invoice_prefix); + + app()->instance('tenant', $tenant); + + $this->assertSame('FEN-V-20260701', $this->createEvent('2026-07-16')->invoice_key); + } + + /* + |-------------------------------------------------------------------------- + | Teilnehmer-Teil der Nummer + |-------------------------------------------------------------------------- + */ + + private function signUp(Event $event, string $firstname): void + { + $response = new SignUpCommand(new SignUpRequest( + $event, null, $firstname, 'Muster', null, ParticipationType::PARTICIPATION_TYPE_PARTICIPANT, + $this->wildeMoehre, new DateTime('2000-01-01'), 'Weg 1', null, '00000', 'Stadt', + strtolower($firstname) . '@example.com', '123', null, null, null, null, null, null, null, + 'vegan', null, null, false, false, false, false, false, + new DateTime('2026-07-16'), new DateTime('2026-07-16'), 0, 0, null, + new Amount(50.0, 'Euro'), PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION, + ))->execute(); + + $this->assertTrue($response->success, $response->message ?? ''); + } + + public function test_sequences_are_handed_out_in_order(): void + { + $event = $this->createEvent('2026-07-16'); + + $this->signUp($event, 'Ada'); + $this->signUp($event, 'Bo'); + $this->signUp($event, 'Cem'); + + $this->assertSame([1, 2, 3], $event->participants()->orderBy('id')->pluck('invoice_sequence')->all()); + } + + public function test_signing_off_does_not_shift_later_sequences(): void + { + $event = $this->createEvent('2026-07-16'); + + $this->signUp($event, 'Ada'); + $this->signUp($event, 'Bo'); + + // Abmeldung: der Datensatz bleibt bestehen, die Nummer damit vergeben. + $event->participants()->orderBy('id')->first()->update(['unregistered_at' => '2026-07-01']); + + $this->signUp($event, 'Cem'); + + $this->assertSame(3, $event->participants()->orderBy('id')->get()->last()->invoice_sequence); + } + + public function test_sequences_are_per_event(): void + { + $first = $this->createEvent('2026-07-16', 'Erstes'); + $second = $this->createEvent('2026-07-24', 'Zweites'); + + $this->signUp($first, 'Ada'); + $this->signUp($second, 'Bo'); + + $this->assertSame(1, $first->participants()->first()->invoice_sequence); + $this->assertSame(1, $second->participants()->first()->invoice_sequence); + } +} diff --git a/tests/Feature/ParticipantInvoiceTest.php b/tests/Feature/ParticipantInvoiceTest.php new file mode 100644 index 0000000..36b86a6 --- /dev/null +++ b/tests/Feature/ParticipantInvoiceTest.php @@ -0,0 +1,630 @@ +tenant = Tenant::create([ + 'slug' => 'wm', + 'name' => 'Wilde Möhre', + 'address_1' => 'Musterweg 1', + 'email' => 't@example.com', + 'email_finance' => 'finance@example.com', + // Muss dem Host der Testanfragen entsprechen, sonst weist IdentifyTenant sie mit 404 ab. + 'url' => parse_url(config('app.url'), PHP_URL_HOST), + 'account_name' => 'Test e.V.', + 'account_iban' => 'DE00', + 'account_bic' => 'XY', + 'city' => 'Stadt', + 'postcode' => '00000', + 'invoice_prefix' => 'WM', + 'is_active_local_group' => true, + 'has_active_instance' => true, + ]); + + app()->instance('tenant', $this->tenant); + + DB::table('participation_types')->insert(['slug' => 'participant', 'name' => 'Teilnehmer']); + DB::table('participation_fee_types')->insert(['slug' => 'fixed', 'name' => 'Fix']); + PaymentMethod::create(['slug' => PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION]); + PaymentMethod::create(['slug' => PaymentMethod::PAYMENT_NOT_DEFINED]); + EfzStatus::create(['slug' => EfzStatus::EFZ_STATUS_NOT_REQUIRED, 'name' => 'Nicht erforderlich']); + + $this->seedTemplate(); + } + + /** Minimale Vorlage: alles, was die Tests brauchen, in einem Block. */ + private function seedTemplate(): void + { + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => DocumentTemplate::BLOCK_LAYOUT, + 'content' => '
{block:subject}{block:body}
', + 'sort_order' => 10, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => DocumentTemplate::BLOCK_STYLE, + 'content' => 'body { font-size: 10pt; }', + 'sort_order' => 20, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => 'subject', + 'content' => '

Rechnung {invoice_number}

{invoice_date} / {service_period}

', + 'sort_order' => 30, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + 'block' => DocumentTemplate::BLOCK_BODY, + 'content' => '{positions_table}{summary_table}
{closing_statement}
', + 'sort_order' => 40, + 'editable' => false, + ]); + } + + private function makeEvent(array $attributes = []): Event + { + $fee = EventParticipationFee::create([ + 'tenant' => $this->tenant->slug, + 'type' => 'participant', + 'name' => 'Sippe', + 'description' => null, + 'amount_standard' => 60.0, + 'amount_reduced' => null, + 'amount_solidarity' => null, + ]); + + return Event::create(array_merge([ + 'tenant' => $this->tenant->slug, + 'name' => 'Sommerlager', + 'identifier' => 'evt-' . uniqid(), + 'location' => 'Ort', + 'postal_code' => '00000', + 'email' => 'e@example.com', + 'start_date' => '2026-07-16', + 'end_date' => '2026-07-20', + 'early_bird_end' => '2026-06-20', + 'registration_final_end' => '2026-07-01', + 'early_bird_end_amount_increase' => 0, + 'account_owner' => 'Owner', + 'account_iban' => 'DE00', + 'participation_fee_type' => 'fixed', + 'participation_fee_1' => $fee->id, + 'pay_per_day' => true, + 'pay_direct' => false, + 'tax_liable' => false, + 'vat_rate' => 0, + 'vat_pricing_mode' => 'inclusive', + 'invoice_key' => 'WM-V-20260701', + ], $attributes)); + } + + private function makeParticipant(Event $event, array $attributes = []): EventParticipant + { + return $event->participants()->create(array_merge([ + 'tenant' => $this->tenant->slug, + 'identifier' => 'p-' . uniqid(), + 'invoice_sequence' => 5, + 'firstname' => 'Mika', + 'lastname' => 'Muster', + 'participation_type' => 'participant', + 'fee_type' => 'standard', + 'sibling_reduction' => false, + 'local_group' => $this->tenant->slug, + 'birthday' => '2000-01-01', + 'address_1' => 'Beispielstraße 3', + 'postcode' => '11111', + 'city' => 'Beispielstadt', + 'email_1' => 'mika@example.com', + 'phone_1' => '0170 0000000', + 'arrival_date' => '2026-07-16', + 'departure_date' => '2026-07-20', + 'arrival_eating' => 1, + 'departure_eating' => 1, + 'amount' => 300.0, + 'payment_purpose' => 'Sommerlager', + 'payment_method' => PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION, + 'efz_status' => EfzStatus::EFZ_STATUS_NOT_REQUIRED, + ], $attributes)); + } + + /** @return array> */ + private function lines(EventParticipant $participant): array + { + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant)); + + return new ReflectionMethod($command, 'buildLines')->invoke($command); + } + + /* + |-------------------------------------------------------------------------- + | Positionen + |-------------------------------------------------------------------------- + */ + + public function test_fee_line_is_derived_from_amount_and_split_per_day(): void + { + $lines = $this->lines($this->makeParticipant($this->makeEvent())); + + $this->assertCount(1, $lines); + $this->assertSame('Teilnahme Sommerlager in Gruppe Sippe (Standardbeitrag)', $lines[0]['description']); + $this->assertSame(5.0, $lines[0]['quantity']); + $this->assertEqualsWithDelta(60.0, $lines[0]['unitPrice'], 0.001); + $this->assertEqualsWithDelta(300.0, $lines[0]['amount'], 0.001); + } + + public function test_addons_are_own_lines_and_reduce_the_fee_share(): void + { + $event = $this->makeEvent(); + $participant = $this->makeParticipant($event, ['amount' => 345.0]); + + $participant->selectedAddons()->create([ + 'tenant' => $this->tenant->slug, + 'event_id' => $event->id, + 'addon_key' => 'shirt', + 'title' => 'T-Shirt', + 'price' => 45.0, + 'flat' => true, + 'days' => 1, + 'amount' => 45.0, + ]); + + $lines = $this->lines($participant->fresh()); + + $this->assertCount(2, $lines); + // Beitragsanteil = amount - Zusätze, nicht neu berechnet. + $this->assertEqualsWithDelta(300.0, $lines[0]['amount'], 0.001); + $this->assertSame('T-Shirt', $lines[1]['description']); + $this->assertEqualsWithDelta(45.0, $lines[1]['amount'], 0.001); + $this->assertEqualsWithDelta(345.0, array_sum(array_column($lines, 'amount')), 0.001); + } + + public function test_sibling_reduction_shows_full_day_rate_and_a_discount_line(): void + { + $participant = $this->makeParticipant($this->makeEvent(), [ + 'sibling_reduction' => true, + 'amount' => 150.0, + ]); + + $lines = $this->lines($participant); + + $this->assertCount(2, $lines); + // Der ausgewiesene Tagessatz ist der echte (60 €), nicht der halbierte. + $this->assertEqualsWithDelta(60.0, $lines[0]['unitPrice'], 0.001); + $this->assertEqualsWithDelta(300.0, $lines[0]['amount'], 0.001); + $this->assertSame('Geschwisterermäßigung 50 %', $lines[1]['description']); + $this->assertEqualsWithDelta(-150.0, $lines[1]['amount'], 0.001); + // Die Summe bleibt der tatsächlich zu zahlende Betrag. + $this->assertEqualsWithDelta(150.0, array_sum(array_column($lines, 'amount')), 0.001); + } + + public function test_legacy_registration_without_fee_type_still_adds_up(): void + { + $participant = $this->makeParticipant($this->makeEvent(), [ + 'fee_type' => null, + 'sibling_reduction' => false, + ]); + + $lines = $this->lines($participant); + + $this->assertSame('Teilnahme Sommerlager in Gruppe Sippe', $lines[0]['description']); + $this->assertEqualsWithDelta(300.0, array_sum(array_column($lines, 'amount')), 0.001); + } + + public function test_uneven_day_rate_falls_back_to_a_single_line(): void + { + // 637,50 auf 4 Tage ergibt 159,375 -- gerundet würde 4 x 159,38 = 637,52 ergeben. Eine Rechnung, + // die sich nicht nachrechnen lässt, wäre unbrauchbar, also entfällt die Aufteilung. + $participant = $this->makeParticipant($this->makeEvent(), [ + 'amount' => 637.5, + 'departure_date' => '2026-07-19', + ]); + + $lines = $this->lines($participant); + + $this->assertSame(1.0, $lines[0]['quantity']); + $this->assertEqualsWithDelta(637.5, $lines[0]['unitPrice'], 0.001); + $this->assertEqualsWithDelta(637.5, $lines[0]['amount'], 0.001); + } + + /* + |-------------------------------------------------------------------------- + | Umsatzsteuer + |-------------------------------------------------------------------------- + */ + + /** @return array{net: float, vat: float} */ + private function splitVat(EventParticipant $participant, float $gross): array + { + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant)); + + return new ReflectionMethod($command, 'splitVat')->invoke($command, $gross); + } + + public function test_vat_is_extracted_identically_in_both_pricing_modes(): void + { + $inclusive = $this->makeParticipant($this->makeEvent([ + 'tax_liable' => true, + 'vat_rate' => 19, + 'vat_pricing_mode' => 'inclusive', + ])); + + $addOn = $this->makeParticipant($this->makeEvent([ + 'tax_liable' => true, + 'vat_rate' => 19, + 'vat_pricing_mode' => 'add_on', + 'invoice_key' => 'WM-V-20260702', + ])); + + // Gespeichert ist immer der finale Brutto-Betrag -- für die Rechnung spielt der Preismodus + // deshalb keine Rolle mehr. + $this->assertEquals($this->splitVat($inclusive, 119.0), $this->splitVat($addOn, 119.0)); + $this->assertEqualsWithDelta(19.0, $this->splitVat($inclusive, 119.0)['vat'], 0.001); + $this->assertEqualsWithDelta(100.0, $this->splitVat($inclusive, 119.0)['net'], 0.001); + } + + public function test_without_tax_liability_no_vat_is_shown_but_the_legal_note_is(): void + { + // Die Befreiungsgründe kommen bereits aus der Migration, inklusive ihres Pflichthinweises. + $reason = TaxExemptionReason::find(TaxExemptionReason::USTG_4_25A); + + $participant = $this->makeParticipant($this->makeEvent([ + 'tax_liable' => false, + 'tax_exemption_reason' => $reason->slug, + ])); + + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant)); + $summary = new ReflectionMethod($command, 'renderSummary')->invoke($command, 300.0); + + $this->assertStringNotContainsString('USt.', $summary); + $this->assertStringContainsString($reason->invoice_text, $summary); + } + + /* + |-------------------------------------------------------------------------- + | Zahlungs-Schlusssatz + |-------------------------------------------------------------------------- + */ + + private function closingStatement(EventParticipant $participant): string + { + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant)); + + return new ReflectionMethod($command, 'closingStatement')->invoke($command); + } + + public function test_open_amount_is_requested_by_transfer(): void + { + $statement = $this->closingStatement($this->makeParticipant($this->makeEvent())); + + $this->assertStringContainsString('Bitte überweise', $statement); + } + + public function test_cash_payment_asks_for_the_amount_on_site(): void + { + $participant = $this->makeParticipant($this->makeEvent(), [ + 'payment_method' => PaymentMethod::PAYMENT_NOT_DEFINED, + ]); + + $this->assertStringContainsString( + 'in bar am ersten Tag der Veranstaltung bereit', + $this->closingStatement($participant) + ); + } + + public function test_fully_paid_participant_is_not_asked_to_pay_again(): void + { + $participant = $this->makeParticipant($this->makeEvent(), ['amount_paid' => 300.0]); + + $statement = $this->closingStatement($participant); + + $this->assertStringContainsString('bereits vollständig beglichen', $statement); + $this->assertStringNotContainsString('Bitte überweise', $statement); + } + + /* + |-------------------------------------------------------------------------- + | Rechnungsnummer und Dokument + |-------------------------------------------------------------------------- + */ + + public function test_invoice_number_is_deterministic(): void + { + $participant = $this->makeParticipant($this->makeEvent(), ['invoice_sequence' => 5]); + + $first = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant))->execute(); + $second = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant->fresh()))->execute(); + + $this->assertTrue($first->success); + $this->assertSame('WM-V-20260701-0005', $first->invoiceNumber); + $this->assertSame($first->invoiceNumber, $second->invoiceNumber); + $this->assertSame('Rechnung-WM-V-20260701-0005.pdf', $first->filename); + $this->assertStringStartsWith('%PDF', $first->pdfContent); + } + + public function test_the_endpoint_delivers_the_pdf_as_a_download(): void + { + $participant = $this->makeParticipant($this->makeEvent(), ['invoice_sequence' => 5]); + + $this->actingAs($this->makeLeader()); + + $response = $this->get('/api/v1/participant-invoice/' . $participant->identifier); + + $response->assertOk(); + $response->assertHeader('Content-Type', 'application/pdf'); + $response->assertHeader('Content-Disposition', 'attachment; filename="Rechnung-WM-V-20260701-0005.pdf"'); + } + + public function test_the_endpoint_is_closed_to_guests(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + + $this->get('/api/v1/participant-invoice/' . $participant->identifier)->assertRedirect('/login'); + } + + private function makeLeader(): User + { + foreach ([UserRole::USER_ROLE_ADMIN, UserRole::USER_ROLE_GROUP_LEADER, UserRole::USER_ROLE_USER] as $role) { + UserRole::firstOrCreate(['slug' => $role], ['name' => $role]); + } + + return User::create([ + 'username' => 'leitung@example.com', + 'email' => 'leitung@example.com', + 'firstname' => 'Leitung', + 'lastname' => 'Person', + 'password' => bcrypt('secret'), + 'local_group' => $this->tenant->slug, + 'user_role_main' => UserRole::USER_ROLE_USER, + 'user_role_local_group' => UserRole::USER_ROLE_GROUP_LEADER, + 'active' => true, + ]); + } + + public function test_service_period_collapses_for_single_day_events(): void + { + $singleDay = $this->makeParticipant($this->makeEvent([ + 'start_date' => '2027-01-01', + 'end_date' => '2027-01-01', + ])); + + $multiDay = $this->makeParticipant($this->makeEvent([ + 'start_date' => '2027-01-06', + 'end_date' => '2027-01-08', + 'invoice_key' => 'WM-V-20270102', + ])); + + $period = static fn(EventParticipant $p): string => new ReflectionMethod( + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($p)), + 'servicePeriod' + )->invoke($command); + + $this->assertSame('01.01.2027', $period($singleDay)); + $this->assertSame('06.01.2027 – 08.01.2027', $period($multiDay)); + } + + /* + |-------------------------------------------------------------------------- + | Vorlage + |-------------------------------------------------------------------------- + */ + + public function test_empty_blocks_disappear(): void + { + DocumentTemplate::where('block', 'subject')->update(['content' => '']); + + $html = new DocumentTemplateRenderProvider(DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + ->render(['positions_table' => 'POS', 'summary_table' => '', 'closing_statement' => '']); + + $this->assertStringNotContainsString('Rechnung', $html); + $this->assertStringNotContainsString('{block:', $html); + $this->assertStringContainsString('POS', $html); + } + + public function test_template_content_is_never_evaluated_as_blade(): void + { + // Der Inhalt kommt aus einem Admin-Formular. Würde er durch Blade laufen, wäre das Formular ein + // Weg zur Codeausführung auf dem Server. + DocumentTemplate::where('block', 'subject')->update([ + 'content' => '

{{ 7*7 }} @php echo "ausgefuehrt"; @endphp

', + ]); + + $html = new DocumentTemplateRenderProvider(DocumentTemplate::TYPE_PARTICIPANT_INVOICE)->render([]); + + // Beides bleibt wörtlich stehen -- nichts davon wird ausgewertet. + $this->assertStringContainsString('{{ 7*7 }}', $html); + $this->assertStringContainsString('@php echo "ausgefuehrt"; @endphp', $html); + $this->assertStringNotContainsString('49', $html); + $this->assertStringNotContainsString('>ausgefuehrt<', $html); + } + + public function test_a_bare_data_uri_is_stripped_from_the_css(): void + { + // dompdf lagert Data-URIs im CSS nur aus, wenn ihnen ( " oder ' vorausgeht. Ein bar stehendes + // bleibt liegen und treibt seinen Parser in quadratische Laufzeit -- unter FPM stirbt der + // Worker am Zeitlimit und die Anfrage endet in einem 502. + DocumentAsset::create(['name' => 'logo', 'mime' => 'image/png', 'data' => 'RUlORFJVQ0s']); + + DocumentTemplate::where('block', DocumentTemplate::BLOCK_STYLE)->update([ + 'content' => '.a { color: red; }{asset:logo}{asset:logo}', + ]); + + $html = new DocumentTemplateRenderProvider(DocumentTemplate::TYPE_PARTICIPANT_INVOICE)->render([]); + + $this->assertStringContainsString('.a { color: red; }', $html); + $this->assertStringNotContainsString('data:image/png', $html); + // Entscheidend ist der Rumpf: das Semikolon gehört zum Data-URI. Eine Begrenzung, die dort + // aufhört, entfernt nur den Präfix und lässt das Base64 stehen -- der Parser bremst weiter. + $this->assertStringNotContainsString('RUlORFJVQ0s', $html); + $this->assertStringNotContainsString('base64', $html); + } + + public function test_a_data_uri_inside_url_is_kept_in_the_css(): void + { + DocumentAsset::create(['name' => 'logo', 'mime' => 'image/png', 'data' => 'QUJD']); + + DocumentTemplate::where('block', DocumentTemplate::BLOCK_STYLE)->update([ + 'content' => '.a { background: url("{asset:logo}"); }', + ]); + + $html = new DocumentTemplateRenderProvider(DocumentTemplate::TYPE_PARTICIPANT_INVOICE)->render([]); + + // Korrekt eingebettet ist es für dompdf kein Problem und bleibt erhalten. + $this->assertStringContainsString('url("data:image/png;base64,QUJD")', $html); + } + + public function test_unknown_asset_resolves_to_nothing(): void + { + DocumentAsset::create([ + 'name' => 'logo', + 'mime' => 'image/png', + 'data' => 'QUJD', + ]); + + DocumentTemplate::where('block', 'subject')->update([ + 'content' => '', + ]); + + $html = new DocumentTemplateRenderProvider(DocumentTemplate::TYPE_PARTICIPANT_INVOICE)->render([]); + + $this->assertStringContainsString('src="data:image/png;base64,QUJD"', $html); + $this->assertStringContainsString('src=""', $html); + $this->assertStringNotContainsString('{asset:', $html); + } + + /* + |-------------------------------------------------------------------------- + | Rechnungssteller + |-------------------------------------------------------------------------- + */ + + private function senderName(EventParticipant $participant): string + { + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant)); + + return new ReflectionMethod($command, 'buildTokens') + ->invoke($command, 'WM-V-20260701-0005', [], 300.0)['sender_name']; + } + + public function test_without_an_own_entry_the_tenant_name_is_the_sender(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + + $this->assertSame('Wilde Möhre', $this->senderName($participant)); + } + + public function test_an_own_invoice_sender_name_wins(): void + { + $this->tenant->update(['invoice_sender_name' => 'BdP Landesverband Sachsen e.V.']); + + $participant = $this->makeParticipant($this->makeEvent()); + + $this->assertSame('BdP Landesverband Sachsen e.V.', $this->senderName($participant->fresh())); + } + + public function test_a_blank_entry_falls_back_to_the_tenant_name(): void + { + // Aus dem Formular kommt ein Leerstring, nicht null. + $this->tenant->update(['invoice_sender_name' => ' ']); + + $participant = $this->makeParticipant($this->makeEvent()); + + $this->assertSame('Wilde Möhre', $this->senderName($participant->fresh())); + } + + public function test_correcting_the_sender_reaches_existing_events(): void + { + // Der Fall, der vorher nicht funktioniert hat: der Absender wurde bei der Event-Anlage + // eingefroren, eine spätere Korrektur wirkte deshalb auf bestehende Veranstaltungen nie. + $participant = $this->makeParticipant($this->makeEvent()); + + $this->tenant->update([ + 'invoice_sender_name' => 'BdP Landesverband Sachsen e.V.', + 'address_1' => 'Bernhard-Göring-Str. 152', + ]); + + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant->fresh())); + $tokens = new ReflectionMethod($command, 'buildTokens') + ->invoke($command, 'WM-V-20260701-0005', [], 300.0); + + $this->assertSame('BdP Landesverband Sachsen e.V.', $tokens['sender_name']); + $this->assertSame('Bernhard-Göring-Str. 152', $tokens['sender_address_1']); + } + + public function test_the_tax_basis_stays_frozen_on_the_event(): void + { + // Gegenprobe zur Abgrenzung: die Steuergrundlage erklärt, wie der Preis zustande kam, und + // folgt dem Mandanten ausdrücklich NICHT. + $event = $this->makeEvent(['tax_liable' => true, 'vat_rate' => 19]); + + $this->tenant->update(['tax_liable' => false, 'vat_rate' => 0]); + + $this->assertTrue($event->fresh()->tax_liable); + $this->assertSame(19, $event->fresh()->vat_rate); + } + + public function test_token_catalogue_matches_what_the_command_actually_provides(): void + { + // Der Katalog speist die Platzhalter-Liste und die Vorschau in der Vorlagen-Verwaltung. Liefe er + // gegenüber dem Command auseinander, würde die Verwaltung Platzhalter anbieten, die auf der echten + // Rechnung leer bleiben -- oder umgekehrt welche verschweigen. + $participant = $this->makeParticipant($this->makeEvent()); + $command = new CreateParticipantInvoiceCommand(new CreateParticipantInvoiceRequest($participant)); + + $actual = array_keys( + new ReflectionMethod($command, 'buildTokens')->invoke($command, 'WM-V-20260701-0005', [], 300.0) + ); + + sort($actual); + $documented = ParticipantInvoiceTokens::names(); + sort($documented); + + $this->assertSame($documented, $actual); + } + + public function test_conditional_sections_drop_when_the_value_is_missing(): void + { + DocumentTemplate::where('block', 'subject')->update([ + 'content' => '{if:sender_phone}Telefon: {sender_phone}{/if:sender_phone}' + . '{if:sender_city}Ort: {sender_city}{/if:sender_city}', + ]); + + $html = new DocumentTemplateRenderProvider(DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + ->render(['sender_phone' => '', 'sender_city' => 'Stadt']); + + $this->assertStringNotContainsString('Telefon:', $html); + $this->assertStringContainsString('Ort: Stadt', $html); + } +} diff --git a/tests/Feature/TenantTaxInformationTest.php b/tests/Feature/TenantTaxInformationTest.php index 05398c4..ca9d9cb 100644 --- a/tests/Feature/TenantTaxInformationTest.php +++ b/tests/Feature/TenantTaxInformationTest.php @@ -80,11 +80,15 @@ class TenantTaxInformationTest extends TestCase public function test_invalid_exemption_reason_fails(): void { + // Neue Tenants tragen den DB-Default (Jugendhilfe); verglichen wird deshalb gegen den Stand + // vor der Aktion, nicht gegen null. + $before = $this->tenant->fresh()->tax_exemption_reason; + $response = $this->runAction(taxLiable: false, vatRate: 0, reason: 'not_a_reason'); $this->assertFalse($response->success); - // Unbekannter Slug wird nicht aufgelöst (null) → kein Speichern, Wert bleibt unverändert. - $this->assertNull($this->tenant->fresh()->tax_exemption_reason); + // Unbekannter Slug wird nicht aufgelöst → kein Speichern, Wert bleibt unverändert. + $this->assertSame($before, $this->tenant->fresh()->tax_exemption_reason); } public function test_custom_reason_requires_note(): void diff --git a/tests/Unit/DateRangeTest.php b/tests/Unit/DateRangeTest.php new file mode 100644 index 0000000..7463483 --- /dev/null +++ b/tests/Unit/DateRangeTest.php @@ -0,0 +1,43 @@ +assertSame(1, DateRange::inclusiveDays($day, $day)); + } + + public function test_both_ends_are_counted(): void + { + // An- und Abreisetag zählen beide mit. + $this->assertSame(2, DateRange::inclusiveDays(new DateTime('2026-07-16'), new DateTime('2026-07-17'))); + $this->assertSame(5, DateRange::inclusiveDays(new DateTime('2026-07-16'), new DateTime('2026-07-20'))); + } + + public function test_the_order_of_the_arguments_does_not_matter(): void + { + $early = new DateTime('2026-07-16'); + $late = new DateTime('2026-07-20'); + + $this->assertSame( + DateRange::inclusiveDays($early, $late), + DateRange::inclusiveDays($late, $early) + ); + } + + public function test_month_and_year_boundaries_are_handled(): void + { + $this->assertSame(3, DateRange::inclusiveDays(new DateTime('2026-07-30'), new DateTime('2026-08-01'))); + $this->assertSame(3, DateRange::inclusiveDays(new DateTime('2026-12-31'), new DateTime('2027-01-02'))); + // 2028 ist ein Schaltjahr. + $this->assertSame(2, DateRange::inclusiveDays(new DateTime('2028-02-28'), new DateTime('2028-02-29'))); + } +} diff --git a/tests/Unit/EventPaymentModuleRegistryTest.php b/tests/Unit/EventPaymentModuleRegistryTest.php index a038d0f..57e0047 100644 --- a/tests/Unit/EventPaymentModuleRegistryTest.php +++ b/tests/Unit/EventPaymentModuleRegistryTest.php @@ -55,10 +55,9 @@ class EventPaymentModuleRegistryTest extends TestCase // Überweisung: keine payer-seitigen Eingaben. $this->assertSame([], (new AccountTransferPaymentModule())->getParticipantOptions()); - // Sonstiges: exemplarische Teilnehmer-Eingaben (Betrag + Passend-Checkbox). - $undefined = (new UndefinedPaymentModule())->getParticipantOptions(); - $this->assertSame(['amount_brought', 'has_exact_amount'], array_column($undefined, 'name')); - $this->assertSame('checkbox', $undefined[1]['type']); + // Sonstiges (Barzahlung vor Ort): ebenfalls keine payer-seitigen Eingaben -- die Zahlungsart + // beschreibt sich allein über den vom Veranstalter gepflegten Freitext. + $this->assertSame([], (new UndefinedPaymentModule())->getParticipantOptions()); } public function test_participant_option_helpers(): void diff --git a/tests/Unit/TextTest.php b/tests/Unit/TextTest.php new file mode 100644 index 0000000..e4d857f --- /dev/null +++ b/tests/Unit/TextTest.php @@ -0,0 +1,30 @@ +assertNull(Text::nullIfBlank(null)); + $this->assertNull(Text::nullIfBlank('')); + $this->assertNull(Text::nullIfBlank(' ')); + $this->assertNull(Text::nullIfBlank("\t\n")); + } + + public function test_content_is_kept_and_trimmed(): void + { + $this->assertSame('Musterweg 1', Text::nullIfBlank(' Musterweg 1 ')); + $this->assertSame('WM', Text::nullIfBlank('WM')); + } + + public function test_a_zero_is_content_not_emptiness(): void + { + // "0" ist falsy -- eine naive Prüfung mit `empty()` würde die Angabe verschlucken. + $this->assertSame('0', Text::nullIfBlank('0')); + } +} -- 2.54.0 From 6a183d6498af7c71e8df82114bebb0c32c2173c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=BCnrher?= Date: Thu, 3 Sep 2026 21:23:26 +0200 Subject: [PATCH 03/11] Creating Participation refunds --- .gitignore | 3 + .../DocumentTemplatesGetController.php | 41 +- .../DocumentTemplatesPreviewController.php | 13 +- .../DocumentTemplatesUpdateController.php | 12 +- app/Domains/Admin/Views/DocumentTemplates.vue | 62 +- .../Event/Views/Partials/ParticipantData.vue | 13 + .../Event/Views/Partials/ParticipantsList.vue | 198 ++++- .../AcceptRefund/AcceptRefundCommand.php | 121 +++ .../AcceptRefund/AcceptRefundRequest.php | 17 + .../AcceptRefund/AcceptRefundResponse.php | 17 + .../CancelRefund/CancelRefundCommand.php | 45 + .../CancelRefund/CancelRefundRequest.php | 13 + .../CancelRefund/CancelRefundResponse.php | 10 + .../CreateRefundDocumentCommand.php | 247 ++++++ .../CreateRefundDocumentRequest.php | 13 + .../CreateRefundDocumentResponse.php | 16 + .../ReleaseRefund/ReleaseRefundCommand.php | 134 +++ .../ReleaseRefund/ReleaseRefundRequest.php | 17 + .../ReleaseRefund/ReleaseRefundResponse.php | 14 + .../Controllers/AcceptRefundController.php | 37 + .../Controllers/CancelRefundController.php | 30 + .../Controllers/RefundDocumentController.php | 32 + .../Controllers/RefundPageController.php | 61 ++ .../Controllers/ReleaseRefundController.php | 38 + .../ParticipantRefundTokens.php | 117 +++ app/Domains/ParticipantRefund/Routes/api.php | 24 + app/Domains/ParticipantRefund/Routes/web.php | 10 + .../ParticipantRefund/Views/RefundPage.vue | 249 ++++++ app/Enumerations/RefundReason.php | 65 ++ .../RefundAcceptedMail.php | 73 ++ .../RefundReleasedMail.php | 59 ++ app/Models/DocumentTemplate.php | 4 +- app/Models/DocumentTypeCatalog.php | 125 +++ app/Models/ParticipantRefund.php | 105 +++ app/Providers/GlobalDataProvider.php | 6 + .../ParticipantRefundRepository.php | 41 + app/Resources/EventParticipantResource.php | 18 + app/Resources/ParticipantRefundResource.php | 37 + app/Scopes/CommonController.php | 3 + app/Support/Iban.php | 81 ++ composer.json | 4 + ...026_09_03_140010_create_refund_reasons.php | 63 ++ ...9_03_140020_create_participant_refunds.php | 60 ++ ...d_participant_refund_confirmation_text.php | 43 + .../participant-refund-template.sql | 134 +++ docker/Dockerfile | 8 +- .../emails/events/refund_accepted.blade.php | 44 + .../emails/events/refund_released.blade.php | 51 ++ routes/web.php | 3 + storage/temp/Eigenbeleg.pdf | Bin 0 -> 165355 bytes storage/temp/Erstattungsbeleg-Vorschau.pdf | Bin 0 -> 189109 bytes tests/Feature/DocumentTemplateAdminTest.php | 106 +++ tests/Feature/ParticipantRefundTest.php | 797 ++++++++++++++++++ tests/Feature/RefundDocumentTest.php | 434 ++++++++++ tests/Unit/IbanTest.php | 59 ++ 55 files changed, 3985 insertions(+), 42 deletions(-) create mode 100644 app/Domains/ParticipantRefund/Actions/AcceptRefund/AcceptRefundCommand.php create mode 100644 app/Domains/ParticipantRefund/Actions/AcceptRefund/AcceptRefundRequest.php create mode 100644 app/Domains/ParticipantRefund/Actions/AcceptRefund/AcceptRefundResponse.php create mode 100644 app/Domains/ParticipantRefund/Actions/CancelRefund/CancelRefundCommand.php create mode 100644 app/Domains/ParticipantRefund/Actions/CancelRefund/CancelRefundRequest.php create mode 100644 app/Domains/ParticipantRefund/Actions/CancelRefund/CancelRefundResponse.php create mode 100644 app/Domains/ParticipantRefund/Actions/CreateRefundDocument/CreateRefundDocumentCommand.php create mode 100644 app/Domains/ParticipantRefund/Actions/CreateRefundDocument/CreateRefundDocumentRequest.php create mode 100644 app/Domains/ParticipantRefund/Actions/CreateRefundDocument/CreateRefundDocumentResponse.php create mode 100644 app/Domains/ParticipantRefund/Actions/ReleaseRefund/ReleaseRefundCommand.php create mode 100644 app/Domains/ParticipantRefund/Actions/ReleaseRefund/ReleaseRefundRequest.php create mode 100644 app/Domains/ParticipantRefund/Actions/ReleaseRefund/ReleaseRefundResponse.php create mode 100644 app/Domains/ParticipantRefund/Controllers/AcceptRefundController.php create mode 100644 app/Domains/ParticipantRefund/Controllers/CancelRefundController.php create mode 100644 app/Domains/ParticipantRefund/Controllers/RefundDocumentController.php create mode 100644 app/Domains/ParticipantRefund/Controllers/RefundPageController.php create mode 100644 app/Domains/ParticipantRefund/Controllers/ReleaseRefundController.php create mode 100644 app/Domains/ParticipantRefund/ParticipantRefundTokens.php create mode 100644 app/Domains/ParticipantRefund/Routes/api.php create mode 100644 app/Domains/ParticipantRefund/Routes/web.php create mode 100644 app/Domains/ParticipantRefund/Views/RefundPage.vue create mode 100644 app/Enumerations/RefundReason.php create mode 100644 app/Mail/ParticipantRefundMails/RefundAcceptedMail.php create mode 100644 app/Mail/ParticipantRefundMails/RefundReleasedMail.php create mode 100644 app/Models/DocumentTypeCatalog.php create mode 100644 app/Models/ParticipantRefund.php create mode 100644 app/Repositories/ParticipantRefundRepository.php create mode 100644 app/Resources/ParticipantRefundResource.php create mode 100644 app/Support/Iban.php create mode 100644 database/migrations/2026_09_03_140010_create_refund_reasons.php create mode 100644 database/migrations/2026_09_03_140020_create_participant_refunds.php create mode 100644 database/migrations/2026_09_04_140010_add_participant_refund_confirmation_text.php create mode 100644 database/seed-scripts/participant-refund-template.sql create mode 100644 resources/views/emails/events/refund_accepted.blade.php create mode 100644 resources/views/emails/events/refund_released.blade.php create mode 100644 storage/temp/Eigenbeleg.pdf create mode 100644 storage/temp/Erstattungsbeleg-Vorschau.pdf create mode 100644 tests/Feature/ParticipantRefundTest.php create mode 100644 tests/Feature/RefundDocumentTest.php create mode 100644 tests/Unit/IbanTest.php diff --git a/.gitignore b/.gitignore index 656cf1b..3f9cf0f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ Homestead.json Homestead.yaml Thumbs.db /docker-compose.yaml + +# HTML-Report von composer test:coverage +/storage/coverage diff --git a/app/Domains/Admin/Controllers/DocumentTemplatesGetController.php b/app/Domains/Admin/Controllers/DocumentTemplatesGetController.php index cb3bfb6..9b4b437 100644 --- a/app/Domains/Admin/Controllers/DocumentTemplatesGetController.php +++ b/app/Domains/Admin/Controllers/DocumentTemplatesGetController.php @@ -2,47 +2,38 @@ namespace App\Domains\Admin\Controllers; -use App\Domains\ParticipantInvoice\ParticipantInvoiceTokens; use App\Models\DocumentAsset; use App\Models\DocumentTemplate; +use App\Models\DocumentTypeCatalog; use App\Scopes\CommonController; use Illuminate\Http\JsonResponse; +use Illuminate\Http\Request; class DocumentTemplatesGetController extends CommonController { - /** Blöcke, die Layout-HTML bzw. CSS enthalten und deshalb im Quelltext-Editor gepflegt werden. */ - private const array SOURCE_BLOCKS = [ - DocumentTemplate::BLOCK_LAYOUT, - DocumentTemplate::BLOCK_STYLE, - ]; - - private const array BLOCK_LABELS = [ - DocumentTemplate::BLOCK_LAYOUT => 'Seitengerüst', - DocumentTemplate::BLOCK_STYLE => 'Gestaltung (CSS)', - 'header_sender_return' => 'Rücksendezeile', - 'header_recipient' => 'Empfängeranschrift', - 'emblem' => 'Emblem', - 'logo' => 'Logo', - 'sender_data' => 'Absenderangaben', - 'subject' => 'Betreff und Referenzdaten', - DocumentTemplate::BLOCK_BODY => 'Rechnungsinhalt', - 'footer' => 'Grußformel und Fußnote', - ]; - - public function __invoke(): JsonResponse + public function __invoke(Request $request): JsonResponse { - $blocks = DocumentTemplate::forType(DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + $documentType = (string) $request->input('type', DocumentTypeCatalog::default()); + + if (!DocumentTypeCatalog::has($documentType)) { + abort(422, 'Unbekannte Dokumentart.'); + } + + $blocks = DocumentTemplate::forType($documentType) ->values() ->map(fn(DocumentTemplate $block): array => [ 'block' => $block->block, - 'label' => self::BLOCK_LABELS[$block->block] ?? $block->block, + 'label' => DocumentTypeCatalog::blockLabel($documentType, $block->block), 'content' => (string) $block->content, 'editable' => $block->editable, - 'source' => in_array($block->block, self::SOURCE_BLOCKS, true), + 'source' => in_array($block->block, DocumentTypeCatalog::SOURCE_BLOCKS, true), ]); return response()->json([ + 'documentType' => $documentType, + 'documentTypes' => DocumentTypeCatalog::options(), 'blocks' => $blocks, + // Die Bilder gelten für alle Dokumentarten -- sie hängen nicht am Typ. 'assets' => DocumentAsset::orderBy('name')->get()->map(fn(DocumentAsset $asset): array => [ 'name' => $asset->name, 'label' => $asset->label, @@ -50,7 +41,7 @@ class DocumentTemplatesGetController extends CommonController 'token' => '{asset:' . $asset->name . '}', 'preview' => $asset->toDataUri(), ]), - 'tokenGroups' => ParticipantInvoiceTokens::groups(), + 'tokenGroups' => DocumentTypeCatalog::tokenGroups($documentType), ]); } } diff --git a/app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php b/app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php index fd0bab2..e03071d 100644 --- a/app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php +++ b/app/Domains/Admin/Controllers/DocumentTemplatesPreviewController.php @@ -2,8 +2,7 @@ namespace App\Domains\Admin\Controllers; -use App\Domains\ParticipantInvoice\ParticipantInvoiceTokens; -use App\Models\DocumentTemplate; +use App\Models\DocumentTypeCatalog; use App\Providers\DocumentTemplateRenderProvider; use App\Providers\PdfGenerateAndDownloadProvider; use App\Scopes\CommonController; @@ -17,10 +16,16 @@ class DocumentTemplatesPreviewController extends CommonController { public function __invoke(Request $request): Response { + $documentType = (string) $request->input('type', DocumentTypeCatalog::default()); + + if (!DocumentTypeCatalog::has($documentType)) { + abort(422, 'Unbekannte Dokumentart.'); + } + $html = new DocumentTemplateRenderProvider( - DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + $documentType, (array) $request->input('blocks', []), - )->render(ParticipantInvoiceTokens::sample()); + )->render(DocumentTypeCatalog::sampleTokens($documentType)); return response(PdfGenerateAndDownloadProvider::fromHtml($html, 'portrait'), 200, [ 'Content-Type' => 'application/pdf', diff --git a/app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php b/app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php index afe53fa..876734d 100644 --- a/app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php +++ b/app/Domains/Admin/Controllers/DocumentTemplatesUpdateController.php @@ -4,7 +4,7 @@ namespace App\Domains\Admin\Controllers; use App\Domains\Admin\Actions\UpdateDocumentTemplate\UpdateDocumentTemplateAction; use App\Domains\Admin\Actions\UpdateDocumentTemplate\UpdateDocumentTemplateRequest; -use App\Models\DocumentTemplate; +use App\Models\DocumentTypeCatalog; use App\Scopes\CommonController; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; @@ -13,8 +13,16 @@ class DocumentTemplatesUpdateController extends CommonController { public function __invoke(Request $request): JsonResponse { + $documentType = (string) $request->input('type', DocumentTypeCatalog::default()); + + // Die Dokumentart bestimmt, welche Zeilen geschrieben werden -- ungeprüft weitergereicht wäre + // sie ein Weg, in beliebige Vorlagen zu schreiben. + if (!DocumentTypeCatalog::has($documentType)) { + abort(422, 'Unbekannte Dokumentart.'); + } + $action = new UpdateDocumentTemplateAction(new UpdateDocumentTemplateRequest( - documentType: DocumentTemplate::TYPE_PARTICIPANT_INVOICE, + documentType: $documentType, blocks: (array) $request->input('blocks', []), )); diff --git a/app/Domains/Admin/Views/DocumentTemplates.vue b/app/Domains/Admin/Views/DocumentTemplates.vue index df517d1..2bd66e3 100644 --- a/app/Domains/Admin/Views/DocumentTemplates.vue +++ b/app/Domains/Admin/Views/DocumentTemplates.vue @@ -12,6 +12,10 @@ const blocks = ref([]) const assets = ref([]) const tokenGroups = ref({}) +// Die Vorlagen sind nach Dokumentart getrennt; der Umschalter lädt jeweils deren Blöcke neu. +const documentType = ref(null) +const documentTypes = ref([]) + const activeBlock = ref(null) const saving = ref(false) @@ -33,12 +37,15 @@ function selectBlock(block) { onMounted(load) async function load() { - const data = await request('/api/v1/admin/document-templates', {method: 'GET'}) + const query = documentType.value ? '?type=' + encodeURIComponent(documentType.value) : '' + const data = await request('/api/v1/admin/document-templates' + query, {method: 'GET'}) if (!data) { toast.error('Die Vorlage konnte nicht geladen werden.') return } + documentType.value = data.documentType + documentTypes.value = data.documentTypes ?? [] blocks.value = data.blocks ?? [] assets.value = data.assets ?? [] tokenGroups.value = data.tokenGroups ?? {} @@ -47,6 +54,15 @@ async function load() { await refreshPreview() } +/** Beim Wechsel der Dokumentart alles neu holen -- Blöcke und Platzhalter sind je Art andere. */ +async function selectDocumentType(type) { + if (type === documentType.value) return + + documentType.value = type + caret.value = null + await load() +} + /** Nur editierbare Blöcke werden gesendet; der generierte Rechnungsinhalt bleibt unverändert. */ function editableBlocks() { return Object.fromEntries( @@ -60,7 +76,7 @@ async function save() { try { const response = await request('/api/v1/admin/document-templates', { method: 'POST', - body: {blocks: editableBlocks()}, + body: {type: documentType.value, blocks: editableBlocks()}, }) if (response?.status === 'success') { @@ -83,7 +99,7 @@ async function refreshPreview() { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]')?.content ?? '', }, - body: JSON.stringify({blocks: editableBlocks()}), + body: JSON.stringify({type: documentType.value, blocks: editableBlocks()}), }) if (!response.ok) { @@ -217,14 +233,28 @@ function onFileChosen(event) { @@ -460,6 +592,48 @@ function mailToGroup(groupKey) { + +

+ {{ showParticipant?.fullname }} hat + {{ showParticipant?.amountPaid?.readable }} gezahlt. Nach der Freigabe erhält + der Teili eine E-Mail und trägt seine Bankverbindung selbst ein. +

+ +
+ +
+ Euro +
+ +
+ +
+ + + +
+ +
+ + + +
+ + +
+ diff --git a/app/Enumerations/RefundReason.php b/app/Enumerations/RefundReason.php new file mode 100644 index 0000000..5932c6b --- /dev/null +++ b/app/Enumerations/RefundReason.php @@ -0,0 +1,65 @@ + 'boolean', + 'sort_order' => 'integer', + ]; + + /** + * Der Text, der auf dem Beleg unter „Grund" steht. Bei einem Grund, der einen Freitext verlangt, + * ist der hinterlegte Text der der Aktionsleitung. + */ + public function documentText(?string $note = null): string + { + return $this->requires_note ? trim((string) $note) : (string) $this->document_text; + } + + /** + * Optionen für das Frontend. `requiresNote` steuert dort das Freitextfeld. + * + * @return array + */ + public static function options(): array + { + return self::orderBy('sort_order')->get() + ->map(static fn (self $reason): array => [ + 'value' => $reason->slug, + 'label' => $reason->name, + 'requiresNote' => $reason->requires_note, + ]) + ->all(); + } +} diff --git a/app/Mail/ParticipantRefundMails/RefundAcceptedMail.php b/app/Mail/ParticipantRefundMails/RefundAcceptedMail.php new file mode 100644 index 0000000..fa5ad5d --- /dev/null +++ b/app/Mail/ParticipantRefundMails/RefundAcceptedMail.php @@ -0,0 +1,73 @@ +participant->event()->first()->name + ), + ); + } + + public function content(): Content + { + $event = $this->participant->event()->first(); + + return new Content( + view: 'emails.events.refund_accepted', + with: [ + 'name' => $this->participant->getNicename(), + 'eventTitle' => $event->name, + 'eventEmail' => $event->email, + 'amount' => $this->refund->amount?->toString() ?? '0,00 Euro', + 'reason' => $this->refund->reasonLabel(), + 'accountOwner' => $this->refund->account_owner, + 'accountIban' => Iban::format((string) $this->refund->account_iban), + 'hasDocument' => $this->pdfContent !== null, + ], + ); + } + + /** + * @return array + */ + public function attachments(): array + { + if ($this->pdfContent === null) { + return []; + } + + return [ + Attachment::fromData(fn (): string => $this->pdfContent, $this->pdfFilename ?? 'Rueckerstattung.pdf') + ->withMime('application/pdf'), + ]; + } +} diff --git a/app/Mail/ParticipantRefundMails/RefundReleasedMail.php b/app/Mail/ParticipantRefundMails/RefundReleasedMail.php new file mode 100644 index 0000000..605b694 --- /dev/null +++ b/app/Mail/ParticipantRefundMails/RefundReleasedMail.php @@ -0,0 +1,59 @@ +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), + ], + ); + } + + /** + * @return array + */ + public function attachments(): array + { + return []; + } +} diff --git a/app/Models/DocumentTemplate.php b/app/Models/DocumentTemplate.php index 58aef3e..16d9b48 100644 --- a/app/Models/DocumentTemplate.php +++ b/app/Models/DocumentTemplate.php @@ -19,13 +19,15 @@ class DocumentTemplate extends CommonModel { public const string TYPE_PARTICIPANT_INVOICE = 'participant_invoice'; + public const string TYPE_PARTICIPANT_REFUND = 'participant_refund'; + /** Seitengerüst -- enthält die `{block:...}`-Platzhalter und bestimmt damit die Anordnung. */ public const string BLOCK_LAYOUT = 'layout'; /** CSS des Dokuments. */ public const string BLOCK_STYLE = 'style'; - /** Der generierte Teil (Positionstabelle, Summen, Schlusssatz) -- nicht editierbar. */ + /** Der Inhaltsblock. Bei der Rechnung generiert und gesperrt, beim Erstattungsbeleg pflegbar. */ public const string BLOCK_BODY = 'body'; protected $table = 'document_templates'; diff --git a/app/Models/DocumentTypeCatalog.php b/app/Models/DocumentTypeCatalog.php new file mode 100644 index 0000000..b86c4c0 --- /dev/null +++ b/app/Models/DocumentTypeCatalog.php @@ -0,0 +1,125 @@ + + */ + private const array COMMON_BLOCK_LABELS = [ + DocumentTemplate::BLOCK_LAYOUT => 'Seitengerüst', + DocumentTemplate::BLOCK_STYLE => 'Gestaltung (CSS)', + 'header_sender_return' => 'Rücksendezeile', + 'header_recipient' => 'Empfängeranschrift', + 'emblem' => 'Emblem', + 'logo' => 'Logo', + 'sender_data' => 'Absenderangaben', + 'subject' => 'Betreff und Referenzdaten', + ]; + + /** + * @return array}> + */ + public static function all(): array + { + return [ + DocumentTemplate::TYPE_PARTICIPANT_INVOICE => [ + 'label' => 'Teilnahmerechnung', + 'tokens' => ParticipantInvoiceTokens::class, + 'blockLabels' => self::COMMON_BLOCK_LABELS + [ + DocumentTemplate::BLOCK_BODY => 'Rechnungsinhalt', + 'footer' => 'Grußformel und Fußnote', + ], + ], + DocumentTemplate::TYPE_PARTICIPANT_REFUND => [ + 'label' => 'Erstattungsbeleg', + 'tokens' => ParticipantRefundTokens::class, + 'blockLabels' => self::COMMON_BLOCK_LABELS + [ + DocumentTemplate::BLOCK_BODY => 'Erklärung und Angaben zur Erstattung', + 'footer' => 'Fußbereich', + ], + ], + ]; + } + + public static function has(string $documentType): bool + { + return array_key_exists($documentType, self::all()); + } + + /** Die Dokumentart, oder null wenn sie nicht im Katalog steht. */ + public static function get(string $documentType): ?array + { + return self::all()[$documentType] ?? null; + } + + public static function default(): string + { + return DocumentTemplate::TYPE_PARTICIPANT_INVOICE; + } + + public static function blockLabel(string $documentType, string $block): string + { + return self::get($documentType)['blockLabels'][$block] ?? $block; + } + + /** + * Platzhalter-Gruppen der Dokumentart -- für die Liste im Formular. + * + * @return array> + */ + public static function tokenGroups(string $documentType): array + { + $tokens = self::get($documentType)['tokens'] ?? null; + + return $tokens === null ? [] : $tokens::groups(); + } + + /** + * Beispielwerte der Dokumentart -- für die Vorschau. + * + * @return array + */ + public static function sampleTokens(string $documentType): array + { + $tokens = self::get($documentType)['tokens'] ?? null; + + return $tokens === null ? [] : $tokens::sample(); + } + + /** + * Die Auswahl für den Umschalter im Formular. + * + * @return array + */ + public static function options(): array + { + $options = []; + + foreach (self::all() as $type => $definition) { + $options[] = ['value' => $type, 'label' => $definition['label']]; + } + + return $options; + } +} diff --git a/app/Models/ParticipantRefund.php b/app/Models/ParticipantRefund.php new file mode 100644 index 0000000..89190ac --- /dev/null +++ b/app/Models/ParticipantRefund.php @@ -0,0 +1,105 @@ + AmountCast::class, + 'released_at' => 'datetime', + 'accepted_at' => 'datetime', + 'cancelled_at' => 'datetime', + ]; + + public function participant(): BelongsTo + { + return $this->belongsTo(EventParticipant::class, 'event_participant_id'); + } + + public function event(): BelongsTo + { + return $this->belongsTo(Event::class); + } + + /** + * Der Grund als Stammdatensatz. Nicht `reason()`, weil das die Spalte `reason` verdecken würde. + */ + public function reasonRelation(): BelongsTo + { + return $this->belongsTo(RefundReason::class, 'reason', 'slug'); + } + + public function isPending(): bool + { + return $this->status === self::STATUS_PENDING; + } + + public function isAccepted(): bool + { + return $this->status === self::STATUS_ACCEPTED; + } + + /** Der auf dem Beleg auszuweisende Grundtext -- bei Freitext-Gründen der Text der Aktionsleitung. */ + public function reasonText(): string + { + return $this->reasonRelation()->first()?->documentText($this->reason_note) ?? ''; + } + + public function reasonLabel(): string + { + return (string) ($this->reasonRelation()->first()?->name ?? ''); + } +} diff --git a/app/Providers/GlobalDataProvider.php b/app/Providers/GlobalDataProvider.php index 5a3b08a..c9618a1 100644 --- a/app/Providers/GlobalDataProvider.php +++ b/app/Providers/GlobalDataProvider.php @@ -4,6 +4,7 @@ namespace App\Providers; use App\Enumerations\EatingHabit; use App\Enumerations\InvoiceType; +use App\Enumerations\RefundReason; use App\Enumerations\UserRole; use App\Models\AvailablePaymentMethod; use App\Models\Tenant; @@ -189,6 +190,11 @@ class GlobalDataProvider { return $activeUsers; } + /** Auswahl der Erstattungsgründe für den Dialog „Beitrag erstatten". */ + public function getRefundReasons() : JsonResponse { + return response()->json(RefundReason::options()); + } + public function getEventSettingData(Request $request) : JsonResponse { return response()->json( [ diff --git a/app/Repositories/ParticipantRefundRepository.php b/app/Repositories/ParticipantRefundRepository.php new file mode 100644 index 0000000..008d1bc --- /dev/null +++ b/app/Repositories/ParticipantRefundRepository.php @@ -0,0 +1,41 @@ +id) + ->where('status', ParticipantRefund::STATUS_PENDING) + ->first(); + } + + /** + * Der für die Anzeige maßgebliche Vorgang: der offene, sonst der zuletzt bestätigte. Abgebrochene + * Vorgänge bleiben außen vor -- für die Aktionsleitung sieht die Anmeldung danach aus wie vorher. + */ + public function currentFor(EventParticipant $participant): ?ParticipantRefund + { + return ParticipantRefund::where('event_participant_id', $participant->id) + ->whereIn('status', [ParticipantRefund::STATUS_PENDING, ParticipantRefund::STATUS_ACCEPTED]) + ->orderByDesc('id') + ->first(); + } + + /** + * Der Vorgang zu einem öffentlichen Link. + * + * Der Token ist die einzige Autorisierung -- dasselbe Modell wie bei /print-girocode/{identifier}. + * Der Mandant kommt über den globalen SiteScope aus dem Host der Anfrage: ein Token einer anderen + * Instanz findet hier nichts. + */ + public function getByToken(string $token): ?ParticipantRefund + { + return ParticipantRefund::where('token', $token)->first(); + } +} diff --git a/app/Resources/EventParticipantResource.php b/app/Resources/EventParticipantResource.php index 2dbbab3..1258e2a 100644 --- a/app/Resources/EventParticipantResource.php +++ b/app/Resources/EventParticipantResource.php @@ -8,6 +8,7 @@ use App\Enumerations\ParticipationType; use App\Models\AvailablePaymentMethod; use App\Models\EventParticipant; use App\Models\PaymentMethod; +use App\Repositories\ParticipantRefundRepository; use App\ValueObjects\Age; use Illuminate\Http\Resources\Json\JsonResource; @@ -74,6 +75,10 @@ class EventParticipantResource extends JsonResource // Numerisch, damit das Frontend rechnen bzw. auf "kostenlos" prüfen kann -- `value` oben ist // ein Amount-Objekt und serialisiert nicht. 'amountExpectedValue' => $this->resource->amount?->getAmount() ?? 0.0, + 'amountPaidValue' => $this->resource->amount_paid?->getAmount() ?? 0.0, + // Der laufende bzw. bestätigte Erstattungsvorgang -- null, wenn keiner existiert oder + // der letzte abgebrochen wurde. + 'refund' => $this->refund($request), 'alcoholicsAllowed' => new Age($this->resource->birthday)->getAge() >= $event->alcoholics_age, 'localGroupPostcode' => $this->resource->localGroup()->first()?->postcode ?? '00000', 'localGroupCity' => $this->resource->localGroup()->first()?->city ?? '00000', @@ -106,4 +111,17 @@ class EventParticipantResource extends JsonResource ] ); } + + /** + * Der für die Anzeige maßgebliche Erstattungsvorgang. + * + * Abgebrochene Vorgänge bleiben außen vor: für die Aktionsleitung soll die Anmeldung danach + * aussehen wie vor der Freigabe. + */ + private function refund($request): ?array + { + $refund = new ParticipantRefundRepository()->currentFor($this->resource); + + return $refund?->toResource()->toArray($request); + } } diff --git a/app/Resources/ParticipantRefundResource.php b/app/Resources/ParticipantRefundResource.php new file mode 100644 index 0000000..433be0e --- /dev/null +++ b/app/Resources/ParticipantRefundResource.php @@ -0,0 +1,37 @@ +resource->toArray()` als Basis wie in {@see EventParticipantResource}: die + * Bankverbindung darf nur dorthin, wo sie hingehört (Beleg und Auszahlung), nicht in jede + * Teilnehmerliste. Deshalb werden die Felder hier einzeln aufgeführt. + */ +class ParticipantRefundResource extends JsonResource +{ + public function __construct(ParticipantRefund $refund) + { + parent::__construct($refund); + } + + public function toArray($request): array + { + return [ + 'token' => $this->resource->token, + 'status' => $this->resource->status, + 'amount' => $this->resource->amount?->toString() ?? '0,00 Euro', + 'amountValue' => $this->resource->amount?->getAmount() ?? 0.0, + 'reason' => $this->resource->reason, + 'reasonLabel' => $this->resource->reasonLabel(), + 'reasonNote' => $this->resource->reason_note, + 'releasedAt' => $this->resource->released_at?->format('d.m.Y'), + 'acceptedAt' => $this->resource->accepted_at?->format('d.m.Y'), + 'cancelledAt' => $this->resource->cancelled_at?->format('d.m.Y'), + ]; + } +} diff --git a/app/Scopes/CommonController.php b/app/Scopes/CommonController.php index 695b531..0969105 100644 --- a/app/Scopes/CommonController.php +++ b/app/Scopes/CommonController.php @@ -12,6 +12,7 @@ use App\Repositories\EventParticipantRepository; use App\Repositories\EventRepository; use App\Repositories\InvoiceRepository; use App\Repositories\PageTextRepository; +use App\Repositories\ParticipantRefundRepository; use App\Repositories\UserRepository; abstract class CommonController { @@ -24,6 +25,7 @@ abstract class CommonController { protected InvoiceRepository $invoices; protected EventRepository $events; protected EventParticipantRepository $eventParticipants; + protected ParticipantRefundRepository $participantRefunds; protected EstimatesRepository $estimates; protected AdminUserRepository $adminUsers; protected AdminTenantRepository $adminTenants; @@ -36,6 +38,7 @@ abstract class CommonController { $this->invoices = new InvoiceRepository(); $this->events = new EventRepository(); $this->eventParticipants = new EventParticipantRepository(); + $this->participantRefunds = new ParticipantRefundRepository(); $this->estimates = new EstimatesRepository(); $this->adminUsers = new AdminUserRepository(); $this->adminTenants = new AdminTenantRepository(); diff --git a/app/Support/Iban.php b/app/Support/Iban.php new file mode 100644 index 0000000..9f4a15c --- /dev/null +++ b/app/Support/Iban.php @@ -0,0 +1,81 @@ + + */ + private const array LENGTHS = [ + 'AD' => 24, 'AT' => 20, 'BE' => 16, 'BG' => 22, 'CH' => 21, 'CY' => 28, 'CZ' => 24, + 'DE' => 22, 'DK' => 18, 'EE' => 20, 'ES' => 24, 'FI' => 18, 'FR' => 27, 'GB' => 22, + 'GI' => 23, 'GR' => 27, 'HR' => 21, 'HU' => 28, 'IE' => 22, 'IS' => 26, 'IT' => 27, + 'LI' => 21, 'LT' => 20, 'LU' => 20, 'LV' => 21, 'MC' => 27, 'MT' => 31, 'NL' => 18, + 'NO' => 15, 'PL' => 28, 'PT' => 25, 'RO' => 24, 'SE' => 24, 'SI' => 19, 'SK' => 24, + 'SM' => 27, 'VA' => 22, + ]; + + /** Leerzeichen raus, Großbuchstaben -- die kanonische Form, die gespeichert wird. */ + public static function normalize(string $iban): string + { + return strtoupper(preg_replace('/\s+/', '', $iban) ?? ''); + } + + public static function isValid(string $iban): bool + { + $iban = self::normalize($iban); + + if (preg_match('/^[A-Z]{2}[0-9]{2}[A-Z0-9]{10,30}$/', $iban) !== 1) { + return false; + } + + $expected = self::LENGTHS[substr($iban, 0, 2)] ?? null; + if ($expected !== null && strlen($iban) !== $expected) { + return false; + } + + return self::checksum($iban) === 1; + } + + /** In Vierergruppen -- die Schreibweise auf Belegen und Formularen. */ + public static function format(string $iban): string + { + return trim(chunk_split(self::normalize($iban), 4, ' ')); + } + + /** + * Mod 97-10: die ersten vier Zeichen ans Ende, Buchstaben durch ihre Position + 9 ersetzen + * (A = 10 … Z = 35), das Ergebnis modulo 97. Eine gültige IBAN ergibt 1. + * + * Der Rest wird stellenweise fortgeschrieben, weil die Zahl sonst jeden Integer sprengt. + */ + private static function checksum(string $iban): int + { + $rearranged = substr($iban, 4) . substr($iban, 0, 4); + + $remainder = 0; + foreach (str_split($rearranged) as $char) { + $value = ctype_digit($char) ? $char : (string) (ord($char) - 55); + + foreach (str_split($value) as $digit) { + $remainder = ($remainder * 10 + (int) $digit) % 97; + } + } + + return $remainder; + } +} diff --git a/composer.json b/composer.json index 989a38e..7be9f30 100644 --- a/composer.json +++ b/composer.json @@ -57,6 +57,10 @@ "@php artisan config:clear --ansi", "@php artisan test" ], + "test:coverage": [ + "@php artisan config:clear --ansi", + "@php -d pcov.enabled=1 vendor/bin/phpunit --coverage-html storage/coverage --coverage-text" + ], "post-autoload-dump": [ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", "@php artisan package:discover --ansi" diff --git a/database/migrations/2026_09_03_140010_create_refund_reasons.php b/database/migrations/2026_09_03_140010_create_refund_reasons.php new file mode 100644 index 0000000..4587505 --- /dev/null +++ b/database/migrations/2026_09_03_140010_create_refund_reasons.php @@ -0,0 +1,63 @@ +string('slug')->primary(); + $table->string('name'); + $table->text('document_text')->nullable(); + $table->boolean('requires_note')->default(false); + $table->integer('sort_order')->default(0); + $table->timestamps(); + }); + + DB::table('refund_reasons')->insert([ + [ + 'slug' => 'sickness', + 'name' => 'Krankheitsbedingte Absage', + 'document_text' => 'Die Teilnahme konnte krankheitsbedingt nicht angetreten werden.', + 'requires_note' => false, + 'sort_order' => 10, + 'created_at' => now(), + 'updated_at' => now(), + ], + [ + 'slug' => 'event_cancelled', + 'name' => 'Ausfall der Veranstaltung', + 'document_text' => 'Die Veranstaltung wurde abgesagt und konnte nicht stattfinden.', + 'requires_note' => false, + 'sort_order' => 20, + 'created_at' => now(), + 'updated_at' => now(), + ], + [ + // Der Text entsteht erst aus dem Freitext der Aktionsleitung -- deshalb hier leer. + 'slug' => 'other', + 'name' => 'Sonstiger Grund', + 'document_text' => null, + 'requires_note' => true, + 'sort_order' => 30, + 'created_at' => now(), + 'updated_at' => now(), + ], + ]); + } + + public function down(): void + { + Schema::dropIfExists('refund_reasons'); + } +}; diff --git a/database/migrations/2026_09_03_140020_create_participant_refunds.php b/database/migrations/2026_09_03_140020_create_participant_refunds.php new file mode 100644 index 0000000..fbacd1c --- /dev/null +++ b/database/migrations/2026_09_03_140020_create_participant_refunds.php @@ -0,0 +1,60 @@ +id(); + $table->string('tenant'); + + $table->foreignId('event_id')->constrained('events', 'id')->cascadeOnDelete()->cascadeOnUpdate(); + $table->foreignId('event_participant_id')->constrained('event_participants', 'id')->cascadeOnDelete()->cascadeOnUpdate(); + + // Der öffentliche Link. Eigener Token statt des Teilnehmer-Identifiers, damit ein Abbruch den + // Link tötet, ohne andere per Identifier erreichbare Funktionen (GiroCode) mitzunehmen. + $table->string('token', 32)->unique(); + $table->string('status'); + + $table->float('amount', 2)->default(0); + $table->string('reason')->nullable(); + $table->text('reason_note')->nullable(); + + $table->string('account_owner')->nullable(); + $table->string('account_iban')->nullable(); + + $table->foreignId('released_by')->nullable()->constrained('users', 'id')->nullOnDelete(); + $table->dateTime('released_at')->nullable(); + $table->dateTime('accepted_at')->nullable(); + $table->dateTime('cancelled_at')->nullable(); + + $table->timestamps(); + + $table->foreign('tenant')->references('slug')->on('tenants')->restrictOnDelete()->cascadeOnUpdate(); + $table->foreign('reason')->references('slug')->on('refund_reasons')->restrictOnDelete()->cascadeOnUpdate(); + }); + } + + public function down(): void + { + Schema::dropIfExists('participant_refunds'); + } +}; diff --git a/database/migrations/2026_09_04_140010_add_participant_refund_confirmation_text.php b/database/migrations/2026_09_04_140010_add_participant_refund_confirmation_text.php new file mode 100644 index 0000000..f632ebd --- /dev/null +++ b/database/migrations/2026_09_04_140010_add_participant_refund_confirmation_text.php @@ -0,0 +1,43 @@ +where('name', self::NAME)->first(); + + if ($existing !== null) { + return; + } + + DB::table('page_texts')->insert([ + 'name' => self::NAME, + 'content' => 'Ich versichere, dass ich den genannten Betrag beglichen habe und nicht ' + . 'anderweitig zurückerstattet bekomme.', + 'created_at' => now(), + 'updated_at' => now(), + ]); + } + + public function down(): void + { + DB::table('page_texts')->where('name', self::NAME)->delete(); + } +}; diff --git a/database/seed-scripts/participant-refund-template.sql b/database/seed-scripts/participant-refund-template.sql new file mode 100644 index 0000000..f400776 --- /dev/null +++ b/database/seed-scripts/participant-refund-template.sql @@ -0,0 +1,134 @@ +-- Standard-Vorlage für den Erstattungsbeleg. +-- +-- Bewusst ein manuelles Skript und keine Migration: der Vorlageninhalt wird über die Admin-Oberfläche +-- gepflegt und soll von einem Release nicht überschrieben werden. Einspielen also nur bei der +-- Erstinstallation oder wenn die Vorlage bewusst zurückgesetzt werden soll. +-- +-- docker exec -i mareike-mareike-db mysql -u -p < database/seed-scripts/participant-refund-template.sql +-- +-- Setzt participant-invoice-template.sql voraus: die Bilder ({asset:emblem}, {asset:logo}, +-- {asset:edge}) liegen in `document_assets` und werden von beiden Dokumentarten gemeinsam genutzt. +-- +-- Der Beleg ist kein Schreiben des Verbands, sondern die Erklärung des Teilis ("Ich bitte um …", "Ich +-- versichere …") -- ein Eigenbeleg. +-- +-- Briefkopf samt Anschriftenfeld ist der der Rechnung: die Anschrift der erklärenden Person steht dort +-- und nicht noch einmal im Körper. In der Angabentabelle steht ihr Name, weil dort alles zusammensteht, +-- was sie erklärt -- Kontoinhaber*in kann eine andere Person sein (etwa ein Elternteil). +-- +-- Der Erklärungssatz kommt aus dem Seitentext CONFIRMATION_PARTICIPANT_REFUND, denselben, den der Teili +-- vor dem Absenden ankreuzt. Er steht hier deshalb als Platzhalter und nicht als fester Text. + +DELETE FROM document_templates WHERE document_type = 'participant_refund'; + +INSERT INTO document_templates (document_type, block, content, sort_order, editable, created_at, updated_at) VALUES + ('participant_refund', 'layout', ' + +
+ + + + + + + +
+ {block:header_sender_return} + {block:header_recipient} + + {block:emblem} + + {block:logo} + {block:sender_data} +
+ + {block:subject} + {block:body} + {block:footer} + +
', 10, 1, NOW(), NOW()), + ('participant_refund', 'style', '@page { size: A4 portrait; margin: 0; } +* { margin: 0; padding: 0; box-sizing: border-box; } +body { font-family: \'DejaVu Sans\', sans-serif; font-size: 9.5pt; color: #1a1a1a; background: white; } + +.page { padding: 10mm 18mm 20mm 22mm; } + +/* Kopfbereich */ +.header-table { width: 100%; border-collapse: collapse; margin-bottom: 6mm; } +.header-table td { vertical-align: top; padding: 0; } +.absender-rueck { font-size: 6pt; color: #555; border-bottom: 0.3pt solid #888; padding-bottom: 1.5mm; margin-bottom: 3.5mm; } +.empfaenger { font-size: 10pt; line-height: 1.65; } +.empfaenger-bold { font-weight: bold; } +.logo-img { width: 36mm; display: block; margin-bottom: 4mm; } +.emblem-img { width: 22mm; display: block; margin: 0 auto; } +.absender-block { font-size: 7.5pt; color: #1a4799; line-height: 1.7; } +.absender-name { font-weight: bold; font-size: 8pt; } + +/* Betreff und Referenzdaten */ +.betreff { font-size: 14pt; color: #1a4799; margin-bottom: 5mm; } +.ref-table { border-collapse: collapse; font-size: 8.5pt; margin-bottom: 7mm; } +.ref-table td { padding: 0.9mm 7mm 0.9mm 0; vertical-align: top; } +.ref-key { color: #666; white-space: nowrap; } + +/* Einleitender Satz */ +.intro-text { font-size: 9.5pt; line-height: 1.6; margin-bottom: 5mm; color: #1a1a1a; } + +/* Angaben zur Erstattung */ +.detail-table { width: 100%; border-collapse: collapse; font-size: 9pt; margin-bottom: 5mm; } +.detail-table td { padding: 2.2mm 3mm; border-bottom: 0.3pt solid #d8dde6; vertical-align: top; } +.detail-table tr:nth-child(even) td { background-color: #f7f8fb; } +.detail-table tr:last-child td { border-bottom: none; } +.detail-key { width: 42%; color: #555; } +.detail-val { font-weight: bold; } + +/* Die Versicherung des Teilis unter den Angaben */ +.declaration { font-size: 9.5pt; line-height: 1.6; margin-top: 7mm; } + +/* Gelber Randstreifen mit Knick -- position:fixed, damit er auf jeder Seite steht. */ +.edge { position: fixed; top: 0; left: 0; width: 16mm; height: 297mm; }', 20, 1, NOW(), NOW()), + ('participant_refund', 'header_sender_return', '
{sender_name}{if:sender_address_1} · {sender_address_1}{/if:sender_address_1} · {sender_postcode} {sender_city}
', 30, 1, NOW(), NOW()), + ('participant_refund', 'header_recipient', '
+
{recipient_name}
+
{recipient_address_1}
+ {if:recipient_address_2}
{recipient_address_2}
{/if:recipient_address_2} +
{recipient_postcode} {recipient_city}
+
', 40, 1, NOW(), NOW()), + ('participant_refund', 'emblem', '', 50, 1, NOW(), NOW()), + ('participant_refund', 'logo', '', 60, 1, NOW(), NOW()), + ('participant_refund', 'sender_data', '
+
{sender_name}
+ {if:sender_address_2}
{sender_address_2}
{/if:sender_address_2} + {if:sender_address_3}
{sender_address_3}
{/if:sender_address_3} + {if:sender_address_1}
{sender_address_1}
{/if:sender_address_1} +
{sender_postcode} {sender_city}
+ {if:sender_email}
{sender_email}
{/if:sender_email} + {if:sender_phone}
{sender_phone}
{/if:sender_phone} + {if:sender_tax_number}
Steuernummer: {sender_tax_number}
{/if:sender_tax_number} + {if:sender_vat_id}
USt-IdNr.: {sender_vat_id}
{/if:sender_vat_id} +
', 70, 1, NOW(), NOW()), + ('participant_refund', 'subject', '
Rückerstattung Nr. {document_number}
+ + + + + + + + + + + + + + + {if:unregistered_at} + + + {/if:unregistered_at} +
Belegdatum:{document_date}
Veranstaltung:{event_name}
Zeitraum:{service_period}
Abgemeldet am:{unregistered_at}
', 80, 1, NOW(), NOW()), + ('participant_refund', 'body', '
Ich konnte an der Veranstaltung nicht oder nur teilweise teilnehmen und bitte um die Rückerstattung wie folgt:
+ +{details_table} + +
{declaration_text}
', 90, 1, NOW(), NOW()), + ('participant_refund', 'footer', '', 100, 1, NOW(), NOW()); diff --git a/docker/Dockerfile b/docker/Dockerfile index 8ce4ac6..659801a 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -22,10 +22,14 @@ RUN apt-get install -y nginx \ libxml2-dev \ libmagickwand-dev \ imagemagick \ - && pecl install imagick \ - && docker-php-ext-enable imagick + && pecl install imagick pcov \ + && docker-php-ext-enable imagick pcov #&& rm -rf /var/lib/apt/lists/* \ +# PCOV misst die Testabdeckung. Dauerhaft aktiv kostet es jede Anfrage Laufzeit, deshalb ist es hier +# ausgeschaltet und wird nur beim Testlauf zugeschaltet (composer test:coverage). +RUN echo "pcov.enabled=0" > /usr/local/etc/php/conf.d/zz-pcov.ini + RUN mkdir -p /run/nginx RUN docker-php-ext-install mysqli pdo pdo_mysql mbstring zip exif pcntl gd diff --git a/resources/views/emails/events/refund_accepted.blade.php b/resources/views/emails/events/refund_accepted.blade.php new file mode 100644 index 0000000..6b2804b --- /dev/null +++ b/resources/views/emails/events/refund_accepted.blade.php @@ -0,0 +1,44 @@ + + + +

Hallo {{$name}}!

+

+ vielen Dank – deine Angaben zur Rückerstattung für die Veranstaltung "{{$eventTitle}}" liegen + uns vor. +

+ + + + + + + + + + + + + + + + + + +
Betrag:{{$amount}}
Grund:{{$reason}}
Kontoinhaber*in:{{$accountOwner}}
IBAN:{{$accountIban}}
+ +@if ($hasDocument) +

+ Im Anhang findest du den Beleg über die Rückerstattung als PDF. +

+@endif + +

+ Die Überweisung veranlasst die Aktionsleitung. Stimmt etwas an den obenstehenden Angaben nicht, melde + dich bitte umgehend bei ihr. +

+ +

+ @include('emails.subparts.disclaimer') +

+ + diff --git a/resources/views/emails/events/refund_released.blade.php b/resources/views/emails/events/refund_released.blade.php new file mode 100644 index 0000000..7abcf04 --- /dev/null +++ b/resources/views/emails/events/refund_released.blade.php @@ -0,0 +1,51 @@ + + + +

Hallo {{$name}}!

+

+ du hast dich von der Veranstaltung "{{$eventTitle}}" abgemeldet. Die Aktionsleitung hat dir daraufhin + eine Rückerstattung deines Teilnahmebeitrags freigegeben. +

+ + + + + + + + + + + @if (!empty($reasonNote)) + + + + + @endif +
Betrag:{{$amount}}
Grund:{{$reason}}
Anmerkung:{{$reasonNote}}
+ +

+ Damit wir überweisen können, brauchen wir noch deine Bankverbindung. Bitte trage sie über den + folgenden Link ein: +

+ +

+ Bankverbindung eintragen +

+ +

+ Falls der Knopf nicht funktioniert, kopiere bitte diese Adresse in deinen Browser:
+ {{$link}} +

+ +

+ Solange uns deine Bankverbindung nicht vorliegt, können wir den Betrag nicht auszahlen. Der Betrag + selbst steht fest und lässt sich über den Link nicht ändern – wenn du dazu Fragen hast, wende + dich bitte an die Aktionsleitung. +

+ +

+ @include('emails.subparts.disclaimer') +

+ + diff --git a/routes/web.php b/routes/web.php index 51c968a..7650cfc 100644 --- a/routes/web.php +++ b/routes/web.php @@ -26,6 +26,8 @@ require __DIR__ . '/../app/Domains/Invoice/Routes/api.php'; require __DIR__ . '/../app/Domains/Event/Routes/web.php'; require __DIR__ . '/../app/Domains/Event/Routes/api.php'; require __DIR__ . '/../app/Domains/ParticipantInvoice/Routes/api.php'; +require __DIR__ . '/../app/Domains/ParticipantRefund/Routes/web.php'; +require __DIR__ . '/../app/Domains/ParticipantRefund/Routes/api.php'; require __DIR__ . '/../app/Domains/Budget/Routes/web.php'; require __DIR__ . '/../app/Domains/Budget/Routes/api.php'; require __DIR__ . '/../app/Domains/Legal/Routes/web.php'; @@ -54,6 +56,7 @@ Route::middleware(IdentifyTenant::class)->group(function () { Route::get('/retrieve-invoice-types', [GlobalDataProvider::class, 'getInvoiceTypes']); Route::get('/retrieve-invoice-types-all', [GlobalDataProvider::class, 'getAllInvoiceTypes']); Route::get('/retrieve-event-setting-data', [GlobalDataProvider::class, 'getEventSettingData']); + Route::get('/retrieve-refund-reasons', [GlobalDataProvider::class, 'getRefundReasons']); }); }); diff --git a/storage/temp/Eigenbeleg.pdf b/storage/temp/Eigenbeleg.pdf new file mode 100644 index 0000000000000000000000000000000000000000..aeb7e0169ae5bb25192d2f026be03b075c06249d GIT binary patch literal 165355 zcmafa1ymf%)-Do)4iMZkxXa+~?(Xgm!QEYhy9Rf6hakZv5-g)o# z>Y1)7=`G*4_f%ESkje{-(t_w%0i@eIld}Lg7DgZg(9X~jz|BoBZDDI-;9%ilVhjY) zO9MfyEKDpc^m0HJW_l4Ih=qfdft6nNy-E2`69Y2`y*N+{$O2*pf;bp-czFRPw#I+% z1pMCz0FI6MKQe?(jO>g}>Pj~MqXZeQ44D) z69;-xYXc{fe+{9R5Z2;m<6z)m5M^Q#WnpJxVq#|EU}hI(5ny9vU=d{lv2h6Satn(H zymw*~U;!}+g9Mlv*@Z+{S(uqw1lUE`-p4WV>d;Hr8k@Ljy&KL1`t!lm?%jrW1r_O~ zO>E7a%z+>Vwm<5){ADEz1HGc1ofD9S>8~zI@7@8jGtn!%+ndm|(zW1muy54`jXD((C#ztf~0WWNLmRYx;Fy z(%DdP2&F)WAHFqV#9xgo6h34;zzHv(g2$yt3K(CTeXXcs`TFeoMh%HNMH<>m#=w9A z^bg5-g+kT`OY=q(2Ee`h{NHl_?R`fl0|zHJ2NP2O90LH3lvG4c6ae=hL;!H?e?wg8 z-B^}?boM(8Z2xfx6TK3UiT!_>sIQM~ps$}k2u9+Nh$RnBj9kxP&kT$V=LbOwQ3Zk# zGtKIf*$tXWTSxI>XJPlJwqP@1VUbN5b|^K5*3NTk_tTZi9i(57q<)cpFhMp->*@m- z8|YiQ_=hnjgMYvRyWILj`VZ#)g~R{w)xg$_;`I$o7)%6=_Rl*dy^Mi_)gMUTx%H>` z&SWPCXOnkA$(T497#lbl0RLF8NH1?-W+H9iZs+VoFK27=FB<+;`OZa#e%#h% z2q5cUv;(sKr4o?!FNW#R3pv=?3);D9G0?sDdVjHSu+T9v0@;~CbR3L2^kNQn&h|j| ze=%0(J!lO6Kb_y>>|L4vF-g(H(azby$mHLVXXl_~Z(wBdCk&MsfNU&(RD1W7h?|p` zlGA(Ky*G&cY52>KKQZ}k+IyX{@_XH1=DZg{K=!|Ed2d#iGqf}@`qM+gh5^X>m!
wVJnmWFJRyHtnq*wY^g#Cf(Z+`xx;=i%~ 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�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 literal 0 HcmV?d00001 diff --git a/storage/temp/Erstattungsbeleg-Vorschau.pdf b/storage/temp/Erstattungsbeleg-Vorschau.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3472bdacdab413c2f1befe45e0b2bbb87ad49b51 GIT binary patch literal 189109 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 z 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�fC6PiR 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�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 qVl!fAXW=m7|Nn2H`yU424@a%ahy!{CP literal 0 HcmV?d00001 diff --git a/tests/Feature/DocumentTemplateAdminTest.php b/tests/Feature/DocumentTemplateAdminTest.php index 99fc1e4..ac3b485 100644 --- a/tests/Feature/DocumentTemplateAdminTest.php +++ b/tests/Feature/DocumentTemplateAdminTest.php @@ -212,4 +212,110 @@ class DocumentTemplateAdminTest extends TestCase $this->assertNull(DocumentAsset::where('name', 'altbestand')->first()); } + + /* + |-------------------------------------------------------------------------- + | Mehrere Dokumentarten + |-------------------------------------------------------------------------- + */ + + public function test_the_default_document_type_is_the_invoice(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + $this->getJson('/api/v1/admin/document-templates') + ->assertOk() + ->assertJsonPath('documentType', DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + ->assertJsonPath('documentTypes.0.value', DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + ->assertJsonPath('documentTypes.1.value', DocumentTemplate::TYPE_PARTICIPANT_REFUND); + } + + public function test_the_refund_type_returns_its_own_blocks_and_tokens(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => 'subject', + 'content' => 'Rückerstattung {document_number}', + 'sort_order' => 10, + ]); + + $response = $this->getJson('/api/v1/admin/document-templates?type=participant_refund'); + + $response->assertOk(); + $response->assertJsonPath('documentType', DocumentTemplate::TYPE_PARTICIPANT_REFUND); + $response->assertJsonCount(1, 'blocks'); + $response->assertJsonPath('blocks.0.block', 'subject'); + // Die Platzhalter sind die des Belegs, nicht die der Rechnung. + $response->assertJsonPath('tokenGroups.refund.tokens.refund_amount.description', 'Erstattungsbetrag'); + $response->assertJsonMissingPath('tokenGroups.body.tokens.positions_table'); + } + + public function test_saving_writes_only_into_the_selected_type(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => 'footer', + 'content' => 'Beleg-Fuß', + 'sort_order' => 20, + ]); + + $this->postJson('/api/v1/admin/document-templates', [ + 'type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'blocks' => ['footer' => 'neuer Beleg-Fuß'], + ])->assertOk()->assertJsonPath('status', 'success'); + + $this->assertSame('neuer Beleg-Fuß', DocumentTemplate::where('document_type', DocumentTemplate::TYPE_PARTICIPANT_REFUND) + ->where('block', 'footer')->first()->content); + + // Der gleichnamige Block der Rechnung bleibt unberührt. + $this->assertSame('alt', DocumentTemplate::where('document_type', DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + ->where('block', 'footer')->first()->content); + } + + public function test_an_unknown_document_type_is_refused(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + $this->getJson('/api/v1/admin/document-templates?type=erfunden')->assertStatus(422); + + $this->postJson('/api/v1/admin/document-templates', [ + 'type' => 'erfunden', + 'blocks' => ['footer' => 'egal'], + ])->assertStatus(422); + + $this->post('/api/v1/admin/document-templates/preview', [ + 'type' => 'erfunden', + 'blocks' => [], + ])->assertStatus(422); + + // Die Rechnungsvorlage darf davon nichts abbekommen haben. + $this->assertSame('alt', DocumentTemplate::where('document_type', DocumentTemplate::TYPE_PARTICIPANT_INVOICE) + ->where('block', 'footer')->first()->content); + } + + public function test_preview_renders_the_refund_with_its_sample_data(): void + { + $this->actingAs($this->makeUser(UserRole::USER_ROLE_ADMIN)); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => DocumentTemplate::BLOCK_LAYOUT, + 'content' => '

', + 'sort_order' => 10, + ]); + + $response = $this->post('/api/v1/admin/document-templates/preview', [ + 'type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'blocks' => [], + ]); + + $response->assertOk(); + $response->assertHeader('Content-Type', 'application/pdf'); + $this->assertStringStartsWith('%PDF', $response->getContent()); + } } + diff --git a/tests/Feature/ParticipantRefundTest.php b/tests/Feature/ParticipantRefundTest.php new file mode 100644 index 0000000..819dabe --- /dev/null +++ b/tests/Feature/ParticipantRefundTest.php @@ -0,0 +1,797 @@ +tenant = Tenant::create([ + 'slug' => 'wm', + 'name' => 'Wilde Möhre', + 'address_1' => 'Musterweg 1', + 'email' => 't@example.com', + 'email_finance' => 'finance@example.com', + // Muss dem Host der Testanfragen entsprechen, sonst weist IdentifyTenant sie mit 404 ab. + 'url' => parse_url(config('app.url'), PHP_URL_HOST), + 'account_name' => 'Test e.V.', + 'account_iban' => 'DE00', + 'account_bic' => 'XY', + 'city' => 'Stadt', + 'postcode' => '00000', + 'invoice_prefix' => 'WM', + 'is_active_local_group' => true, + 'has_active_instance' => true, + ]); + + app()->instance('tenant', $this->tenant); + + DB::table('participation_types')->insert(['slug' => 'participant', 'name' => 'Teilnehmer']); + DB::table('participation_fee_types')->insert(['slug' => 'fixed', 'name' => 'Fix']); + PaymentMethod::create(['slug' => PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION]); + PaymentMethod::create(['slug' => PaymentMethod::PAYMENT_NOT_DEFINED]); + EfzStatus::create(['slug' => EfzStatus::EFZ_STATUS_NOT_REQUIRED, 'name' => 'Nicht erforderlich']); + + foreach ([UserRole::USER_ROLE_ADMIN, UserRole::USER_ROLE_GROUP_LEADER, UserRole::USER_ROLE_USER] as $role) { + UserRole::create(["slug" => $role, "name" => $role]); + } + + $this->seedTemplate(); + + Mail::fake(); + } + + /** Minimale Vorlage: alles, was der Beleg braucht, in wenigen Blöcken. */ + private function seedTemplate(): void + { + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => DocumentTemplate::BLOCK_LAYOUT, + 'content' => '
{block:subject}{block:body}
', + 'sort_order' => 10, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => DocumentTemplate::BLOCK_STYLE, + 'content' => 'body { font-size: 10pt; }', + 'sort_order' => 20, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => 'subject', + 'content' => '

Rückerstattung {document_number}

{document_date} / {event_name}

', + 'sort_order' => 30, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => DocumentTemplate::BLOCK_BODY, + 'content' => '
{recipient_name}
{details_table}', + 'sort_order' => 40, + ]); + } + + private function makeEvent(array $attributes = []): Event + { + $fee = EventParticipationFee::create([ + 'tenant' => $this->tenant->slug, + 'type' => 'participant', + 'name' => 'Sippe', + 'description' => null, + 'amount_standard' => 60.0, + 'amount_reduced' => null, + 'amount_solidarity' => null, + ]); + + return Event::create(array_merge([ + 'tenant' => $this->tenant->slug, + 'name' => 'Sommerlager', + 'identifier' => 'evt-' . uniqid(), + 'location' => 'Ort', + 'postal_code' => '00000', + 'email' => 'e@example.com', + 'start_date' => '2026-07-16', + 'end_date' => '2026-07-20', + 'early_bird_end' => '2026-06-20', + 'registration_final_end' => '2026-07-01', + 'early_bird_end_amount_increase' => 0, + 'account_owner' => 'Owner', + 'account_iban' => 'DE00', + 'participation_fee_type' => 'fixed', + 'participation_fee_1' => $fee->id, + 'pay_per_day' => true, + 'pay_direct' => false, + 'tax_liable' => false, + 'vat_rate' => 0, + 'vat_pricing_mode' => 'inclusive', + 'invoice_key' => 'WM-V-20260701', + ], $attributes)); + } + + /** Standardfall dieser Tests: abgemeldet und vollständig bezahlt. */ + private function makeParticipant(Event $event, array $attributes = []): EventParticipant + { + $this->sequence++; + + return $event->participants()->create(array_merge([ + 'tenant' => $this->tenant->slug, + 'identifier' => 'p-' . uniqid(), + 'invoice_sequence' => $this->sequence, + 'firstname' => 'Mika', + 'lastname' => 'Muster', + 'participation_type' => 'participant', + 'fee_type' => 'standard', + 'sibling_reduction' => false, + 'local_group' => $this->tenant->slug, + 'birthday' => '2000-01-01', + 'address_1' => 'Beispielstraße 3', + 'postcode' => '11111', + 'city' => 'Beispielstadt', + 'email_1' => 'mika@example.com', + 'phone_1' => '0170 0000000', + 'arrival_date' => '2026-07-16', + 'departure_date' => '2026-07-20', + 'arrival_eating' => 1, + 'departure_eating' => 1, + 'amount' => 300.0, + 'amount_paid' => 300.0, + 'unregistered_at' => '2026-06-12', + 'payment_purpose' => 'Sommerlager', + 'payment_method' => PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION, + 'efz_status' => EfzStatus::EFZ_STATUS_NOT_REQUIRED, + ], $attributes)); + } + + private function release( + EventParticipant $participant, + float $amount = 300.0, + string $reason = RefundReason::SICKNESS, + ?string $note = null, + ) { + return new ReleaseRefundCommand(new ReleaseRefundRequest( + participant: $participant, + amount: new Amount($amount, 'Euro'), + reason: $reason, + reasonNote: $note, + ))->execute(); + } + + private function accept( + ?ParticipantRefund $refund, + string $owner = 'Mika Muster', + string $iban = 'DE02120300000000202051', + bool $declarationAccepted = true, + ) { + return new AcceptRefundCommand(new AcceptRefundRequest( + refund: $refund, + accountOwner: $owner, + accountIban: $iban, + declarationAccepted: $declarationAccepted, + ))->execute(); + } + + /* + |-------------------------------------------------------------------------- + | Freigabe + |-------------------------------------------------------------------------- + */ + + public function test_release_creates_a_pending_refund_with_a_token(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + + $response = $this->release($participant); + + $this->assertTrue($response->success); + $this->assertSame(ParticipantRefund::STATUS_PENDING, $response->refund->status); + $this->assertSame(32, strlen($response->refund->token)); + $this->assertEqualsWithDelta(300.0, $response->refund->amount->getAmount(), 0.001); + $this->assertNotNull($response->refund->released_at); + } + + public function test_release_notifies_participant_and_contact_person(): void + { + $participant = $this->makeParticipant($this->makeEvent(), ['email_2' => 'eltern@example.com']); + + $this->release($participant); + + Mail::assertSent(RefundReleasedMail::class, 2); + Mail::assertSent(RefundReleasedMail::class, fn ($mail) => $mail->hasTo('mika@example.com')); + Mail::assertSent(RefundReleasedMail::class, fn ($mail) => $mail->hasTo('eltern@example.com')); + } + + public function test_release_sends_only_one_mail_without_contact_person(): void + { + $this->release($this->makeParticipant($this->makeEvent())); + + Mail::assertSent(RefundReleasedMail::class, 1); + } + + public function test_release_is_rejected_for_a_registered_participant(): void + { + $participant = $this->makeParticipant($this->makeEvent(), ['unregistered_at' => null]); + + $response = $this->release($participant); + + $this->assertFalse($response->success); + $this->assertStringContainsString('abgemeldete', $response->message); + $this->assertSame(0, ParticipantRefund::count()); + } + + public function test_release_is_rejected_above_the_paid_amount(): void + { + $participant = $this->makeParticipant($this->makeEvent(), ['amount_paid' => 100.0]); + + $response = $this->release($participant, 150.0); + + $this->assertFalse($response->success); + $this->assertStringContainsString('nicht übersteigen', $response->message); + } + + public function test_release_accepts_a_partial_amount(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + + $response = $this->release($participant, 220.0); + + $this->assertTrue($response->success); + $this->assertEqualsWithDelta(220.0, $response->refund->amount->getAmount(), 0.001); + } + + public function test_release_is_rejected_without_an_amount(): void + { + $response = $this->release($this->makeParticipant($this->makeEvent()), 0.0); + + $this->assertFalse($response->success); + $this->assertStringContainsString('größer als 0', $response->message); + } + + public function test_release_is_rejected_for_an_unknown_reason(): void + { + $response = $this->release($this->makeParticipant($this->makeEvent()), 300.0, 'erfunden'); + + $this->assertFalse($response->success); + $this->assertStringContainsString('Erstattungsgrund', $response->message); + } + + public function test_free_text_reason_requires_a_note(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + + $response = $this->release($participant, 300.0, RefundReason::OTHER, ' '); + + $this->assertFalse($response->success); + $this->assertStringContainsString('Erläuterung', $response->message); + } + + public function test_note_is_only_stored_for_reasons_that_require_it(): void + { + $event = $this->makeEvent(); + + $withNote = $this->release($this->makeParticipant($event), 300.0, RefundReason::OTHER, 'Umzug'); + $this->assertSame('Umzug', $withNote->refund->reason_note); + + $ignored = $this->release($this->makeParticipant($event), 300.0, RefundReason::SICKNESS, 'wird verworfen'); + $this->assertNull($ignored->refund->reason_note); + } + + public function test_a_second_release_is_rejected_while_one_is_open(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + $this->release($participant); + + $response = $this->release($participant); + + $this->assertFalse($response->success); + $this->assertStringContainsString('läuft bereits', $response->message); + $this->assertSame(1, ParticipantRefund::count()); + } + + public function test_a_new_release_is_possible_after_a_cancellation(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + $first = $this->release($participant); + + new CancelRefundCommand(new CancelRefundRequest($first->refund))->execute(); + + $this->assertTrue($this->release($participant)->success); + $this->assertSame(2, ParticipantRefund::count()); + } + + /* + |-------------------------------------------------------------------------- + | Bestätigung durch den Teili + |-------------------------------------------------------------------------- + */ + + public function test_accept_stores_the_normalized_bank_details(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + $response = $this->accept($refund, 'Mika Muster', 'de02 1203 0000 0000 2020 51'); + + $this->assertTrue($response->success); + + $refund->refresh(); + $this->assertSame(ParticipantRefund::STATUS_ACCEPTED, $refund->status); + $this->assertSame('Mika Muster', $refund->account_owner); + $this->assertSame('DE02120300000000202051', $refund->account_iban); + $this->assertNotNull($refund->accepted_at); + } + + public function test_accept_sends_the_confirmation_with_the_document_attached(): void + { + $participant = $this->makeParticipant($this->makeEvent(), ['email_2' => 'eltern@example.com']); + $refund = $this->release($participant)->refund; + + $this->accept($refund); + + Mail::assertSent(RefundAcceptedMail::class, 2); + $expected = sprintf( + 'Rueckerstattung-WM-V-20260701-%s-R.pdf', + str_pad((string) $participant->invoice_sequence, 4, '0', STR_PAD_LEFT) + ); + + Mail::assertSent(RefundAcceptedMail::class, function (RefundAcceptedMail $mail) use ($expected): bool { + $attachments = $mail->attachments(); + + return count($attachments) === 1 && $attachments[0]->as === $expected; + }); + } + + public function test_accept_rejects_an_invalid_iban(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + // Gültige Struktur und Länge, aber falsche Prüfziffer -- ein klassischer Zahlendreher. + $response = $this->accept($refund, 'Mika Muster', 'DE02120300000000202015'); + + $this->assertFalse($response->success); + $this->assertArrayHasKey('accountIban', $response->errorTypes); + $this->assertSame(ParticipantRefund::STATUS_PENDING, $refund->fresh()->status); + } + + /* + |-------------------------------------------------------------------------- + | Die Erklärung + |-------------------------------------------------------------------------- + */ + + public function test_accept_is_rejected_without_the_declaration(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + $response = $this->accept($refund, declarationAccepted: false); + + $this->assertFalse($response->success); + $this->assertArrayHasKey('declaration', $response->errorTypes); + $this->assertSame(ParticipantRefund::STATUS_PENDING, $refund->fresh()->status); + $this->assertNull($refund->fresh()->account_iban); + } + + public function test_the_declaration_cannot_be_skipped_over_http(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + // Ohne die Prüfung im Command ließe sich die Erklärung mit einem direkten Aufruf übergehen -- + // und der Beleg schriebe dem Teili eine Zusicherung zu, die er nie abgegeben hat. + $this->postJson('/api/v1/participant-refund/' . $refund->token . '/accept', [ + 'accountOwner' => 'Mika Muster', + 'accountIban' => 'DE02 1203 0000 0000 2020 51', + ]) + ->assertOk() + ->assertJsonPath('status', 'error') + ->assertJsonStructure(['error_types' => ['declaration']]); + + $this->assertSame(ParticipantRefund::STATUS_PENDING, $refund->fresh()->status); + } + + public function test_the_public_page_serves_the_declaration_text_name(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + $this->get('/rueckerstattung/' . $refund->token) + ->assertOk() + ->assertInertia(fn ($page) => $page->where('state', 'open')); + + // Den Wortlaut holt die Seite über dieselbe Quelle, aus der ihn auch der Beleg nimmt. + $this->get('/api/v1/core/retrieve-text-resource/' . CreateRefundDocumentCommand::DECLARATION_TEXT) + ->assertOk() + ->assertSee('Ich versichere', false); + } + + public function test_accept_requires_an_account_owner(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + $response = $this->accept($refund, ' '); + + $this->assertFalse($response->success); + $this->assertArrayHasKey('accountOwner', $response->errorTypes); + } + + public function test_accept_on_an_unknown_token_reports_no_open_refund(): void + { + $response = $this->accept(null); + + $this->assertFalse($response->success); + $this->assertSame(AcceptRefundCommand::NO_OPEN_REFUND, $response->message); + } + + public function test_accept_on_a_cancelled_refund_reports_no_open_refund(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + new CancelRefundCommand(new CancelRefundRequest($refund))->execute(); + + $response = $this->accept($refund->fresh()); + + $this->assertFalse($response->success); + $this->assertSame(AcceptRefundCommand::NO_OPEN_REFUND, $response->message); + } + + public function test_accept_twice_does_not_change_the_stored_details(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + $this->accept($refund, 'Mika Muster', 'DE02120300000000202051'); + + $response = $this->accept($refund->fresh(), 'Wer Anders', 'DE02500105170137075030'); + + $this->assertFalse($response->success); + $this->assertSame('Mika Muster', $refund->fresh()->account_owner); + } + + /* + |-------------------------------------------------------------------------- + | Abbruch + |-------------------------------------------------------------------------- + */ + + public function test_cancel_marks_the_refund_and_hides_it_from_the_participant(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + $refund = $this->release($participant)->refund; + + $response = new CancelRefundCommand(new CancelRefundRequest($refund))->execute(); + + $this->assertTrue($response->success); + $this->assertSame(ParticipantRefund::STATUS_CANCELLED, $refund->fresh()->status); + $this->assertNotNull($refund->fresh()->cancelled_at); + + // Für die Anmeldung sieht es danach aus wie vor der Freigabe. + $repository = new ParticipantRefundRepository(); + $this->assertNull($repository->openFor($participant)); + $this->assertNull($repository->currentFor($participant)); + } + + public function test_cancel_sends_no_mail(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + Mail::fake(); + + new CancelRefundCommand(new CancelRefundRequest($refund))->execute(); + + Mail::assertNothingSent(); + } + + public function test_cancel_is_rejected_after_acceptance(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + $this->accept($refund); + + $response = new CancelRefundCommand(new CancelRefundRequest($refund->fresh()))->execute(); + + $this->assertFalse($response->success); + $this->assertStringContainsString('bereits bestätigt', $response->message); + $this->assertSame(ParticipantRefund::STATUS_ACCEPTED, $refund->fresh()->status); + } + + /* + |-------------------------------------------------------------------------- + | Der gezahlte Beitrag bleibt unangetastet + |-------------------------------------------------------------------------- + */ + + public function test_amount_paid_is_untouched_through_the_whole_process(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + + $refund = $this->release($participant)->refund; + $this->assertEqualsWithDelta(300.0, $participant->fresh()->amount_paid->getAmount(), 0.001); + + $this->accept($refund); + $this->assertEqualsWithDelta(300.0, $participant->fresh()->amount_paid->getAmount(), 0.001); + $this->assertEqualsWithDelta(300.0, $participant->fresh()->amount->getAmount(), 0.001); + } + + /* + |-------------------------------------------------------------------------- + | Über HTTP: Routen, Zugriffsschutz und die öffentliche Seite + |-------------------------------------------------------------------------- + */ + + private function makeAdmin(): User + { + return User::create([ + 'username' => 'al-' . uniqid() . '@example.com', + 'email' => 'al-' . uniqid() . '@example.com', + 'firstname' => 'Aktions', + 'lastname' => 'Leitung', + 'password' => bcrypt('secret'), + 'local_group' => $this->tenant->slug, + 'user_role_main' => UserRole::USER_ROLE_ADMIN, + 'user_role_local_group' => UserRole::USER_ROLE_USER, + 'active' => true, + ]); + } + + public function test_release_over_http_creates_the_refund(): void + { + $this->actingAs($this->makeAdmin()); + $participant = $this->makeParticipant($this->makeEvent()); + + $response = $this->postJson('/api/v1/participant-refund/' . $participant->identifier . '/release', [ + 'amount' => '220,50', + 'reason' => RefundReason::SICKNESS, + ]); + + $response->assertOk()->assertJsonPath('status', 'success'); + $response->assertJsonPath('refund.status', ParticipantRefund::STATUS_PENDING); + + $refund = ParticipantRefund::first(); + $this->assertEqualsWithDelta(220.5, $refund->amount->getAmount(), 0.001); + + // Die Antwort trägt den Vorgang für die Liste -- aber nicht den Token-Link als Bankdaten. + $response->assertJsonPath('refund.amountValue', 220.5); + } + + public function test_release_requires_a_login(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + + $this->post('/api/v1/participant-refund/' . $participant->identifier . '/release', [ + 'amount' => '300', + 'reason' => RefundReason::SICKNESS, + ])->assertRedirect('/login'); + + $this->assertSame(0, ParticipantRefund::count()); + } + + public function test_the_public_page_shows_the_open_refund(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + $response = $this->get('/rueckerstattung/' . $refund->token); + + $response->assertOk(); + $response->assertInertia(fn ($page) => $page + // shouldExist=false: die Pages liegen unter app/Domains/**/Views, nicht dort, wo der + // Finder von Inertia sucht. + ->component('ParticipantRefund/Views/RefundPage', false) + ->where('state', 'open') + ->where('amount', '300,00 Euro') + ->where('reason', 'Krankheitsbedingte Absage')); + } + + public function test_the_public_page_never_exposes_bank_details(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + $this->accept($refund); + + $response = $this->get('/rueckerstattung/' . $refund->fresh()->token); + + $response->assertOk(); + $response->assertInertia(fn ($page) => $page->where('state', 'accepted')); + $response->assertDontSee('DE02120300000000202051'); + } + + public function test_the_public_page_hides_a_cancelled_refund(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + new CancelRefundCommand(new CancelRefundRequest($refund))->execute(); + + $this->get('/rueckerstattung/' . $refund->token) + ->assertOk() + ->assertInertia(fn ($page) => $page->where('state', 'unavailable')); + } + + public function test_an_unknown_token_shows_the_same_page_as_a_cancelled_one(): void + { + $this->get('/rueckerstattung/' . str_repeat('x', 32)) + ->assertOk() + ->assertInertia(fn ($page) => $page + ->where('state', 'unavailable') + ->where('message', AcceptRefundCommand::NO_OPEN_REFUND)); + } + + public function test_accept_over_http_works_without_a_login(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + $this->postJson('/api/v1/participant-refund/' . $refund->token . '/accept', [ + 'accountOwner' => 'Mika Muster', + 'accountIban' => 'DE02 1203 0000 0000 2020 51', + 'declarationAccepted' => true, + ])->assertOk()->assertJsonPath('status', 'success'); + + $this->assertSame('DE02120300000000202051', $refund->fresh()->account_iban); + } + + public function test_field_errors_come_back_with_status_200(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + // Der HttpClient des Frontends verwirft Antworten mit Fehlerstatus -- Feldfehler müssen daher + // mit 200 zurückkommen, sonst sieht der Teili nie, was er falsch gemacht hat. + $this->postJson('/api/v1/participant-refund/' . $refund->token . '/accept', [ + 'accountOwner' => 'Mika Muster', + 'accountIban' => 'DE02120300000000202015', + 'declarationAccepted' => true, + ]) + ->assertOk() + ->assertJsonPath('status', 'error') + ->assertJsonStructure(['error_types' => ['accountIban']]); + } + + public function test_the_document_is_not_public(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + $this->accept($refund); + + $this->get('/api/v1/participant-refund/' . $refund->fresh()->token . '/document') + ->assertRedirect('/login'); + } + + public function test_the_document_can_be_downloaded_by_the_event_management(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + $this->accept($refund); + + $this->actingAs($this->makeAdmin()); + + $response = $this->get('/api/v1/participant-refund/' . $refund->fresh()->token . '/document'); + + $response->assertOk(); + $response->assertHeader('Content-Type', 'application/pdf'); + $this->assertStringStartsWith('%PDF', $response->getContent()); + } + + public function test_cancel_requires_a_login(): void + { + $refund = $this->release($this->makeParticipant($this->makeEvent()))->refund; + + $this->post('/api/v1/participant-refund/' . $refund->token . '/cancel') + ->assertRedirect('/login'); + + $this->assertSame(ParticipantRefund::STATUS_PENDING, $refund->fresh()->status); + } + + /* + |-------------------------------------------------------------------------- + | Die Mails müssen sich auch wirklich rendern lassen + |-------------------------------------------------------------------------- + */ + + public function test_the_release_mail_renders_with_the_link(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + $refund = $this->release($participant, 220.0, RefundReason::OTHER, 'Umzug')->refund; + + $html = new RefundReleasedMail($participant, $refund)->render(); + + $this->assertStringContainsString('220,00 Euro', $html); + $this->assertStringContainsString('Sonstiger Grund', $html); + $this->assertStringContainsString('Umzug', $html); + $this->assertStringContainsString('/rueckerstattung/' . $refund->token, $html); + // Der Baustein aus emails.subparts.disclaimer braucht eventTitle und eventEmail. + $this->assertStringContainsString('Sommerlager', $html); + $this->assertStringContainsString('e@example.com', $html); + } + + public function test_the_release_mail_omits_the_note_row_when_there_is_none(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + $refund = $this->release($participant)->refund; + + $html = new RefundReleasedMail($participant, $refund)->render(); + + $this->assertStringNotContainsString('Anmerkung:', $html); + } + + public function test_the_acceptance_mail_renders_with_the_bank_details(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + $refund = $this->release($participant)->refund; + $this->accept($refund); + + $html = new RefundAcceptedMail($participant, $refund->fresh(), 'PDF-Inhalt', 'beleg.pdf')->render(); + + $this->assertStringContainsString('300,00 Euro', $html); + $this->assertStringContainsString('Mika Muster', $html); + // Im Anschreiben steht die IBAN in Vierergruppen. + $this->assertStringContainsString('DE02 1203 0000 0000 2020 51', $html); + $this->assertStringContainsString('Anhang', $html); + } + + public function test_the_acceptance_mail_renders_without_a_document(): void + { + $participant = $this->makeParticipant($this->makeEvent()); + $refund = $this->release($participant)->refund; + $this->accept($refund); + + $mail = new RefundAcceptedMail($participant, $refund->fresh()); + + $this->assertSame([], $mail->attachments()); + $this->assertStringNotContainsString('Anhang', $mail->render()); + } + + /* + |-------------------------------------------------------------------------- + | Gründe als Auswahl fürs Frontend + |-------------------------------------------------------------------------- + */ + + public function test_reason_options_are_ordered_and_flag_the_free_text(): void + { + $options = RefundReason::options(); + + $this->assertSame( + ['sickness', 'event_cancelled', 'other'], + array_column($options, 'value') + ); + $this->assertSame('Krankheitsbedingte Absage', $options[0]['label']); + $this->assertFalse($options[0]['requiresNote']); + $this->assertTrue($options[2]['requiresNote']); + } + + public function test_reason_options_are_served_over_http(): void + { + $this->getJson('/api/v1/core/retrieve-refund-reasons') + ->assertOk() + ->assertJsonCount(3) + ->assertJsonPath('0.value', RefundReason::SICKNESS) + ->assertJsonPath('2.requiresNote', true); + } +} + + diff --git a/tests/Feature/RefundDocumentTest.php b/tests/Feature/RefundDocumentTest.php new file mode 100644 index 0000000..f399337 --- /dev/null +++ b/tests/Feature/RefundDocumentTest.php @@ -0,0 +1,434 @@ +tenant = Tenant::create([ + 'slug' => 'wm', + 'name' => 'Wilde Möhre', + 'invoice_sender_name' => 'Wilde Möhre e.V.', + 'address_1' => 'Musterweg 1', + 'email' => 't@example.com', + 'email_finance' => 'finance@example.com', + 'url' => parse_url(config('app.url'), PHP_URL_HOST), + 'account_name' => 'Test e.V.', + 'account_iban' => 'DE00', + 'account_bic' => 'XY', + 'city' => 'Lommatzsch', + 'postcode' => '01623', + 'invoice_prefix' => 'WM', + 'is_active_local_group' => true, + 'has_active_instance' => true, + ]); + + app()->instance('tenant', $this->tenant); + + DB::table('participation_types')->insert(['slug' => 'participant', 'name' => 'Teilnehmer']); + DB::table('participation_fee_types')->insert(['slug' => 'fixed', 'name' => 'Fix']); + PaymentMethod::create(['slug' => PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION]); + EfzStatus::create(['slug' => EfzStatus::EFZ_STATUS_NOT_REQUIRED, 'name' => 'Nicht erforderlich']); + + $this->seedTemplate(); + } + + /** Die Vorlage setzt hier jeden Platzhalter ein, damit die Tests am gerenderten HTML prüfen können. */ + private function seedTemplate(): void + { + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => DocumentTemplate::BLOCK_LAYOUT, + 'content' => '
{block:header_recipient}{block:subject}{block:body}
', + 'sort_order' => 10, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => 'header_recipient', + 'content' => '

{recipient_name} / {recipient_address_1} / {recipient_postcode} {recipient_city}

', + 'sort_order' => 35, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => DocumentTemplate::BLOCK_STYLE, + 'content' => 'body { font-size: 10pt; }', + 'sort_order' => 20, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => 'subject', + 'content' => '

Rückerstattung {document_number}

' + . '

{document_date} / {event_name} / {service_period} / {unregistered_at}

' + . '

{sender_name} / {recipient_name}

', + 'sort_order' => 30, + ]); + + DocumentTemplate::create([ + 'document_type' => DocumentTemplate::TYPE_PARTICIPANT_REFUND, + 'block' => DocumentTemplate::BLOCK_BODY, + 'content' => '{details_table}

{refund_amount} / {refund_reason} / {refund_reason_text}

' + . '

{account_owner} / {account_iban}

' + . '

{paid_amount} / {invoice_number}

' + . '

{declaration_text}

', + 'sort_order' => 40, + ]); + } + + private function makeEvent(array $attributes = []): Event + { + $fee = EventParticipationFee::create([ + 'tenant' => $this->tenant->slug, + 'type' => 'participant', + 'name' => 'Sippe', + 'description' => null, + 'amount_standard' => 60.0, + 'amount_reduced' => null, + 'amount_solidarity' => null, + ]); + + return Event::create(array_merge([ + 'tenant' => $this->tenant->slug, + 'name' => 'Sommerlager', + 'identifier' => 'evt-' . uniqid(), + 'location' => 'Ort', + 'postal_code' => '00000', + 'email' => 'e@example.com', + 'start_date' => '2026-07-16', + 'end_date' => '2026-07-20', + 'early_bird_end' => '2026-06-20', + 'registration_final_end' => '2026-07-01', + 'early_bird_end_amount_increase' => 0, + 'account_owner' => 'Owner', + 'account_iban' => 'DE00', + 'participation_fee_type' => 'fixed', + 'participation_fee_1' => $fee->id, + 'pay_per_day' => true, + 'pay_direct' => false, + 'tax_liable' => false, + 'vat_rate' => 0, + 'vat_pricing_mode' => 'inclusive', + 'invoice_key' => 'WM-V-20260701', + ], $attributes)); + } + + private function makeParticipant(Event $event, array $attributes = []): EventParticipant + { + return $event->participants()->create(array_merge([ + 'tenant' => $this->tenant->slug, + 'identifier' => 'p-' . uniqid(), + 'invoice_sequence' => 5, + 'firstname' => 'Mika', + 'lastname' => 'Muster', + 'participation_type' => 'participant', + 'fee_type' => 'standard', + 'sibling_reduction' => false, + 'local_group' => $this->tenant->slug, + 'birthday' => '2000-01-01', + 'address_1' => 'Beispielstraße 3', + 'postcode' => '11111', + 'city' => 'Beispielstadt', + 'email_1' => 'mika@example.com', + 'phone_1' => '0170 0000000', + 'arrival_date' => '2026-07-16', + 'departure_date' => '2026-07-20', + 'arrival_eating' => 1, + 'departure_eating' => 1, + 'amount' => 300.0, + 'amount_paid' => 300.0, + 'unregistered_at' => '2026-06-12', + 'payment_purpose' => 'Sommerlager', + 'payment_method' => PaymentMethod::PAYMENT_ACCOUNT_TRANSACTION, + 'efz_status' => EfzStatus::EFZ_STATUS_NOT_REQUIRED, + ], $attributes)); + } + + /** Ein bestätigter Vorgang -- der Beleg entsteht erst dann. */ + private function makeRefund(array $attributes = [], array $eventAttributes = []): ParticipantRefund + { + $event = $this->makeEvent($eventAttributes); + $participant = $this->makeParticipant($event); + + return ParticipantRefund::create(array_merge([ + 'tenant' => $this->tenant->slug, + 'event_id' => $event->id, + 'event_participant_id' => $participant->id, + 'token' => str_repeat('a', 32), + 'status' => ParticipantRefund::STATUS_ACCEPTED, + 'amount' => 300.0, + 'reason' => RefundReason::SICKNESS, + 'account_owner' => 'Mika Muster', + 'account_iban' => 'DE02120300000000202051', + 'released_at' => '2026-06-14 10:00:00', + 'accepted_at' => '2026-06-18 09:30:00', + ], $attributes)); + } + + private function document(ParticipantRefund $refund) + { + return new CreateRefundDocumentCommand(new CreateRefundDocumentRequest($refund))->execute(); + } + + /** Das gerenderte HTML -- die Zwischenstufe vor dem PDF, an der sich der Inhalt prüfen lässt. */ + private function html(ParticipantRefund $refund): string + { + $command = new CreateRefundDocumentCommand(new CreateRefundDocumentRequest($refund)); + $number = new ReflectionMethod($command, 'documentNumber')->invoke($command); + $tokens = new ReflectionMethod($command, 'buildTokens')->invoke($command, $number); + + return new DocumentTemplateRenderProvider(DocumentTemplate::TYPE_PARTICIPANT_REFUND)->render($tokens); + } + + /* + |-------------------------------------------------------------------------- + | Nummer und PDF + |-------------------------------------------------------------------------- + */ + + public function test_document_number_extends_the_invoice_number(): void + { + $response = $this->document($this->makeRefund()); + + $this->assertTrue($response->success); + $this->assertSame('WM-V-20260701-0005-R', $response->documentNumber); + $this->assertSame('Rueckerstattung-WM-V-20260701-0005-R.pdf', $response->filename); + } + + public function test_a_pdf_is_produced(): void + { + $response = $this->document($this->makeRefund()); + + $this->assertStringStartsWith('%PDF', $response->pdfContent); + } + + public function test_no_document_without_an_invoice_key(): void + { + $response = $this->document($this->makeRefund(eventAttributes: ['invoice_key' => null])); + + $this->assertFalse($response->success); + $this->assertStringContainsString('Belegnummer', $response->message); + } + + public function test_no_document_before_the_participant_confirmed(): void + { + $response = $this->document($this->makeRefund([ + 'status' => ParticipantRefund::STATUS_PENDING, + 'account_owner' => null, + 'account_iban' => null, + 'accepted_at' => null, + ])); + + $this->assertFalse($response->success); + $this->assertStringContainsString('bestätigt', $response->message); + } + + /* + |-------------------------------------------------------------------------- + | Inhalt + |-------------------------------------------------------------------------- + */ + + public function test_document_shows_amount_reason_and_bank_details(): void + { + $html = $this->html($this->makeRefund()); + + $this->assertStringContainsString('300,00', $html); + $this->assertStringContainsString('Krankheitsbedingte Absage', $html); + $this->assertStringContainsString('Die Teilnahme konnte krankheitsbedingt nicht angetreten werden.', $html); + $this->assertStringContainsString('Mika Muster', $html); + // Im Beleg steht die IBAN in Vierergruppen. + $this->assertStringContainsString('DE02 1203 0000 0000 2020 51', $html); + } + + public function test_document_shows_event_period_and_cancellation_date(): void + { + $html = $this->html($this->makeRefund()); + + $this->assertStringContainsString('Sommerlager', $html); + $this->assertStringContainsString('16.07.2026 – 20.07.2026', $html); + $this->assertStringContainsString('12.06.2026', $html); + // Belegdatum ist der Tag der Bestätigung. + $this->assertStringContainsString('18.06.2026', $html); + } + + public function test_the_reason_is_a_row_in_the_table_not_a_block_below_it(): void + { + $refund = $this->makeRefund(); + + $command = new CreateRefundDocumentCommand(new CreateRefundDocumentRequest($refund)); + $details = new ReflectionMethod($command, 'renderDetails')->invoke($command); + + $this->assertStringContainsString( + 'Begründung' + . 'Die Teilnahme konnte krankheitsbedingt nicht angetreten werden.', + $details + ); + + // Der frühere Fließtext-Block unter der Tabelle ist verschwunden. + $this->assertStringNotContainsString('reason-note', $details); + $this->assertStringEndsWith('', $details); + } + + public function test_the_reason_row_is_dropped_when_there_is_no_text(): void + { + RefundReason::find(RefundReason::SICKNESS)->update(['document_text' => '']); + + $command = new CreateRefundDocumentCommand(new CreateRefundDocumentRequest($this->makeRefund())); + $details = new ReflectionMethod($command, 'renderDetails')->invoke($command); + + // Eine Beschriftung ohne Wert sieht auf einem Beleg nach Fehler aus. + $this->assertStringNotContainsString('Begründung', $details); + $this->assertStringContainsString('Krankheitsbedingte Absage', $details); + } + + public function test_the_table_lists_the_rows_in_reading_order(): void + { + $command = new CreateRefundDocumentCommand(new CreateRefundDocumentRequest($this->makeRefund())); + $details = new ReflectionMethod($command, 'renderDetails')->invoke($command); + + preg_match_all('/([^<]+)<\/td>/', $details, $matches); + + // Erst wer erklärt, dann worauf sich die Erstattung bezieht, dann warum, dann wohin das Geld geht. + $this->assertSame( + [ + 'Name', + 'Gezahlter Teilnahmebeitrag', + 'Rechnung', + 'Erstattungsbetrag', + 'Grund', + 'Begründung', + 'Kontoinhaber*in', + 'IBAN', + ], + $matches[1] + ); + } + + public function test_the_document_carries_no_contact_details(): void + { + // Für die Abrechnung genügen Name und Anschrift; E-Mail und Telefon gehören nicht auf einen + // Beleg, der durch die Buchhaltung und ins Archiv wandert. + $html = $this->html($this->makeRefund()); + + $this->assertStringNotContainsString('mika@example.com', $html); + $this->assertStringNotContainsString('0170 0000000', $html); + } + + public function test_document_shows_the_paid_amount_next_to_the_refund(): void + { + // Teilerstattung: 220 von 300 gezahlten Euro. + $html = $this->html($this->makeRefund(['amount' => 220.0])); + + $this->assertStringContainsString('300,00', $html); + $this->assertStringContainsString('220,00', $html); + // Die Nummer der Teilnahmerechnung, ohne das -R des Belegs. + $this->assertStringContainsString('WM-V-20260701-0005', $html); + } + + public function test_document_carries_the_declaration(): void + { + $html = $this->html($this->makeRefund()); + + $this->assertStringContainsString('Ich versichere, dass ich den genannten Betrag beglichen habe', $html); + } + + public function test_the_declaration_comes_from_the_page_text(): void + { + DB::table('page_texts') + ->where('name', CreateRefundDocumentCommand::DECLARATION_TEXT) + ->update(['content' => 'Eigener Wortlaut des Verbands.']); + + $this->assertStringContainsString('Eigener Wortlaut des Verbands.', $this->html($this->makeRefund())); + } + + public function test_the_declaration_falls_back_when_the_page_text_is_missing(): void + { + // Ohne Rückfallwert stünde hier ein Fatal Error auf null -- der Beleg muss trotzdem entstehen. + DB::table('page_texts')->where('name', CreateRefundDocumentCommand::DECLARATION_TEXT)->delete(); + + $this->assertStringContainsString('Ich versichere', $this->html($this->makeRefund())); + } + + public function test_free_text_reason_replaces_the_catalog_text(): void + { + $html = $this->html($this->makeRefund([ + 'reason' => RefundReason::OTHER, + 'reason_note' => 'Umzug in ein anderes Bundesland', + ])); + + $this->assertStringContainsString('Sonstiger Grund', $html); + $this->assertStringContainsString('Umzug in ein anderes Bundesland', $html); + $this->assertStringNotContainsString('krankheitsbedingt', $html); + } + + public function test_sender_is_read_live_from_the_tenant(): void + { + $refund = $this->makeRefund(); + + $this->tenant->update(['invoice_sender_name' => 'Neuer Name e.V.']); + + $this->assertStringContainsString('Neuer Name e.V.', $this->html($refund)); + } + + public function test_single_day_event_shows_one_date(): void + { + $html = $this->html($this->makeRefund(eventAttributes: [ + 'start_date' => '2026-07-16', + 'end_date' => '2026-07-16', + ])); + + $this->assertStringContainsString('16.07.2026', $html); + $this->assertStringNotContainsString('–', $html); + } + + /* + |-------------------------------------------------------------------------- + | Katalog und Werte müssen dieselben Namen kennen + |-------------------------------------------------------------------------- + */ + + public function test_token_catalog_matches_the_generated_values(): void + { + $command = new CreateRefundDocumentCommand(new CreateRefundDocumentRequest($this->makeRefund())); + $tokens = new ReflectionMethod($command, 'buildTokens')->invoke($command, 'WM-V-20260701-0005-R'); + + $catalog = ParticipantRefundTokens::names(); + sort($catalog); + + $generated = array_keys($tokens); + sort($generated); + + $this->assertSame($catalog, $generated); + } +} diff --git a/tests/Unit/IbanTest.php b/tests/Unit/IbanTest.php new file mode 100644 index 0000000..076f713 --- /dev/null +++ b/tests/Unit/IbanTest.php @@ -0,0 +1,59 @@ +assertSame('DE02120300000000202051', Iban::normalize('de02 1203 0000 0000 2020 51')); + $this->assertSame('DE02120300000000202051', Iban::normalize(" DE02\t1203000000002020 51 ")); + } + + public function test_formats_in_groups_of_four(): void + { + $this->assertSame('DE02 1203 0000 0000 2020 51', Iban::format('DE02120300000000202051')); + } + + public function test_accepts_valid_ibans(): void + { + // Offizielle Testnummern der Deutschen Bundesbank bzw. der jeweiligen Zentralbanken. + foreach ([ + 'DE02120300000000202051', + 'DE02500105170137075030', + 'AT026000000001349870', + 'CH0209000000100013997', + 'FR1420041010050500013M02606', + 'NL02ABNA0123456789', + ] as $iban) { + $this->assertTrue(Iban::isValid($iban), $iban . ' sollte gültig sein'); + } + } + + public function test_rejects_a_wrong_check_digit(): void + { + // Zahlendreher in den letzten beiden Stellen -- Struktur und Länge stimmen weiterhin. + $this->assertFalse(Iban::isValid('DE02120300000000202015')); + } + + public function test_rejects_wrong_length_for_the_country(): void + { + $this->assertFalse(Iban::isValid('DE0212030000000020205')); + $this->assertFalse(Iban::isValid('DE021203000000002020511')); + } + + public function test_rejects_malformed_input(): void + { + foreach (['', ' ', 'kein IBAN', '1202120300000000202051', 'DEAB120300000000202051'] as $iban) { + $this->assertFalse(Iban::isValid($iban), $iban . ' sollte ungültig sein'); + } + } + + public function test_validates_the_normalized_form(): void + { + $this->assertTrue(Iban::isValid('de02 1203 0000 0000 2020 51')); + } +} -- 2.54.0 From b01288b5e0117cd41d3986c50d673482a677b953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20G=C3=BCnrher?= Date: Thu, 3 Sep 2026 21:53:04 +0200 Subject: [PATCH 04/11] Small Improvements --- .../Event/Views/Partials/ParticipantsList.vue | 2 +- .../ParticipantRefund/Views/RefundPage.vue | 53 +++++++++++++------ 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/app/Domains/Event/Views/Partials/ParticipantsList.vue b/app/Domains/Event/Views/Partials/ParticipantsList.vue index ab84893..65d0199 100644 --- a/app/Domains/Event/Views/Partials/ParticipantsList.vue +++ b/app/Domains/Event/Views/Partials/ParticipantsList.vue @@ -512,7 +512,7 @@ function mailToGroup(groupKey) { | Beitrag erstatten diff --git a/app/Domains/ParticipantRefund/Views/RefundPage.vue b/app/Domains/ParticipantRefund/Views/RefundPage.vue index 3520f96..1f143f1 100644 --- a/app/Domains/ParticipantRefund/Views/RefundPage.vue +++ b/app/Domains/ParticipantRefund/Views/RefundPage.vue @@ -1,5 +1,5 @@