feat: answer received form submissions by mail

This commit is contained in:
fromme committed 2026-09-24 16:35:31 +02:00
1 parent 19364df2db
commit aa728ddc99
22 files changed
+974 -9

No files matched your search

@@ -39,6 +39,9 @@
{{ _self.row('eingegangen am', submission.submittedAt|date('d.m.Y, H:i')) }}
{{ _self.row('Name', [submission.firstName, submission.lastName]|filter(part => part is not empty)|join(' ')) }}
{{ _self.row('Geburtsdatum', submission.birthDate) }}
{# Three states: the form said yes, said no, or never asked - and only the first one
earns the automatic receipt mail, so "-" is not the same as "nein" here. #}
{{ _self.row('EU (inkl. Schweiz)', submission.eu) }}
{{ _self.row('E-Mail', submission.email) }}
{{ _self.row('Telefon', submission.phone) }}
{{ _self.row('Mobil', submission.mobile) }}
@@ -59,6 +62,32 @@
{{ _self.row('1. Mail versendet', submission.firstMailSentAt ? submission.firstMailSentAt|date('d.m.Y, H:i') : null) }}
{{ _self.row('2. Mail versendet', submission.secondMailSentAt ? submission.secondMailSentAt|date('d.m.Y, H:i') : null) }}
</dl>
{% if submission.email %}
<div class="flex flex-wrap items-center gap-2 pt-4">
<button type="button"
class="btn btn--small btn--secondary"
hx-get="{{ path('app_admin_application_form_submission_send_receipt', { 'uuid': submission.uuid, 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
Eingangsbestätigung erneut senden
</button>
<button type="button"
class="btn btn--small"
hx-get="{{ path('app_admin_application_form_submission_send_follow_up', { 'uuid': submission.uuid, 'r': forwarded_return_url() }) }}"
hx-target="body"
hx-swap="beforeend">
{% if submission.secondMailSentAt %}
2. Mail erneut senden
{% else %}
2. Mail senden
{% endif %}
</button>
</div>
{% else %}
<div class="pt-4 text-sm">
Dieses Formular enthält keine E-Mail-Adresse - es kann keine Mail versendet werden.
</div>
{% endif %}
</div>
<div>
{{ form_start(callsForm) }}
@@ -0,0 +1,21 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block content %}
<div>
Zweite E-Mail an <em>{{ submission.email }}</em> versenden?
<div class="pt-2 text-sm">
{% if handout %}
Anhang: {{ handout.displayName ?: handout.originalFilename }}
{% else %}
{# The wording promises a handout, so its absence has to be visible before sending. #}
<strong>Kein Handout hinterlegt</strong> - die Mail geht ohne Anhang raus.
Ein Dokument erhält die Verwendung in der Dokumentenverwaltung.
{% endif %}
</div>
{% if submission.secondMailSentAt %}
<div class="pt-2 text-sm">
Zuletzt versendet am {{ submission.secondMailSentAt|date('d.m.Y, H:i') }} - das Datum wird überschrieben.
</div>
{% endif %}
</div>
{% endblock %}
@@ -0,0 +1,12 @@
{% extends 'htmx_confirmation_modal.html.twig' %}
{% block content %}
<div>
Eingangsbestätigung erneut an <em>{{ submission.email }}</em> versenden?
{% if submission.firstMailSentAt %}
<div class="pt-2 text-sm">
Zuletzt versendet am {{ submission.firstMailSentAt|date('d.m.Y, H:i') }} - das Datum wird überschrieben.
</div>
{% endif %}
</div>
{% endblock %}