diff --git a/data/parametres.php b/data/parametres.php index 018a3c98687c7bdd2be3f9dec76e1aafb1ec652c..e73fefdc053a49deb50c722d42d9aa98e15f139a 100644 --- a/data/parametres.php +++ b/data/parametres.php @@ -203,4 +203,10 @@ Cordialement, "VALEUR" => "Vous n'êtes pas autorisé(e) à vous connecter à OSE avec ce compte. Nous vous prions de vous rapprocher de votre composante pour en obtenir un valide.", "DESCRIPTION" => "Message informatif si l'utilisateur n'est pas intervenant et n'a aucune affectation", ], + + /* Indicateur */ + "indicateur_email_expediteur" => [ + "DESCRIPTION" => "Adresse email d'expéditeur des mails via les indicateur, si vide alors l'email de l'utilisateur sera utilisé", + ], + ]; \ No newline at end of file diff --git a/module/Application/src/Application/Controller/IndicateurController.php b/module/Application/src/Application/Controller/IndicateurController.php index 7f71e97f10f34a2a2b099113450da79490b1003a..eae0de749954bd40b3aa45ffcb92a035d98ce065 100755 --- a/module/Application/src/Application/Controller/IndicateurController.php +++ b/module/Application/src/Application/Controller/IndicateurController.php @@ -15,6 +15,7 @@ use Application\Service\Traits\IndicateurServiceAwareTrait; use Application\Service\Traits\IntervenantServiceAwareTrait; use Application\Service\Traits\NotificationIndicateurServiceAwareTrait; use Application\Filter\IntervenantEmailFormatter; +use Application\Service\Traits\ParametresServiceAwareTrait; use Application\Service\Traits\PeriodeServiceAwareTrait; use Application\Service\Traits\TypeVolumeHoraireServiceAwareTrait; use Zend\Form\Element\Checkbox; @@ -240,11 +241,10 @@ class IndicateurController extends AbstractController $post = $this->getRequest()->getPost(); if ($form->setData($post)->isValid()) { $mailer->send($emails, $post); - if($post['copy']) - { + if ($post['copy']) { //envoi une copie du mail à l'utilisateur si il l'a demandé - $utilisateur = $this->getServiceContext()->getUtilisateur(); - $emailUtilisateur[ $utilisateur->getEmail()] = $utilisateur->getDisplayName(); + $utilisateur = $this->getServiceContext()->getUtilisateur(); + $emailUtilisateur[$utilisateur->getEmail()] = $utilisateur->getDisplayName(); $mailer->sendCopyEmail($emailUtilisateur, $emails, $post); } $count = count($intervenants); @@ -364,6 +364,7 @@ class IndicateurController extends AbstractController class IndicateurIntervenantsMailer { use ContextServiceAwareTrait; + use ParametresServiceAwareTrait; /** * @var AbstractController @@ -406,18 +407,16 @@ class IndicateurIntervenantsMailer private function createMessage($data) { // corps au format HTML - $html = $data['body']; - if(!empty($data['emailsIntervenant'])) - { + $html = $data['body']; + if (!empty($data['emailsIntervenant'])) { $htmlLog = "<br/><br/>------------------------------------------------ <br/><br/>"; $htmlLog = "<p>Email envoyé au(x) destinataire(s) suivant(s) : <br/>"; - foreach($data['emailsIntervenant'] as $email => $name) - { + foreach ($data['emailsIntervenant'] as $email => $name) { $htmlLog .= $name . " / " . $email . "<br/>"; } $htmlLog .= "</p>"; - $html .= $htmlLog; + $html .= $htmlLog; } $part = new MimePart($html); $part->type = Mime::TYPE_HTML; @@ -437,7 +436,13 @@ class IndicateurIntervenantsMailer public function getFrom() { /** @var ContextService $context */ - $context = $this->controller->getServiceContext(); + $context = $this->controller->getServiceContext(); + $parametre = $this->getServiceParametres(); + + $from = trim($parametre->get('indicateur_email_expediteur')); + if (!empty($from)) { + return $from; + } $from = $context->getUtilisateur()->getEmail(); @@ -477,13 +482,14 @@ class IndicateurIntervenantsMailer return $html; } + + public function sendCopyEmail($emailsUtilisateur, $emailsIntervenant, $data, $logs = null) { $data['emailsIntervenant'] = $emailsIntervenant; - $message = $this->createMessage($data); + $message = $this->createMessage($data); $message->setSubject('COPIE | ' . $data['subject']); - foreach($emailsUtilisateur as $email => $name) - { + foreach ($emailsUtilisateur as $email => $name) { $message->setTo($email, $name); } $this->controller->mail()->send($message); diff --git a/module/Application/src/Application/Form/ParametresForm.php b/module/Application/src/Application/Form/ParametresForm.php index 6858c6c0d27b47927df31466cd8b540b5819c929..cd0a316a3f566b4688fcb5825eece37a1ca652fd 100755 --- a/module/Application/src/Application/Form/ParametresForm.php +++ b/module/Application/src/Application/Form/ParametresForm.php @@ -420,6 +420,14 @@ class ParametresForm extends AbstractForm ], ]); + $this->add([ + 'name' => 'indicateur_email_expediteur', + 'type' => 'Text', + 'options' => [ + 'label' => 'Email expéditeur', + ], + ]); + $this->add([ 'type' => 'Select', 'name' => 'contrat_regle_franchissement', diff --git a/module/Application/view/application/parametre/generaux.phtml b/module/Application/view/application/parametre/generaux.phtml index f6f712bd758f667f93a28f23cf3d82fa8ca882f6..5ab513780ca9e3adece7bc805737818b7ecf3818 100755 --- a/module/Application/view/application/parametre/generaux.phtml +++ b/module/Application/view/application/parametre/generaux.phtml @@ -91,6 +91,24 @@ </div> </div> + + <div class="panel panel-default"> + <div class="panel-heading"> + <h3 class="panel-title">Indicateur</h3> + </div> + <div class="panel-body"> + <div class="row"> + <div class="col-md-6"> + <?= $this->formControlGroup($form->get('indicateur_email_expediteur')); ?> + <div class="help-block"> + Si l'email expéditeur est vide alors l'email de l'utilisateur en cours sera utilisé. + </div> + </div> + + </div> + </div> + </div> + <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Gestion des contrats de travail</h3>