104 lines
8.1 KiB
Twig
104 lines
8.1 KiB
Twig
|
|
{% extends 'email/base.html.twig' %}
|
||
|
|
|
||
|
|
{% block content %}
|
||
|
|
<table width="600" cellpadding="0" cellspacing="0" style="margin: 0 auto;">
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 32px;">
|
||
|
|
{% set greeting = customer.raisonSociale ? 'Chez ' ~ customer.raisonSociale : 'Bonjour ' ~ customer.firstName %}
|
||
|
|
<h1 style="font-family: Arial, Helvetica, sans-serif; font-size: 22px; font-weight: 700; color: #111827; margin: 0 0 16px;">{{ greeting }},</h1>
|
||
|
|
|
||
|
|
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: #374151; line-height: 22px; margin: 0 0 16px;">
|
||
|
|
Veuillez trouver ci-dessous l'attestation de situation de votre echeancier <strong>{{ echeancier.reference }}</strong>.
|
||
|
|
</p>
|
||
|
|
|
||
|
|
<table width="100%" cellpadding="0" cellspacing="0" style="margin: 20px 0; border: 1px solid #e5e7eb;">
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb; width: 35%;">Reference</td>
|
||
|
|
<td style="padding: 10px 16px; font-family: monospace; font-size: 13px; font-weight: 700;">{{ echeancier.reference }}</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Motif</td>
|
||
|
|
<td style="padding: 10px 16px; font-size: 13px;">{{ echeancier.description }}</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Statut</td>
|
||
|
|
<td style="padding: 10px 16px; font-size: 13px; font-weight: 700;">
|
||
|
|
{% if echeancier.state == 'completed' %}
|
||
|
|
<span style="color: #16a34a;">Termine</span>
|
||
|
|
{% elseif echeancier.state == 'active' %}
|
||
|
|
<span style="color: #2563eb;">Actif</span>
|
||
|
|
{% elseif echeancier.state == 'cancelled' %}
|
||
|
|
<span style="color: #dc2626;">Annule</span>
|
||
|
|
{% else %}
|
||
|
|
{{ echeancier.state }}
|
||
|
|
{% endif %}
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Creance initiale</td>
|
||
|
|
<td style="padding: 10px 16px; font-family: monospace; font-size: 13px;">{{ echeancier.totalAmountHt|number_format(2, ',', ' ') }} €</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Majoration (5%)</td>
|
||
|
|
<td style="padding: 10px 16px; font-family: monospace; font-size: 13px; color: #dc2626;">+ {{ echeancier.majoration|number_format(2, ',', ' ') }} €</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Total a payer</td>
|
||
|
|
<td style="padding: 10px 16px; font-family: monospace; font-size: 14px; font-weight: 700;">{{ echeancier.totalWithMajoration|number_format(2, ',', ' ') }} €</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Deja paye</td>
|
||
|
|
<td style="padding: 10px 16px; font-family: monospace; font-size: 14px; font-weight: 700; color: #16a34a;">{{ echeancier.totalPaid|number_format(2, ',', ' ') }} €</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Restant du</td>
|
||
|
|
<td style="padding: 10px 16px; font-family: monospace; font-size: 16px; font-weight: 700; color: {{ remaining > 0 ? '#dc2626' : '#16a34a' }};">{{ remaining|number_format(2, ',', ' ') }} €</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">Progression</td>
|
||
|
|
<td style="padding: 10px 16px; font-size: 13px; font-weight: 700;">{{ echeancier.nbPaid }}/{{ echeancier.nbLines }} echeances payees ({{ echeancier.progress }}%)</td>
|
||
|
|
</tr>
|
||
|
|
{% if echeancier.stripeSepaLast4 %}
|
||
|
|
<tr>
|
||
|
|
<td style="padding: 10px 16px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #9ca3af; background: #f9fafb;">RIB (IBAN)</td>
|
||
|
|
<td style="padding: 10px 16px; font-family: monospace; font-size: 13px;">**** **** **** {{ echeancier.stripeSepaLast4 }}{% if echeancier.stripeSepaCountry %} ({{ echeancier.stripeSepaCountry }}){% endif %}</td>
|
||
|
|
</tr>
|
||
|
|
{% endif %}
|
||
|
|
</table>
|
||
|
|
|
||
|
|
<h2 style="font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; color: #111827; margin: 20px 0 10px;">Detail des echeances :</h2>
|
||
|
|
|
||
|
|
<table width="100%" cellpadding="0" cellspacing="0" style="border: 1px solid #e5e7eb;">
|
||
|
|
<tr>
|
||
|
|
<th style="padding: 8px 12px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #fff; background: #111827; text-align: left;">N</th>
|
||
|
|
<th style="padding: 8px 12px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #fff; background: #111827; text-align: left;">Date</th>
|
||
|
|
<th style="padding: 8px 12px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #fff; background: #111827; text-align: right;">Montant</th>
|
||
|
|
<th style="padding: 8px 12px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #fff; background: #111827; text-align: center;">Statut</th>
|
||
|
|
</tr>
|
||
|
|
{% for line in echeancier.lines %}
|
||
|
|
<tr style="background: {{ loop.index is odd ? '#f9fafb' : '#fff' }};">
|
||
|
|
<td style="padding: 8px 12px; font-size: 12px;">{{ line.position }}</td>
|
||
|
|
<td style="padding: 8px 12px; font-size: 12px;">{{ line.scheduledAt|date('d/m/Y') }}</td>
|
||
|
|
<td style="padding: 8px 12px; font-size: 12px; font-weight: 700; text-align: right;">{{ line.amount|number_format(2, ',', ' ') }} €</td>
|
||
|
|
<td style="padding: 8px 12px; font-size: 12px; text-align: center;">
|
||
|
|
{% if line.isPaid %}
|
||
|
|
<span style="color: #16a34a; font-weight: 700;">Paye{{ line.paidAt ? ' le ' ~ line.paidAt|date('d/m/Y') : '' }}</span>
|
||
|
|
{% elseif line.isFailed %}
|
||
|
|
<span style="color: #dc2626; font-weight: 700;">Echoue</span>
|
||
|
|
{% else %}
|
||
|
|
<span style="color: #d97706;">En attente</span>
|
||
|
|
{% endif %}
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
{% endfor %}
|
||
|
|
</table>
|
||
|
|
|
||
|
|
<p style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; color: #9ca3af; margin: 20px 0 0;">
|
||
|
|
Attestation emise le {{ "now"|date('d/m/Y') }} par Association E-Cosplay.<br>
|
||
|
|
Pour toute question : <a href="mailto:contact@e-cosplay.fr" style="color: #fabf04;">contact@e-cosplay.fr</a>
|
||
|
|
</p>
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
</table>
|
||
|
|
{% endblock %}
|