Loading config/merged/mail.config.php +33 −1 Changes for config/merged/mail.config.php: 33 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ use UnicaenMail\Controller\MailControllerFactory; use UnicaenMail\Provider\Privilege\MailPrivileges; use UnicaenMail\Service\Mail\MailService; use UnicaenMail\Service\Mail\MailServiceFactory; use UnicaenMail\View\Helper\MailsViewHelper; use UnicaenMail\View\Helper\MailViewHelper; use UnicaenPrivilege\Guard\PrivilegeController; use Zend\Router\Http\Literal; Loading Loading @@ -95,6 +96,16 @@ return array( ], 'may_terminate' => true, 'child_routes' => [ 'test' => [ 'type' => Literal::class, 'options' => [ 'route' => '/test', 'defaults' => [ 'controller' => MailController::class, 'action' => 'test', ], ], ], 'afficher' => [ 'type' => Segment::class, 'options' => [ Loading @@ -105,6 +116,26 @@ return array( ], ], ], 'reenvoi' => [ 'type' => Segment::class, 'options' => [ 'route' => '/reenvoi/:mail', 'defaults' => [ 'controller' => MailController::class, 'action' => 'reenvoi', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:mail', 'defaults' => [ 'controller' => MailController::class, 'action' => 'supprimer', ], ], ], ], ], ], Loading @@ -129,7 +160,8 @@ return array( ], 'view_helpers' => [ 'invokables' => [ 'mail' => MailViewHelper::class 'mail' => MailViewHelper::class, 'mails' => MailsViewHelper::class, ], ], ); src/UnicaenMail/Controller/MailController.php +2 −2 Changes for src/UnicaenMail/Controller/MailController.php: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -30,14 +30,14 @@ class MailController extends AbstractActionController { public function testAction() { return $this->redirect()->toRoute('mail/index', [], [], true); return $this->redirect()->toRoute('mail', [], [], true); } public function reenvoiAction() { $mail = $this->getMailService()->getRequestedMail($this); $this->getMailService()->reenvoi($mail); return $this->redirect()->toRoute('mail/index', [], [], true); return $this->redirect()->toRoute('mail', [], [], true); } public function supprimerAction() Loading src/UnicaenMail/Service/Mail/MailService.php +18 −2 Changes for src/UnicaenMail/Service/Mail/MailService.php: 18 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -94,7 +94,7 @@ class MailService { * @param string $ordre * @return array */ public function getMails(string $champ='dateEnvoi', string $ordre = 'ASC') : array public function getMails(string $champ='dateEnvoi', string $ordre = 'DESC') : array { $qb = $this->createQueryBuilder() ->orderBy('mail.' . $champ, $ordre); Loading @@ -102,7 +102,7 @@ class MailService { return $result; } public function getMailsByEntity(string $entityClass, string $entityId, string $champ='dateEnvoi', string $ordre = 'ASC') : array public function getMailsByEntity(string $entityClass, string $entityId, string $champ='dateEnvoi', string $ordre = 'DESC') : array { $qb = $this->createQueryBuilder() ->andWhere('mail.entityClass = :entityClass') Loading Loading @@ -154,6 +154,7 @@ class MailService { /** TODO rependre depuis les parametre ou la config ... (parametre dans l'ancien temps) */ $email = 'ne-pas-repondre@unicaen.fr'; $name = 'Application'; $message->setFrom($email, $name); if (!is_array($to)) $to = [$to]; if ($this->doNotSend) { Loading Loading @@ -220,4 +221,19 @@ class MailService { return $mail; } /** * @param Mail $mail */ public function reenvoi(Mail $mail) : Mail { //todo les pieces jointes $nMail = $this->sendMail($mail->getDestinataires(), $mail->getSujet(), $mail->getCorps()); $nMail->setEntityClass($mail->getEntityClass()); $nMail->setEntityId($mail->getEntityId()); $nMail->setTemplateCode($mail->getTemplateCode()); $this->update($nMail); return $mail; } } No newline at end of file src/UnicaenMail/View/Helper/MailsViewHelper.php 0 → 100644 +31 −0 Changes for src/UnicaenMail/View/Helper/MailsViewHelper.php: 31 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace UnicaenMail\View\Helper; use Application\View\Renderer\PhpRenderer; use UnicaenMail\Entity\Db\Mail; use Zend\View\Helper\AbstractHelper; use Zend\View\Helper\Partial; use Zend\View\Resolver\TemplatePathStack; /** * le tableau d'options peut recevoir un ensemble de booléen pour les droits afin de ne pas recalculer ou transmettre des valeurs différentes. * $options['droits']['afficher' => Boolean, 'reenvoyer' => Boolean, 'supprimer' => Boolean] */ class MailsViewHelper extends AbstractHelper { /** * @param Mail[] $mails * @param array $options * @return string|Partial */ public function __invoke(array $mails, array $options = []) { /** @var PhpRenderer $view */ $view = $this->getView(); $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]])); return $view->partial('mails', ['mails' => $mails, 'options' => $options]); } } No newline at end of file src/UnicaenMail/View/Helper/partial/mail.phtml +2 −1 Changes for src/UnicaenMail/View/Helper/partial/mail.phtml: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -23,7 +23,8 @@ use UnicaenMail\Entity\Db\Mail; </dd> <dt> Date d'envoi </dt> <dd> <?php echo $mail->getDateEnvoi()->format('d/m/Y'); ?> <?php echo $mail->getDateEnvoi()->format('d/m/Y'); ?> <br/> <?php echo $mail->getDateEnvoi()->format('H:i'); ?> </dd> <dt> Destinataires </dt> <dd> Loading Loading
config/merged/mail.config.php +33 −1 Changes for config/merged/mail.config.php: 33 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ use UnicaenMail\Controller\MailControllerFactory; use UnicaenMail\Provider\Privilege\MailPrivileges; use UnicaenMail\Service\Mail\MailService; use UnicaenMail\Service\Mail\MailServiceFactory; use UnicaenMail\View\Helper\MailsViewHelper; use UnicaenMail\View\Helper\MailViewHelper; use UnicaenPrivilege\Guard\PrivilegeController; use Zend\Router\Http\Literal; Loading Loading @@ -95,6 +96,16 @@ return array( ], 'may_terminate' => true, 'child_routes' => [ 'test' => [ 'type' => Literal::class, 'options' => [ 'route' => '/test', 'defaults' => [ 'controller' => MailController::class, 'action' => 'test', ], ], ], 'afficher' => [ 'type' => Segment::class, 'options' => [ Loading @@ -105,6 +116,26 @@ return array( ], ], ], 'reenvoi' => [ 'type' => Segment::class, 'options' => [ 'route' => '/reenvoi/:mail', 'defaults' => [ 'controller' => MailController::class, 'action' => 'reenvoi', ], ], ], 'supprimer' => [ 'type' => Segment::class, 'options' => [ 'route' => '/supprimer/:mail', 'defaults' => [ 'controller' => MailController::class, 'action' => 'supprimer', ], ], ], ], ], ], Loading @@ -129,7 +160,8 @@ return array( ], 'view_helpers' => [ 'invokables' => [ 'mail' => MailViewHelper::class 'mail' => MailViewHelper::class, 'mails' => MailsViewHelper::class, ], ], );
src/UnicaenMail/Controller/MailController.php +2 −2 Changes for src/UnicaenMail/Controller/MailController.php: 2 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -30,14 +30,14 @@ class MailController extends AbstractActionController { public function testAction() { return $this->redirect()->toRoute('mail/index', [], [], true); return $this->redirect()->toRoute('mail', [], [], true); } public function reenvoiAction() { $mail = $this->getMailService()->getRequestedMail($this); $this->getMailService()->reenvoi($mail); return $this->redirect()->toRoute('mail/index', [], [], true); return $this->redirect()->toRoute('mail', [], [], true); } public function supprimerAction() Loading
src/UnicaenMail/Service/Mail/MailService.php +18 −2 Changes for src/UnicaenMail/Service/Mail/MailService.php: 18 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -94,7 +94,7 @@ class MailService { * @param string $ordre * @return array */ public function getMails(string $champ='dateEnvoi', string $ordre = 'ASC') : array public function getMails(string $champ='dateEnvoi', string $ordre = 'DESC') : array { $qb = $this->createQueryBuilder() ->orderBy('mail.' . $champ, $ordre); Loading @@ -102,7 +102,7 @@ class MailService { return $result; } public function getMailsByEntity(string $entityClass, string $entityId, string $champ='dateEnvoi', string $ordre = 'ASC') : array public function getMailsByEntity(string $entityClass, string $entityId, string $champ='dateEnvoi', string $ordre = 'DESC') : array { $qb = $this->createQueryBuilder() ->andWhere('mail.entityClass = :entityClass') Loading Loading @@ -154,6 +154,7 @@ class MailService { /** TODO rependre depuis les parametre ou la config ... (parametre dans l'ancien temps) */ $email = 'ne-pas-repondre@unicaen.fr'; $name = 'Application'; $message->setFrom($email, $name); if (!is_array($to)) $to = [$to]; if ($this->doNotSend) { Loading Loading @@ -220,4 +221,19 @@ class MailService { return $mail; } /** * @param Mail $mail */ public function reenvoi(Mail $mail) : Mail { //todo les pieces jointes $nMail = $this->sendMail($mail->getDestinataires(), $mail->getSujet(), $mail->getCorps()); $nMail->setEntityClass($mail->getEntityClass()); $nMail->setEntityId($mail->getEntityId()); $nMail->setTemplateCode($mail->getTemplateCode()); $this->update($nMail); return $mail; } } No newline at end of file
src/UnicaenMail/View/Helper/MailsViewHelper.php 0 → 100644 +31 −0 Changes for src/UnicaenMail/View/Helper/MailsViewHelper.php: 31 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace UnicaenMail\View\Helper; use Application\View\Renderer\PhpRenderer; use UnicaenMail\Entity\Db\Mail; use Zend\View\Helper\AbstractHelper; use Zend\View\Helper\Partial; use Zend\View\Resolver\TemplatePathStack; /** * le tableau d'options peut recevoir un ensemble de booléen pour les droits afin de ne pas recalculer ou transmettre des valeurs différentes. * $options['droits']['afficher' => Boolean, 'reenvoyer' => Boolean, 'supprimer' => Boolean] */ class MailsViewHelper extends AbstractHelper { /** * @param Mail[] $mails * @param array $options * @return string|Partial */ public function __invoke(array $mails, array $options = []) { /** @var PhpRenderer $view */ $view = $this->getView(); $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]])); return $view->partial('mails', ['mails' => $mails, 'options' => $options]); } } No newline at end of file
src/UnicaenMail/View/Helper/partial/mail.phtml +2 −1 Changes for src/UnicaenMail/View/Helper/partial/mail.phtml: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -23,7 +23,8 @@ use UnicaenMail\Entity\Db\Mail; </dd> <dt> Date d'envoi </dt> <dd> <?php echo $mail->getDateEnvoi()->format('d/m/Y'); ?> <?php echo $mail->getDateEnvoi()->format('d/m/Y'); ?> <br/> <?php echo $mail->getDateEnvoi()->format('H:i'); ?> </dd> <dt> Destinataires </dt> <dd> Loading