✨ feat(order/f.twig): Affiche les factures du client avec actions.
✨ feat(CustomerController): Gère l'affichage et l'envoi des factures.
🆕 feat(FacturePdf): Crée un service PDF pour les factures clients.
🆕 feat(ContactListType): Ajoute un formulaire pour créer une liste de contacts.
🆕 feat(ContactController): Gère les listes de contacts pour la newsletter.
✨ feat(base.twig): Ajoute un menu pour la gestion de la newsletter.
✨ feat(CustomerOrder): Ajoute les champs et annotations pour l'upload de facture.
🆕 feat(contact.twig): Affiche la liste des contacts.
🆕 feat(BillingEventSusbriber): Gère la génération de la facture PDF.
🆕 feat(TemplateController): Initialise le controller des templates de newsletter.
🆕 feat(CompaignController): Crée un controller pour les campagnes newsletter.
🎨 style(admin.scss): Ajoute le style css pour la card contact newsletter.
🆕 feat(add.twig): Ajoute le formulaire de création de liste de contact.
✨ feat(CustomerController): Permet la création des factures.
✨ feat(CreateFactureEvent): Crée un événement pour la création de facture.
✨ feat(CreateFactureEventSend): Crée un événement pour l'envoi de facture.
➕ feat(order-edit.twig): Ajoute le template pour modifier un devis.
♻️ refactor(order.twig): Affiche ou non le bouton modifier un devis.
✨ feat(CustomerController.php): Ajoute la modification d'un devis.
✨ feat(CreateDevisCustomerEventSend): Crée événement pour envoi devis.
♻️ refactor(BillingEventSusbriber): Gère l'envoi du devis au client.
🌐 i18n(translations): Ajoute les états 'send' et 'accepted'.
🎨 style(order.twig): Améliore l'affichage des états des devis.
✨ feat(VichUploader): Crée les classes DevisName et AvatarName pour VichUploader.
📝 chore(BillingEventSusbriber): Commente la génération directe du PDF pour le devis.
📝 chore(DevisPdf): Supprime la méthode generate() de la classe DevisPdf.
🐛 fix(CustomerController): Corrige la logique d'enregistrement et mise à jour des NDDs.
➕ feat(CustomerController): Ajoute la synchronisation des infos de NDD depuis OVH.
➕ feat(composer): Ajoute la librairie OVH et League OAuth2 client.
✏️ chore(.env): Ajoute les variables d'environnement OVH.
✨ feat(nnd.twig): Ajoute un bouton de synchronisation OVH pour les NDDs OVH.*
Renomme le controller Inranet en Intranet. Ajoute la gestion de la création de client avec formulaire et contact principal. Ajoute l'appel API auto customer.
✨ feat(VaultClient): Ajoute la clé pour le service client mainframe.
🎨 feat(customer.twig): Ajoute la vue pour la liste des clients.
🎨 feat(base.twig): Ajoute le lien vers la page client dans le menu intranet.
🐛 fix(Mailer): Supprime le dd() de débogage.
✨ feat(templates): Ajoute un template pour les erreurs de logger.
✨ feat(LoggerService): Ajoute un service de journalisation centralisé.
✨ feat(services): Ajoute un listener Doctrine pour le LoggerService.
✨ feat(security): Ajoute une page pour modifier le mot de passe admin.
✨ feat(Form): Ajoute un formulaire pour modifier le mot de passe admin.
✨ feat(VaultClient): Ajoute un client Vault pour le chiffrement.
✨ feat(HomeController): Ajoute une route de déconnexion.
✨ feat(artemis): Ajoute une page pour gérer les comptes administrateurs.
✨ feat(security): Ajoute un UserChecker pour vérifier l'état du compte.
✨ feat(Exception): Ajoute une exception pour les champs immuables du logger.
✨ feat(AccountLoginRegisterRepository): Ajoute une fonction pour récupérer la dernière connexion.
✨ feat(artemis): Ajoute une page pour lister les serveurs.
✨ feat(artemis): Ajoute une option dans le menu pour les administrateurs.
✨ feat(AccountRepository): Ajoute une fonction pour récupérer les comptes.
✨ feat(settings): Ajoute une page pour les logs d'un compte admin.
✨ feat(EventListener): Ajoute un listener pour la double authentification.
✨ feat(Account): Ajoute un champ pour activer ou désactiver un compte.
✨ feat(AdminFormType): Ajoute un formulaire pour modifier un compte admin.
✨ feat(settings): Ajoute une page globale pour modifier un compte admin.
✨ feat(VaultExtensions): Ajoute des extensions Twig pour Vault.
🐛 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 simplifie la configuration SonarQube en réduisant les sources analysées à seulement le répertoire `src`. Cela améliore potentiellement la vitesse d'analyse et réduit le bruit dans les résultats, en se concentrant sur le code source principal. Les répertoires `assets` et `templates` sont exclus de l'analyse source.
Ce commit corrige un problème d'affichage des mots de passe en ajoutant une icône de visibilité et en encapsulant le champ de mot de passe dans un conteneur. L'initialisation de `widgetViewPassword` a été supprimée car elle n'était pas utilisée. Le positionnement relatif a été ajouté au conteneur pour faciliter le positionnement de l'icône.
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 introduit un formulaire de citation simple dans l'API publique et améliore la cohérence du type de contenu.
Modifications:
* Ajout d'une constante `CONTENT_TYPE` dans `RootController` pour définir le type de contenu `text/html`.
* Mise à jour de la documentation OpenAPI pour utiliser la constante `CONTENT_TYPE`.
* Implémentation d'une réponse HTML basique dans la méthode `quote` de `RootController`.
* Exclusion du répertoire `src/Controller` du coverage dans `phpunit.dist.xml` (probablement pour éviter de tester les contrôleurs qui servent uniquement l'API).