Files
myep/templates/admin/travel_mailing/index.html.twig
T

102 lines
4.4 KiB
Twig

{% extends 'layout_admin.html.twig' %}
{% form_theme form 'forms_admin.html.twig' %}
{% block content %}
<twig:page:heading>Reise-Mailingliste</twig:page:heading>
{{ form_start(form) }}
<div class="flex flex-wrap items-end gap-4 pb-8">
<div class="w-64">
{{ form_row(form.travelCode) }}
</div>
<button type="submit"
class="button button--primary button--small">
abrufen
</button>
</div>
{{ form_rest(form) }}
{{ form_end(form) }}
{% if failed %}
{% include '_partials/_alert.html.twig' with {
level: 'warning',
messages: ['Die Teilnehmerliste konnte nicht von BusPro abgerufen werden. Bitte später erneut versuchen.'],
} %}
{% elseif result is not null %}
{% if result.data is empty %}
{% include '_partials/_alert.html.twig' with {
level: 'warning',
messages: ['Keine Empfänger für <code>%s</code> gefunden: Reisecode unbekannt oder keine bestätigten Teilnehmer.'|format(result.travelCode|e)],
} %}
{% else %}
<div class="pb-4">
<h2 class="text-lg font-semibold">
{{ travel_label|default('Reise nicht im lokalen Reisebestand') }}
</h2>
<p class="text-sm text-gray-700">
{{ result.data|length }} Empfänger für <code>{{ result.travelCode }}</code>
</p>
</div>
<div class="pb-6 text-sm">
{% if mailing_list is not null %}
<p>
Mailjet-Liste <code>{{ mailing_list.travelCode }}</code> (ID {{ mailing_list.mailjetListId }})
am {{ mailing_list.createdAt|date('d.m.Y, H:i') }} angelegt,
wird ab {{ mailing_list.deleteAfter|date('d.m.Y') }} automatisch gelöscht.
</p>
{% elseif travel_starts_at is null %}
<p class="text-gray-700">
Kein Reisebeginn bekannt, daher kann keine Mailjet-Liste angelegt werden.
</p>
{% else %}
<form method="post" action="{{ path('app_admin_travelmailing_createlist') }}">
<input type="hidden" name="travelCode" value="{{ result.travelCode }}">
<input type="hidden" name="_token" value="{{ csrf_token(constant('App\\Controller\\Admin\\TravelMailing\\CreateListController::CSRF_TOKEN_ID')) }}">
<button type="submit" class="button button--primary button--small">
Mailjet-Liste anlegen
</button>
<span class="pl-2 text-gray-700">
Alle Empfänger werden ohne Opt-in eingetragen; die Liste wird 30 Tage nach Reisebeginn
({{ travel_starts_at|date('d.m.Y') }}) gelöscht.
</span>
</form>
{% endif %}
</div>
<div class="data-table-wrapper">
<div class="data-table-wrapper__inner text-sm">
<table class="data-table">
<thead>
<tr>
<th>
Vorname
</th>
<th>
Nachname
</th>
<th>
E-Mail
</th>
</tr>
</thead>
<tbody>
{% for recipient in result.data %}
<tr>
<td>
{{ recipient.firstName }}
</td>
<td>
{{ recipient.lastName }}
</td>
<td>
<a href="mailto:{{ recipient.email }}">{{ recipient.email }}</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endif %}
{% endif %}
{% endblock %}