Commit 640746fc authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Un spaghetti en moins : pas besoin de UtilisateurService dans IndividuService !

parent 091d73e2
Loading
Loading
Loading
Loading
+8 −2
Changes for module/Application/src/Application/Event/UserAuthenticatedEventListener.php: 8 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -112,7 +112,10 @@ class UserAuthenticatedEventListener extends AuthenticatedUserSavedAbstractListe
                    $createIndividu = true;
                } else {
                    // s'il existe dans l'établissement inconnu, on le "déplace" dans l'établissement de connexion
                    $this->individuService->updateIndividuSourceCodeFromEtab($individu, $etablissement);
                    $this->individuService->updateIndividuSourceCodeFromEtab(
                        $individu,
                        $etablissement,
                        $this->utilisateurService->fetchAppPseudoUtilisateur());
                }
            }
        }
@@ -120,7 +123,10 @@ class UserAuthenticatedEventListener extends AuthenticatedUserSavedAbstractListe
        // création de l'Individu si besoin et si possible
        if ($createIndividu) {
            if ($userWrapper->getSupannId()) {
                $individu = $this->individuService->createIndividuFromUserWrapperAndEtab($userWrapper, $etablissement);
                $individu = $this->individuService->createIndividuFromUserWrapperAndEtab(
                    $userWrapper,
                    $etablissement,
                    $this->utilisateurService->fetchAppPseudoUtilisateur());
            }
        }

+5 −25
Changes for module/Application/src/Application/Service/Individu/IndividuService.php: 5 added lines, 25 removed lines.
Original line number Diff line number Diff line
@@ -8,26 +8,18 @@ use Application\Entity\Db\Repository\IndividuRepository;
use Application\Entity\Db\Utilisateur;
use Application\Entity\UserWrapper;
use Application\Service\BaseService;
use Application\Service\Utilisateur\UtilisateurServiceAwareTrait;
use Application\SourceCodeStringHelperAwareTrait;
use Doctrine\ORM\OptimisticLockException;
use Doctrine\ORM\ORMException;
use InvalidArgumentException;
use UnicaenApp\Entity\UserInterface;
use UnicaenApp\Exception\RuntimeException;
use UnicaenLdap\Entity\People;
use Zend\Mvc\Controller\AbstractActionController;

class IndividuService extends BaseService
{
    use UtilisateurServiceAwareTrait;
    use SourceCodeStringHelperAwareTrait;

    /**
     * @var Utilisateur
     */
    protected $appPseudoUtilisateur;

    /**
     * @return IndividuRepository
     */
@@ -77,12 +69,12 @@ class IndividuService extends BaseService
    /**
     * @param UserWrapper $userWrapper
     * @param Etablissement $etablissement
     * @param \Application\Entity\Db\Utilisateur|null $utilisateur Auteur éventuel de la création
     * @param \Application\Entity\Db\Utilisateur $utilisateur Auteur de la création
     * @return Individu
     */
    public function createIndividuFromUserWrapperAndEtab(UserWrapper $userWrapper,
                                                         Etablissement $etablissement,
                                                         Utilisateur $utilisateur = null): ?Individu
                                                         Utilisateur $utilisateur): ?Individu
    {
        $supannId = $userWrapper->getSupannId();
        if (! $supannId) {
@@ -99,7 +91,7 @@ class IndividuService extends BaseService
        $entity->setCivilite($userWrapper->getCivilite());
        $entity->setEmail($userWrapper->getEmail());
        $entity->setSourceCode($sourceCode);
        $entity->setHistoCreateur($utilisateur ?: $this->getAppPseudoUtilisateur());
        $entity->setHistoCreateur($utilisateur);

        try {
            $this->getEntityManager()->persist($entity);
@@ -120,12 +112,12 @@ class IndividuService extends BaseService
     */
    public function updateIndividuSourceCodeFromEtab(Individu $entity,
                                                     Etablissement $etablissement,
                                                     Utilisateur $modificateur = null)
                                                     Utilisateur $modificateur)
    {
        $sourceCode = $this->sourceCodeStringHelper->addEtablissementPrefixTo($entity->getSupannId(), $etablissement);

        $entity->setSourceCode($sourceCode);
        $entity->setHistoModificateur($modificateur ?: $this->getAppPseudoUtilisateur());
        $entity->setHistoModificateur($modificateur);

        try {
            $this->getEntityManager()->flush($entity);
@@ -134,18 +126,6 @@ class IndividuService extends BaseService
        }
    }

    /**
     * @return Utilisateur|UserInterface
     */
    private function getAppPseudoUtilisateur()
    {
        if ($this->appPseudoUtilisateur === null) {
            $this->appPseudoUtilisateur = $this->utilisateurService->fetchAppPseudoUtilisateur();
        }

        return $this->appPseudoUtilisateur;
    }

    public function existIndividuUtilisateurByEmail($email) {
        $exist_individu = $this->getEntityManager()->getRepository(Individu::class)->findOneBy(["email" => $email]);
        $exist_utilisateur = $this->getEntityManager()->getRepository(Utilisateur::class)->findOneBy(["email" => $email]);
+0 −5
Changes for module/Application/src/Application/Service/Individu/IndividuServiceFactory.php: 0 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -2,7 +2,6 @@

namespace Application\Service\Individu;

use Application\Service\Utilisateur\UtilisateurService;
use Application\SourceCodeStringHelper;
use Interop\Container\ContainerInterface;

@@ -10,11 +9,7 @@ class IndividuServiceFactory
{
    public function __invoke(ContainerInterface $container)
    {
        /** @var UtilisateurService $utilisateurService */
        $utilisateurService = $container->get('UtilisateurService');

        $service = new IndividuService();
        $service->setUtilisateurService($utilisateurService);

        /**
         * @var SourceCodeStringHelper $sourceCodeHelper