Commit ee9e2499 authored by Laurent Lecluse's avatar Laurent Lecluse
Browse files

Correction de bugs :

- le mail perso ne doit être affiché qu'une fois
- il y avait des problèmes de décalage à l'affichage
- les entêtes de l'extraction CSV étaient mal définies
parent 06a5d27e
Loading
Loading
Loading
Loading
+57 −40
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ class IndicateurController extends AbstractController
    private $cliConfig;



    /**
     * PHP 5 allows developers to declare constructor methods for classes.
     * Classes which have a constructor method call this method on each newly-created object,
@@ -85,6 +86,7 @@ class IndicateurController extends AbstractController
    }



    /**
     * Liste des indicateurs.
     *
@@ -114,6 +116,7 @@ class IndicateurController extends AbstractController
    }



    public function calculAction()
    {
        /** @var TypeIndicateur $typeindicateur */
@@ -137,6 +140,7 @@ class IndicateurController extends AbstractController
    }



    public function resultAction()
    {
        /* @var $indicateur Indicateur */
@@ -147,6 +151,7 @@ class IndicateurController extends AbstractController
    }



    public function exportCsvAction()
    {
        /* @var $indicateur Indicateur */
@@ -182,6 +187,7 @@ class IndicateurController extends AbstractController
    }



    /**
     * Réponse aux requêtes AJAX d'abonnement de l'utilisateur connecté aux notifications concernant un indicateur.
     *
@@ -221,6 +227,7 @@ class IndicateurController extends AbstractController
    }



    /**
     * Indicateurs auxquels est abonné l'utilisateur (un Personnel) spécifié dans la requête.
     *
@@ -256,6 +263,7 @@ class IndicateurController extends AbstractController
    }



    public function envoiMailIntervenantsAction()
    {
        $indicateur = $this->getEvent()->getParam('indicateur');
@@ -277,10 +285,7 @@ class IndicateurController extends AbstractController
            if (!in_array($intervenantId, $intervenantsIds)) {
                continue;
            }
            $emailPerso = $indicRes['dossier-email-perso'] ?: $indicRes['intervenant-email-perso'];
            $emailPro = $indicRes['intervenant-email-pro'];

            $email = $emailPerso ?: $emailPro;
            $email = $indicRes['intervenant-email-perso'] ?: $indicRes['intervenant-email-pro'];
            if ($email) {
                $emails[$email] = $indicRes['intervenant-nom'] . ' ' . $indicRes['intervenant-prenom'];
                if ($email != $emailPro) {
@@ -326,7 +331,7 @@ class IndicateurController extends AbstractController
                    }
                }
                if ($post['copy']) {
                    //envoi une copie du mail à l'utilisateur si il l'a demandé
                    //envoi une copie du mail à l'utilisateur s'il l'a demandé
                    $utilisateur                                = $this->getServiceContext()->getUtilisateur();
                    $emailUtilisateur[$utilisateur->getEmail()] = $utilisateur->getDisplayName();
                    $mailer->sendCopyEmail($emailUtilisateur, $emailsList, $post);
@@ -355,6 +360,7 @@ class IndicateurController extends AbstractController
    }



    /**
     * Notifications par mail des personnes abonnées à des indicateurs.
     *
@@ -396,6 +402,7 @@ class IndicateurController extends AbstractController
    }



    public function depassementChargesAction()
    {
        /** @var Intervenant $intervenant */
@@ -444,6 +451,9 @@ class IndicateurController extends AbstractController
}





/**
 * Classe dédiée à l'envoi des mails aux intervenants retournés par un indicateur.
 */
@@ -468,6 +478,7 @@ class IndicateurIntervenantsMailer
    private $renderer;



    public function __construct(IndicateurController $controller, Indicateur $indicateur, PhpRenderer $renderer)
    {
        $this->controller = $controller;
@@ -476,6 +487,7 @@ class IndicateurIntervenantsMailer
    }



    public function send($emails, $data)
    {
        foreach ($emails as $email => $name) {
@@ -487,6 +499,7 @@ class IndicateurIntervenantsMailer
    }



    private function createMessage($data)
    {
        // corps au format HTML
@@ -515,6 +528,7 @@ class IndicateurIntervenantsMailer
    }



    public function getFrom()
    {
        /** @var ContextService $context */
@@ -532,6 +546,7 @@ class IndicateurIntervenantsMailer
    }



    public function getDefaultSubject()
    {
        /** @var ContextService $context */
@@ -547,6 +562,7 @@ class IndicateurIntervenantsMailer
    }



    public function getDefaultBody()
    {
        /** @var ContextService $context */
@@ -563,6 +579,7 @@ class IndicateurIntervenantsMailer
    }



    public function sendCopyEmail($emailsUtilisateur, $emailsIntervenant, $data, $logs = null)
    {
        $data['emailsIntervenant'] = $emailsIntervenant;
+20 −17
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ class IndicateurService extends AbstractService
    }



    protected function fetchData(Indicateur $indicateur, ?Structure $structure = null, bool $onlyCount = true): array
    {
        $numero    = $indicateur->getNumero();
@@ -65,9 +66,8 @@ class IndicateurService extends AbstractService
            i.code                     \"intervenant-code\",
            i.prenom                   \"intervenant-prenom\",
            i.nom_usuel                \"intervenant-nom\",
            i.email_perso              \"intervenant-email-perso\",
            COALESCE(d.email_perso,i.email_perso) \"intervenant-email-perso\",
            i.email_pro                \"intervenant-email-pro\",
            d.email_perso              \"dossier-email-perso\",
            s.libelle_court            \"structure-libelle\",
            indic.*";
            $orderBy = " ORDER BY si.prioritaire_indicateurs DESC, s.libelle_court, i.nom_usuel, i.prenom";
@@ -97,6 +97,7 @@ class IndicateurService extends AbstractService
    }



    /**
     * @param integer|Indicateur $indicateur Indicateur concerné
     */
@@ -108,6 +109,7 @@ class IndicateurService extends AbstractService
    }



    /**
     * @param Indicateur $indicateur Indicateur concerné
     *
@@ -174,6 +176,7 @@ class IndicateurService extends AbstractService
    }



    public function getCsv(Indicateur $indicateur): array
    {
        $data   = $this->fetchData($indicateur, null, false);