Les administrateurs ont besoin d'un moyen simple pour inviter les parents à rejoindre la plateforme. Cette fonctionnalité permet de générer des codes d'invitation uniques (8 caractères alphanumériques) avec une validité de 48h, de les envoyer par email, et de les activer via une page publique dédiée qui crée automatiquement le compte parent. L'interface d'administration offre l'envoi unitaire et en masse, le renvoi, le filtrage par statut, ainsi que la visualisation de l'état de chaque invitation (en attente, activée, expirée).
99 lines
2.8 KiB
Twig
99 lines
2.8 KiB
Twig
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Invitation Parent - Classeo</title>
|
|
<style>
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
line-height: 1.6;
|
|
color: #333;
|
|
max-width: 600px;
|
|
margin: 0 auto;
|
|
padding: 20px;
|
|
}
|
|
.header {
|
|
text-align: center;
|
|
padding: 20px 0;
|
|
border-bottom: 2px solid #4f46e5;
|
|
}
|
|
.header h1 {
|
|
color: #4f46e5;
|
|
margin: 0;
|
|
font-size: 28px;
|
|
}
|
|
.content {
|
|
padding: 30px 0;
|
|
}
|
|
.info-box {
|
|
background-color: #f3f4f6;
|
|
border-radius: 8px;
|
|
padding: 20px;
|
|
margin: 20px 0;
|
|
}
|
|
.info-box p {
|
|
margin: 5px 0;
|
|
}
|
|
.button {
|
|
display: inline-block;
|
|
background-color: #4f46e5;
|
|
color: white;
|
|
text-decoration: none;
|
|
padding: 12px 24px;
|
|
border-radius: 6px;
|
|
font-weight: 500;
|
|
}
|
|
.button:hover {
|
|
background-color: #4338ca;
|
|
}
|
|
.footer {
|
|
text-align: center;
|
|
padding: 20px 0;
|
|
border-top: 1px solid #e5e7eb;
|
|
color: #6b7280;
|
|
font-size: 14px;
|
|
}
|
|
.warning {
|
|
background-color: #fef3c7;
|
|
border-left: 4px solid #f59e0b;
|
|
padding: 12px 16px;
|
|
margin: 20px 0;
|
|
border-radius: 0 8px 8px 0;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="header">
|
|
<h1>Classeo</h1>
|
|
</div>
|
|
|
|
<div class="content">
|
|
<h2>Invitation à rejoindre Classeo</h2>
|
|
|
|
<p>Bonjour,</p>
|
|
|
|
<p>Vous êtes invité(e) à rejoindre Classeo en tant que <strong>parent</strong> de <strong>{{ studentName }}</strong>.</p>
|
|
|
|
<div class="info-box">
|
|
<p>Cliquez sur le bouton ci-dessous pour créer votre compte et accéder aux informations scolaires de votre enfant.</p>
|
|
</div>
|
|
|
|
<p style="text-align: center; margin: 30px 0;">
|
|
<a href="{{ activationUrl }}" class="button">Créer mon compte</a>
|
|
</p>
|
|
|
|
<div class="warning">
|
|
<p><strong>Ce lien expire dans 7 jours.</strong></p>
|
|
<p>Si vous ne pouvez pas cliquer sur le bouton, copiez ce lien dans votre navigateur :</p>
|
|
<p style="word-break: break-all; font-size: 12px;">{{ activationUrl }}</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="footer">
|
|
<p>Cet email a été envoyé automatiquement par Classeo.</p>
|
|
<p>Si vous n'attendiez pas cette invitation, vous pouvez ignorer cet email.</p>
|
|
</div>
|
|
</body>
|
|
</html>
|