🐛 fix(mailer): Corrige l'URL de suivi du mail pour production.
✨ feat(account): Ajoute la gestion de l'avatar de l'utilisateur.
✨ feat(account): Ajoute la gestion du premier mot de passe à la connexion.
🗑️ refactor: Supprime les tests unitaires obsolètes.
Ce commit ajoute la fonctionnalité de réinitialisation de mot de passe pour les utilisateurs. Il comprend les éléments suivants :
- Ajout d'un formulaire pour demander la réinitialisation du mot de passe.
- Ajout d'un formulaire pour confirmer la réinitialisation du mot de passe.
- Ajout d'un service pour gérer le processus de réinitialisation du mot de passe.
- Ajout d'un modèle d'e-mail pour envoyer un lien de réinitialisation du mot de passe.
- Mise à jour de la configuration de sécurité pour permettre l'accès aux routes de réinitialisation du mot de passe.
- Ajout d'une icône pour afficher ou masquer les mots de passe
Les changements spécifiques incluent :
- Création des formulaires `RequestPasswordConfirmType` et de son test unitaire `RequestPasswordConfirmTypeTest`.
- Création des templates `forgot-password-confirm.twig` et `mails/artemis/reset.twig`.
- Création des services `ResetPasswordPubscriber` et de l'event `ResetPasswordConfirmEvent`.
- Ajout de la migration pour la table `account_reset_password_request`.
- Modification de la configuration `security.yaml` pour la gestion des rôles.
- Ajout d'un script dans `app.js` pour afficher/masquer le mot de passe.
- Modification du template `login.twig` pour afficher les messages flash.
Ce commit introduit une nouvelle fonctionnalité permettant aux utilisateurs de demander l'accès à l'API publique via un formulaire. Il inclut également l'envoi d'e-mails de notification.
Les changements suivants ont été effectués :
- Ajout du template `templates/api/quote.twig` pour le formulaire de demande d'accès à l'API.
- Ajout des templates `templates/mails/api/quote.twig` et `templates/mails/api/quote-team.twig` pour les e-mails de notification (client et équipe).
- Modification du contrôleur `src/Controller/Api/Public/RootController.php` pour gérer l'affichage du formulaire et le traitement de la soumission, y compris la validation CSRF et l'envoi d'e-mails.
Ce commit ajoute la prise en charge de la documentation API en utilisant NelmioApiDocBundle.
Les modifications suivantes ont été apportées :
- Installation de NelmioApiDocBundle via Composer.
- Ajout des configurations nécessaires pour NelmioApiDocBundle.
- Création d'un contrôleur API public de base avec des annotations OpenAPI.
- Mise à jour de la configuration des routes pour inclure la documentation Swagger UI.
- Ajout de styles SCSS personnalisés pour améliorer l'apparence de Swagger UI.
- Mise à jour du fichier sitemap pour inclure les routes de documentation API.
- Configuration de symfony.lock pour la version de nelmio.
Ce commit introduit la fonctionnalité de réinitialisation du mot de passe pour les utilisateurs.
Les modifications apportées sont les suivantes :
- Ajout de l'entité `AccountResetPasswordRequest` pour gérer les requêtes de réinitialisation de mot de passe.
- Ajout du repository `AccountResetPasswordRequestRepository` pour interagir avec l'entité `AccountResetPasswordRequest`.
- Ajout du formulaire `RequestPasswordRequestType` pour permettre aux utilisateurs de demander une réinitialisation de mot de passe.
- Ajout de l'événement `ResetPasswordEvent` pour déclencher le processus de réinitialisation du mot de passe.
- Ajout de la route `/forgot-password` dans le `HomeController` pour gérer la demande de réinitialisation.
- Création des templates twig `admin/forgot-password.twig` et `admin/base.twig` et `form_tailwind.twig` pour la gestion de l'affichage du formulaire et de la base de l'interface admin.
- Modification des templates twig `admin/login.twig` pour ajouter un lien vers la page de réinitialisation de mot de passe.
- Mise à jour du fichier `assets/app.scss` pour inclure des styles CSS personnalisés.
- Ajout de tests unitaires pour l'entité, le repository et le formulaire.
- Ajout de la configuration twig pour prendre en charge les formulaires avec tailwind
- Ajout des règles d'exclusions sonar dans `sonar-project.properties`
Ce commit introduit une nouvelle fonctionnalité permettant de créer un compte administrateur via une commande console et d'envoyer un mot de passe temporaire par email.
Les changements incluent:
- Ajout d'une commande `AccountCommand` pour créer un compte administrateur.
- Création d'un service `TempPasswordGenerator` pour générer des mots de passe temporaires aléatoires.
- Ajout d'un événement `CreatedAdminEvent` pour déclencher l'envoi d'email après la création d'un administrateur.
- Modification du subscriber `MailerSubscriber` pour utiliser le nouveau template email et inclure le mot de passe temporaire.
- Création d'un nouveau template email `mails/artemis/new_admin.twig` pour l'envoi du mot de passe temporaire.
- Ajout de tests unitaires pour l'entité `Mail` et le repository `MailRepository`.
- Suppression de code commenté inutile dans `MailRepository`.
- Correction d'un bug dans `Mailer.php` pour passer les données au template twig.
- Mise à jour de la configuration `messenger.yaml` (suppression d'une ligne inutile).
Ce commit introduit un système de suivi des emails pour surveiller l'ouverture des emails et améliorer la gestion des envois.
Les changements incluent :
- Ajout de l'entité `Mail` pour stocker les informations de suivi des emails (destinataire, sujet, statut, etc.).
- Création du repository `MailRepository` pour la gestion des données de l'entité `Mail`.
- Implémentation d'un contrôleur `TrackingController` pour gérer les requêtes de suivi via un pixel de suivi.
- Modification du service `Mailer` pour générer un identifiant unique pour chaque email, enregistrer les informations de l'email et gérer le statut d'envoi.
- Ajout d'une commande `TestMailerCommand` pour faciliter les tests de l'envoi d'emails.
- Modification de la configuration de Messenger.
- Ajout d'une image de tracking dans le template de mail `base.twig`.
- Mise à jour de la configuration du mailer dans le fichier `.env`.
Ce commit ajoute une réponse simple "a" à la route `/artemis` du DashboardController. Cela permet de s'assurer que la route fonctionne correctement et renvoie une réponse.