✨ feat(Customer): Ajoute relation avec FaultPayment pour suivi des impayés.
🐛 fix(CheckAvisPaymentStateCommand): Crée FaultPayment et relance si nécessaire.
🎨 style(customer.twig): Affiche si le client a des factures impayées.
`
🌐 i18n(messages.fr.yaml): Ajoute la traduction pour l'hébergement de site.
✨ feat(templates/price.twig): Ajoute les prix pour les offres d'hébergement.
✨ feat(AutoCreatedAvisPaymentCommand): Génère les avis de paiement pour l'hébergement.
♻️ refactor(PriceController): Gère la sauvegarde des prix d'hébergement.
📧 feat(avis-payment-wait.twig): Améliore le formatage du mail d'avis de paiement.
✨ feat(EsyWeb): Ajoute gestion des licences et clés DMA pour sites web
Ajoute la gestion des licences pour les sites web EsyWeb, incluant
la génération, le renouvellement et la validation. Intègre aussi
la création et l'utilisation de clés DMA.
```
✨ feat(Website): Ajoute une relation Website-Serveur.
✨ feat(form/website): Ajoute le choix du serveur au formulaire de création de site.
✨ feat(infra/website): Crée un endpoint API pour le déploiement des sites.
✨ feat(twig): Ajoute des filtres twig pour slugify et récupérer la clé API principale.
✨ feat(compute): Ajoute une relation OneToMany vers Website.
♻️ refactor(ApiSubscriber): Gère les préfixes d'API privés séparément.
```
✨ feat(Website): Crée une clé API et DNS principal lors de la création.
🔒 fix(ApiSubscriber): Valide le header EsyWebDns pour l'accès API.
✨ feat(ServerCard): Met à jour l'affichage des métriques serveur.
✨ feat(StatusController): Ajoute un endpoint pour vérifier l'état du site.
🐛 fix(CustomerController): Corrige une faute de frappe dans un flash message.
✨ feat(customer): Ajoute l'entité CustomerWallet et la vue porte-monnaie.
♻️ refactor(template): Renomme external.twig en wallet.twig.
✨ feat(website): Ajoute une option pour afficher les options du site.
🐛 fix(serverCard): Affiche correctement le statut en temps réel via MQTT.
🌐 i18n: Corrige une faute de frappe dans la traduction de "Newsletter".
```
✨ feat(src/Entity/CustomerAdvertPayment.php): Ajoute relation one-to-one avec AvisPaymentState
✨ feat(src/Controller): Crée ValidateAdvertController et template pour validation des avis
✨ feat(translations): Ajoute traduction pour renouvellement nom de domaine
✨ feat(templates): Ajoute lien vers validation des avis de paiement dans intranet
✨ feat(templates): Améliore formulaire prix avec champs dépot, renouvellement, rétablissement et gestion NDD
✨ feat(src/Command): Crée commande pour générer automatiquement les avis de paiement
✨ feat(src/Controller): Ajoute les custom price pour dépot, renouvellement, retablissement, gestion NDD
✨ feat(src/Repository): Ajoute une fonction pour recuperer les ndd expirant bientot
✨ feat(src/Controller): Affiche seulement les avis valider dans les factures client
✨ feat(src/Service): Ajoute fonction pour recuperer les ndd expirant bientot
```
Ajoute une fonctionnalité de partage de fichiers temporaires avec suppression automatique après 30 minutes et génération de QR codes. Ajoute aussi une tâche cron pour supprimer ces fichiers.
Ce commit implémente l'ajout et la visualisation des sites internet.
Il inclut la gestion de formulaires, l'enregistrement en base de données,
et l'affichage des détails.
⚙️ chore(vich_uploader.yaml): Ajoute la configuration pour l'upload des échéances.
✅ feat(CustomerSplit): Ajoute les champs pour gérer l'upload du fichier d'échéance.
✨ feat(esyweb): Ajoute un contrôleur et une page pour les sites web
🐛 fix(register): Corrige l'enregistrement des paiements partiels et complets
✨ feat(Payment): Gère les paiements complets et partiels via Stancer
✨ feat(BillingEvent): Ajoute des listeners pour les paiements complétés
Crée une page pour lister et gérer les tutoriels ESY-WEB dans Artemis.
Ajoute un formulaire pour créer de nouveaux tutoriels.
Gère l'upload de fichiers mp4 pour les tutoriels.
✨ feat(CustomerDnsEmail): Ajoute un champ 'isBilling' à l'entité.
♻️ refactor(.env): Ajoute la clé MAILCOW_KEY pour l'API Mailcow.
✨ feat(CustomerController): Synchronise les boîtes mail Mailcow avec CustomerDnsEmail.
🐛 fix(BackupCommand): Corrige un problème de suppression de fichier SQL.
✨ feat(CustomerDns.php): Ajoute la relation avec les emails du NDD.
✨ feat(email.twig): Crée le template pour afficher les emails du NDD.
✨ feat(CustomerController.php): Récupère les emails du NDD.
✨ feat(Customer): Ajoute la fonction de clonage d'entité Customer.
✨ feat(SignClient): Utilise Docuseal avec PDF pour la signature des devis.
✨ feat(AvatarController): Ajoute un endpoint pour le verrouillage de l'application.
✨ feat(IpWall): Ajoute un composant web pour bloquer l'accès basé sur l'IP.
🎨 style(admin.scss): Ajoute des styles pour le modal de paiement et les murs de sécurité.
✨ feat(RegisterPayment): Ajoute un composant pour enregistrer les paiements.
🐛 fix(DevisPdf): Corrige l'alignement des totaux dans le PDF du devis.
🔥 chore: Ajoute discord_bot/node_modules au .gitignore.
✨ feat(ExportComptable): Ajoute une commande pour exporter les données comptables.
✨ feat(LockdownWall): Ajoute un composant web pour le verrouillage de l'application.
🐛 fix(CustomerController): Corrige la copie des contacts lors du clonage du client.
✨ feat(SecurityWall): Ajoute un composant web pour activer/désactiver le filtre de confidentialité.
Ce commit supprime les fichiers obsolètes liés à la gestion des
newsletters. Ces fichiers ne sont plus utilisés et leur suppression
simplifie le code base. Les fichiers supprimés incluent des
contrôleurs, des templates Twig et des classes JavaScript.
✨ feat(newsletter): Ajoute l'éditeur de template d'email avec Preact
Crée un nouvel éditeur de template d'email en utilisant Preact et
react-email-editor, et l'intègre au contrôleur et aux vues.
```
✨ 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.
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.