From c06e4686c2fb1ce1940b669ba659e64aef068de2 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr> Date: Tue, 4 Mar 2025 12:09:37 +0100 Subject: [PATCH] 7.2.2 --- CHANGELOG.md | 5 +++++ config/merged/mail.config.php | 11 ++++++++++ src/UnicaenMail/Controller/MailController.php | 10 +++++++++ .../Controller/MailControllerFactory.php | 4 +--- src/UnicaenMail/Service/Mail/MailService.php | 8 +++++-- .../Service/Mail/MailServiceFactory.php | 2 +- .../mail/afficher-configuration.phtml | 14 ++++++++++++ view/unicaen-mail/mail/index.phtml | 22 ++++++++++++++----- 8 files changed, 65 insertions(+), 11 deletions(-) create mode 100644 view/unicaen-mail/mail/afficher-configuration.phtml diff --git a/CHANGELOG.md b/CHANGELOG.md index c6c114e..7fe7886 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +7.2.2 +----- +- Correction du bug lié à la réexpédition d'un mail +- Ajout d'une action pour controler la configuration du module + 7.2.1 ----- - Bug Fixe pour les actions console diff --git a/config/merged/mail.config.php b/config/merged/mail.config.php index 5e8d829..bc17705 100644 --- a/config/merged/mail.config.php +++ b/config/merged/mail.config.php @@ -56,6 +56,7 @@ return array( [ 'controller' => MailController::class, 'action' => [ + 'afficher-configuration', 'supprimer', ], 'privileges' => [ @@ -122,6 +123,16 @@ return array( ], ], ], + 'afficher-configuration' => [ + 'type' => Literal::class, + 'options' => [ + 'route' => '/afficher-configuration', + 'defaults' => [ + /** @see MailController::afficherConfigurationAction() */ + 'action' => 'afficher-configuration', + ], + ], + ], ], ], ], diff --git a/src/UnicaenMail/Controller/MailController.php b/src/UnicaenMail/Controller/MailController.php index 5bcffa8..9812697 100644 --- a/src/UnicaenMail/Controller/MailController.php +++ b/src/UnicaenMail/Controller/MailController.php @@ -26,6 +26,16 @@ class MailController extends AbstractActionController } + public function afficherConfigurationAction(): ViewModel + { + $config = $this->getMailService()->getConfig(); + + return new ViewModel([ + 'title' => 'Configuration du module', + 'config' => $config, + ]); + } + public function afficherAction(): ViewModel { $mail = $this->getMailService()->getRequestedMail($this); diff --git a/src/UnicaenMail/Controller/MailControllerFactory.php b/src/UnicaenMail/Controller/MailControllerFactory.php index 5c06f16..412f539 100644 --- a/src/UnicaenMail/Controller/MailControllerFactory.php +++ b/src/UnicaenMail/Controller/MailControllerFactory.php @@ -2,8 +2,8 @@ namespace UnicaenMail\Controller; -use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; +use Psr\Container\ContainerInterface; use Psr\Container\NotFoundExceptionInterface; use UnicaenMail\Service\Mail\MailService; @@ -11,8 +11,6 @@ class MailControllerFactory { /** - * @param ContainerInterface $container - * @return MailController * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ diff --git a/src/UnicaenMail/Service/Mail/MailService.php b/src/UnicaenMail/Service/Mail/MailService.php index 8683fab..826f5c3 100644 --- a/src/UnicaenMail/Service/Mail/MailService.php +++ b/src/UnicaenMail/Service/Mail/MailService.php @@ -77,6 +77,10 @@ EOS; $this->config = $config; } + public function getConfig(): array + { + return $this->config; + } public function createMailEntity(): object { @@ -356,9 +360,9 @@ EOS; $precedenteDateEnvoi = $mail->getDateEnvoi(); $supplement = "<p><strong>Ce courrier électronique est une ré-expédition du courrier envoyé initialement le " . $precedenteDateEnvoi->format('d/m/Y à H:i') . "</strong></p>"; - //todo les pieces jointes - $nMail = $this->sendMail($mail->getDestinataires(), $mail->getSujet(), $mail->getCorps(), null, null, null, $supplement); + $nMail = $this->sendMail($mail->getDestinataires(), $mail->getSujet(), ($supplement. $mail->getCorps()), null, $mail->getAttachmentPaths(), $mail->getReplyTo()); $nMail->setMotsClefs(explode(Mail::MOTCLEF_SEPARATEUR, $mail->getMotsClefs())); + $nMail->setCorps($mail->getCorps()); $this->update($nMail); return $mail; diff --git a/src/UnicaenMail/Service/Mail/MailServiceFactory.php b/src/UnicaenMail/Service/Mail/MailServiceFactory.php index 8302803..510369a 100644 --- a/src/UnicaenMail/Service/Mail/MailServiceFactory.php +++ b/src/UnicaenMail/Service/Mail/MailServiceFactory.php @@ -3,8 +3,8 @@ namespace UnicaenMail\Service\Mail; use Doctrine\ORM\EntityManager; -use Interop\Container\ContainerInterface; use Psr\Container\ContainerExceptionInterface; +use Psr\Container\ContainerInterface; use Psr\Container\NotFoundExceptionInterface; use Symfony\Component\Mailer\Mailer; use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransport; diff --git a/view/unicaen-mail/mail/afficher-configuration.phtml b/view/unicaen-mail/mail/afficher-configuration.phtml new file mode 100644 index 0000000..f8d8e1f --- /dev/null +++ b/view/unicaen-mail/mail/afficher-configuration.phtml @@ -0,0 +1,14 @@ +<?php + +/** + * @see \UnicaenMail\Controller\MailController::afficherConfigurationAction() + * @var array $config + */ + +?> + + +<?php foreach ($config as $key => $value): ?> + <h2> <?php echo $key; ?> </h2> + <?php var_dump($value); ?> +<?php endforeach; ?> diff --git a/view/unicaen-mail/mail/index.phtml b/view/unicaen-mail/mail/index.phtml index 58241ed..79c1906 100644 --- a/view/unicaen-mail/mail/index.phtml +++ b/view/unicaen-mail/mail/index.phtml @@ -14,6 +14,7 @@ $this->headTitle($title); $canTest = $this->isAllowed(MailPrivileges::getResourceId(MailPrivileges::MAIL_AFFICHER)); +$canAfficherConfiguration = $this->isAllowed(MailPrivileges::getResourceId(MailPrivileges::MAIL_SUPPRIMER)); ?> @@ -23,11 +24,22 @@ $canTest = $this->isAllowed(MailPrivileges::getResourceId(MailPrivileges::MAIL_A <div class="row mb-3"> <div class="col-md-12"> - <a href="<?php echo $this->url('mail/test', [], [], true); ?>" - class="btn btn-primary action ajax-modal" data-event="modification"> - <span class="icon icon-notifier"></span> - Envoi d'un mail de test - </a> + <?php if ($canTest): ?> + <?php /** @see \UnicaenMail\Controller\MailController::testAction() */ ?> + <a href="<?php echo $this->url('mail/test', [], [], true); ?>" + class="btn btn-primary ajax-modal" data-event="modification"> + <span class="icon icon-notifier"></span> + Envoi d'un mail de test + </a> + <?php endif; ?> + <?php if ($canAfficherConfiguration) : ?> + <?php /** @see \UnicaenMail\Controller\MailController::afficherConfigurationAction() */ ?> + <a href="<?php echo $this->url('mail/afficher-configuration', [], [], true); ?>" + class="btn btn-secondary ajax-modal"> + <span class="icon icon-gerer"></span> + Vérification de la configuration + </a> + <?php endif; ?> </div> </div> -- GitLab