✨ feat(doc): Ajoute la page de documents et les AGs au sitemap. ♻️ refactor(.env): Met à jour l'URL de développement Ngrok. ✨ feat(SitemapSubscriber): Ajoute les URLs contact et doc au sitemap. ✨ feat(AgGenerator): Ajoute l'option de largeur à la signature PDF. ✨ feat(Ag/Main): Ajoute le champ de signature de l'adhésion à l'AG. ✨ feat(AgTypeEdit): Crée le formulaire d'édition du type d'AG. 🌐 i18n: Ajoute des traductions chinoises pour la page documents. ✨ feat(Mailer): Ajoute le contenu texte aux e-mails. ✨ feat(DocumentController): Ajoute le contrôleur de documents. ✨ feat(txt-mails): Ajoute les templates de mails en texte. ✨ feat(AdController): Ajoute le contrôleur d'adhésion. ✨ feat(Service/Pdf): Crée le service PDF pour l'adhésion à l'AG. ✨ feat(AdminController): Ajoute la gestion de l'AG à l'admin. 🌐 i18n: Ajoute les traductions françaises pour la page documents. ✨ feat(Members): Ajoute la relation avec la signature de l'AG. ```
112 lines
5.7 KiB
Twig
112 lines
5.7 KiB
Twig
{% extends 'mails/base.twig' %}
|
|
|
|
{% block subject %}
|
|
Convocation à l'Assemblée Générale {{ datas.main.type|default('Ordinaire ou Extraordinaire') }} du {{ datas.main.ag_date_at_dmy|default('Date non spécifiée') }}
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<mj-section background-color="#ffffff">
|
|
<mj-column width="100%">
|
|
{# 1. En-tête (Logo et Titre) #}
|
|
<mj-text font-size="20px" font-weight="bold" align="center" padding-bottom="0">
|
|
CONVOCATION À L'ASSEMBLÉE GÉNÉRALE
|
|
</mj-text>
|
|
<mj-text font-size="14px" color="#555555" align="center" padding-top="5px">
|
|
E-Cosplay Association
|
|
</mj-text>
|
|
<mj-divider border-color="#e0e0e0" border-width="1px" padding="10px 0"></mj-divider>
|
|
</mj-column>
|
|
</mj-section>
|
|
|
|
{# 2. Bloc Destinataire (Style Courrier) #}
|
|
<mj-section background-color="#ffffff" padding-top="10px">
|
|
<mj-column width="60%"></mj-column>
|
|
<mj-column width="40%" border="1px solid #e0e0e0" padding="10px">
|
|
<mj-text font-size="12px" line-height="16px" padding="0">
|
|
À l'attention de :<br>
|
|
<span style="font-weight: bold;">{{ datas.member.civ|default('') }} {{ datas.member.name|default('') }} {{ datas.member.surname|default('Cher Membre') }}</span><br>
|
|
{# Ajout de l'adresse pour une référence complète (bien que ce soit un email) #}
|
|
{{ datas.member.locate|default('') }}<br>
|
|
{{ datas.member.locateZipcode|default('') }} {{ datas.member.locateCity|default('') }}
|
|
</mj-text>
|
|
</mj-column>
|
|
</mj-section>
|
|
|
|
{# 3. Introduction et Contexte #}
|
|
<mj-section background-color="#ffffff" padding-top="20px">
|
|
<mj-column>
|
|
<mj-text font-size="14px" line-height="22px">
|
|
Cher(e) membre de l'Association E-Cosplay,
|
|
</mj-text>
|
|
<mj-text font-size="14px" line-height="22px" padding-top="10px">
|
|
Vous êtes cordialement convoqué(e) à l'Assemblée Générale ({{ datas.main.type|default('Type non défini') }}) de notre association.
|
|
</mj-text>
|
|
</mj-column>
|
|
</mj-section>
|
|
|
|
{# 4. Bloc des Détails de l'AG (Mise en évidence) #}
|
|
<mj-section background-color="#f7f7f7" border-radius="5px" padding="20px">
|
|
<mj-column width="100%">
|
|
<mj-text font-size="16px" font-weight="bold" color="#333333" align="center" padding-bottom="10px">
|
|
DÉTAILS DE L'ASSEMBLÉE
|
|
</mj-text>
|
|
<mj-table>
|
|
<tr>
|
|
<td style="width: 40%; font-weight: bold; padding: 5px 0; color: #555555;">Date :</td>
|
|
<td style="width: 60%; padding: 5px 0;">{{ datas.main.agDateAt|date('d/m/Y') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 40%; font-weight: bold; padding: 5px 0; color: #555555;">Heure de début :</td>
|
|
<td style="width: 60%; padding: 5px 0;">{{ datas.main.agDateAt|date('H:i') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 40%; font-weight: bold; padding: 5px 0; color: #555555;">Lieu :</td>
|
|
<td style="width: 60%; padding: 5px 0;">{{ datas.main.locate }}, {{ datas.main.locateZipCode }} {{ datas.main.locateCity }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="width: 40%; font-weight: bold; padding: 5px 0; color: #555555;">Nature de l'AG :</td>
|
|
<td style="width: 60%; padding: 5px 0;">{{ datas.main.type|default('Non spécifiée') }}</td>
|
|
</tr>
|
|
</mj-table>
|
|
</mj-column>
|
|
</mj-section>
|
|
|
|
{# 5. Avertissement sur les Droits de Vote (Nouveau bloc en rouge) #}
|
|
<mj-section background-color="#ffffff" padding-top="15px" padding-bottom="15px">
|
|
<mj-column>
|
|
<mj-text font-size="14px" font-weight="bold" color="#FF0000" align="center" padding="0">
|
|
ATTENTION : Seuls les membres à jour de leurs adhésions pourront voter.
|
|
</mj-text>
|
|
</mj-column>
|
|
</mj-section>
|
|
|
|
{# 6. Clôture et Signature #}
|
|
<mj-section background-color="#ffffff" padding-top="0">
|
|
<mj-column>
|
|
<mj-text font-size="14px" line-height="22px">
|
|
Nous vous rappelons que votre présence est essentielle pour la vie démocratique de l'association. En cas d'impossibilité, vous pouvez vous faire représenter par un autre membre de votre choix via procuration.
|
|
</mj-text>
|
|
<mj-text font-size="14px" line-height="22px" padding-top="10px">
|
|
Dans l'attente de vous accueillir, veuillez agréer, cher(e) membre, l'expression de nos salutations distinguées.
|
|
</mj-text>
|
|
</mj-column>
|
|
</mj-section>
|
|
|
|
<mj-section background-color="#ffffff" padding-top="20px">
|
|
<mj-column width="40%"></mj-column>
|
|
<mj-column width="60%">
|
|
<mj-text font-size="14px" align="right" padding="0">
|
|
Fait à {{ datas.main.locate_city|default('Lieu non défini') }}, le {{ datas.main.ag_date_at_dmy|default('Date non définie') }}
|
|
</mj-text>
|
|
<mj-spacer height="30px" />
|
|
<mj-text font-size="14px" align="right" padding="0">
|
|
Le {{ (datas.main.president.civ|default('M.') == 'Mme') ? 'Présidente' : 'Président' }} de l'Association,
|
|
</mj-text>
|
|
<mj-text font-size="14px" font-weight="bold" align="right" padding="0">
|
|
{{ datas.main.president.civ|default('M.') }} {{ datas.main.president.name|default('Nom') }} {{ datas.main.president.surname|default('Prénom') }}
|
|
</mj-text>
|
|
</mj-column>
|
|
</mj-section>
|
|
|
|
{% endblock %}
|