Commit 669b7f31 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Config liste-diffusion : possibilité de fournir les propriétaires dans la config

parent 4458d7fc
Loading
Loading
Loading
Loading
+0 −3
Changes for module/Application/src/Application/Service/ListeDiffusion/ListeDiffusionService.php: 0 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -2,9 +2,6 @@

namespace Application\Service\ListeDiffusion;

use Application\Entity\Db\Individu;
use Application\Entity\Db\Interfaces\IndividuAwareInterface;
use Application\Entity\Db\Role;
use Application\Service\BaseService;
use Application\Service\Individu\IndividuServiceAwareTrait;
use Application\Service\ListeDiffusion\Plugin\ListeDiffusionPluginInterface;
+15 −11
Changes for module/Application/src/Application/Service/ListeDiffusion/Plugin/ListeDiffusionAbstractPlugin.php: 15 added lines, 11 removed lines.
Original line number Diff line number Diff line
@@ -59,14 +59,10 @@ abstract class ListeDiffusionAbstractPlugin implements ListeDiffusionPluginInter

    /**
     * @param string[] $config
     * @return self
     * @deprecated inuUtile a priori
     */
    public function setConfig(array $config)
    {
        $this->config = $config;

        return $this;
    }

    /**
@@ -97,11 +93,12 @@ abstract class ListeDiffusionAbstractPlugin implements ListeDiffusionPluginInter
    }

    /**
     * @return Individu[]
     * @return Individu[]|string[]
     */
    public function fetchProprietaires()
    {
        return $this->individuService->getRepository()->findByRole(Role::CODE_ADMIN_TECH);
        //return $this->individuService->getRepository()->findByRole(Role::CODE_ADMIN_TECH);
        return (array) $this->config['proprietaires'] ?? [];
    }

    /**
@@ -121,18 +118,25 @@ abstract class ListeDiffusionAbstractPlugin implements ListeDiffusionPluginInter
    }

    /**
     * @param IndividuAwareInterface[]|Individu[] $entities
     * @param IndividuAwareInterface[]|Individu[]|string[] $entities
     */
    protected function extractEmailsFromEntities(array $entities)
    {
        $adresses = [];
        $individusSansAdresse = [];
        foreach ($entities as $entity) {
        foreach ($entities as $key => $entity) {
            if (is_string($entity)) {
                $email = trim($key);
                $nom = $entity;
            } else {
                $individu = $entity instanceof IndividuAwareInterface ? $entity->getIndividu() : $entity;
            if ($email = trim($this->extractEmailFromIndividu($individu))) {
                $adresses[$email] = $individu->getNomComplet();
                $email = trim($this->extractEmailFromIndividu($individu));
                $nom = $individu->getNomComplet();
            }
            if ($email) {
                $adresses[$email] = $nom;
            } else {
                $individusSansAdresse[$individu->getId()] = $individu->getNomComplet();
                $individusSansAdresse[$nom] = $nom;
            }
        }

+0 −2
Changes for module/Application/src/Application/Service/ListeDiffusion/Plugin/ListeDiffusionPluginInterface.php: 0 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -8,13 +8,11 @@ interface ListeDiffusionPluginInterface
{
    /**
     * @param string[] $config
     * @return self
     */
    public function setConfig(array $config);

    /**
     * @param string $liste
     * @return self
     */
    public function setListe($liste);