feat: financial data check for teamers, improved enforced checks logic

addresses #869at5rtp
This commit is contained in:
Björn Fromme
2026-08-10 18:06:25 +02:00
parent fd5d478a5c
commit 388ecf9603
22 changed files with 1196 additions and 195 deletions
@@ -0,0 +1,40 @@
{% extends 'teamer/layout.html.twig' %}
{% block title %}Honorardaten{% endblock %}
{% block content %}
{{ form_start(form) }}
<div class="max-w-2xl">
<h1 class="text-2xl font-bold pb-2">
Bankverbindung und Steuer-ID
</h1>
<p class="pb-6">
Damit wir dein Honorar auszahlen können, benötigen wir einmalig deine Steuer-ID und deine
Bankverbindung. Bitte ergänze die folgenden Angaben:
</p>
{% if not form.vars.valid %}
{% embed '_partials/_alert.html.twig' with { 'type': 'warning' } %}
{% block message %}
{% include '_partials/_form_errors.html.twig' with { 'form': form } %}
{% endblock %}
{% endembed %}
{% endif %}
<div class="flex flex-col space-y-4 pb-6">
{{ form_row(form.taxId) }}
{{ form_row(form.iban) }}
{{ form_row(form.bic) }}
{{ form_row(form.bank) }}
{{ form_row(form.holder) }}
</div>
<button type="submit" class="btn">
Speichern
</button>
</div>
{{ form_rest(form) }}
{{ form_end(form) }}
{% endblock %}
@@ -0,0 +1,84 @@
{% extends 'teamer/layout.html.twig' %}
{% block title %}Datenbestätigung{% endblock %}
{% block content %}
{{ form_start(form) }}
<div class="max-w-2xl">
<h1 class="text-2xl font-bold pb-2">
Datenbestätigung
</h1>
<p class="pb-6">
Bitte prüfe, ob deine hinterlegten Daten noch aktuell sind, und bestätige sie.
</p>
{% if not form.vars.valid %}
{% embed '_partials/_alert.html.twig' with { 'type': 'warning' } %}
{% block message %}
{% include '_partials/_form_errors.html.twig' with { 'form': form } %}
{% endblock %}
{% endembed %}
{% endif %}
<div class="border border-gray-300 rounded-md p-4 mb-6">
<div class="flex flex-col space-y-3">
<div>
<div class="font-bold">Name</div>
<div>{{ teamer.fullName }}</div>
</div>
<div>
<div class="font-bold">Geburtsdatum</div>
<div>{{ teamer.dateOfBirth ? teamer.dateOfBirth|date('d.m.Y') : '-' }}</div>
</div>
<div>
<div class="font-bold">Anschrift</div>
<div>
{{ teamer.address.street|default('-') }}<br>
{{ teamer.address.postCode|default('') }} {{ teamer.address.city|default('') }}<br>
{{ teamer.address.country|default('') }}
</div>
</div>
<div>
<div class="font-bold">Kontakt</div>
<div>
{{ teamer.communication.email|default('-') }}<br>
{{ teamer.communication.mobile|default('-') }}
</div>
</div>
</div>
</div>
{% if errors|length %}
{% embed '_partials/_alert.html.twig' with { 'type': 'warning' } %}
{% block message %}
Einige Angaben in deinem Profil fehlen noch:
<ul class="list-disc list-inside pt-2">
{% for error in errors %}
<li>{{ error.message }}</li>
{% endfor %}
</ul>
<a href="{{ path('app_teamer_profile_index') }}" class="underline font-bold inline-block pt-2">
Im Profil ergänzen
</a>
{% endblock %}
{% endembed %}
{% endif %}
<p class="pb-4">
Stimmt etwas nicht?
<a href="{{ path('app_teamer_profile_index') }}" class="underline font-bold">Daten im Profil ändern</a>
</p>
<div class="pb-6">
{{ form_row(form.confirmed) }}
</div>
<button type="submit" class="btn">
Bestätigen
</button>
</div>
{{ form_rest(form) }}
{{ form_end(form) }}
{% endblock %}
+1 -10
View File
@@ -53,9 +53,6 @@
<h1 class="text-2xl font-bold pb-8">
Mein Profil
</h1>
{% if verification_mode %}
{% include '_partials/_alert.html.twig' with { 'message': 'Bitte überprüfe deine Daten und bestätige sie am Ende des Formulars.' } %}
{% endif %}
{% if not form.vars.valid %}
<div class="border border-red-500 rounded-md p-4 text-red-500 mb-8">
{% include '_partials/_form_errors.html.twig' with { 'form': form } %}
@@ -192,14 +189,8 @@
} %}
</div>
{% if verification_mode %}
<div class="pb-4">
{{ form_row(form.confirmDataVerification) }}
</div>
{% endif %}
<button type="submit" class="btn" {{ stimulus_target('form-upload-guard', 'submit') }}>
{{ verification_mode ? 'Daten bestätigen' : 'Aktualisieren' }}
Aktualisieren
</button>
</div>