Commit 79cbab9d authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Service Individu : abandon de l'injection du pseudo-utilisateur sygal-app car...

Service Individu : abandon de l'injection du pseudo-utilisateur sygal-app car la bdd peut ne pas être dispo à ce moment.
parent 2e385f11
Loading
Loading
Loading
Loading
+0 −19
Changes for module/Application/src/Application/Entity/Db/AppPseudoUtilisateurAwareTrait.php: 0 added lines, 19 removed lines.
Original line number Diff line number Diff line
<?php

namespace Application\Entity\Db;

trait AppPseudoUtilisateurAwareTrait
{
    /**
     * @var Utilisateur
     */
    protected $appPseudoUtilisateur;

    /**
     * @param Utilisateur $appPseudoUtilisateur
     */
    public function setAppPseudoUtilisateur(Utilisateur $appPseudoUtilisateur)
    {
        $this->appPseudoUtilisateur = $appPseudoUtilisateur;
    }
}
 No newline at end of file
+23 −5
Changes for module/Application/src/Application/Service/Individu/IndividuService.php: 23 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -2,23 +2,29 @@

namespace Application\Service\Individu;

use Application\Entity\Db\AppPseudoUtilisateurAwareTrait;
use Application\Entity\Db\Etablissement;
use Application\Entity\Db\Individu;
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 UnicaenApp\Entity\UserInterface;
use UnicaenApp\Exception\RuntimeException;
use UnicaenLdap\Entity\People;

class IndividuService extends BaseService
{
    use AppPseudoUtilisateurAwareTrait;
    use UtilisateurServiceAwareTrait;
    use SourceCodeStringHelperAwareTrait;

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

    /**
     * @return IndividuRepository
     */
@@ -85,7 +91,7 @@ class IndividuService extends BaseService
        $entity->setCivilite($userWrapper->getCivilite());
        $entity->setEmail($userWrapper->getEmail());
        $entity->setSourceCode($sourceCode);
        $entity->setHistoCreateur($utilisateur ?: $this->appPseudoUtilisateur);
        $entity->setHistoCreateur($utilisateur ?: $this->getAppPseudoUtilisateur());

        $this->getEntityManager()->persist($entity);
        try {
@@ -112,7 +118,7 @@ class IndividuService extends BaseService
        $entity->setPrenom($userWrapper->getPrenom());
        $entity->setCivilite($userWrapper->getCivilite());
        $entity->setEmail($userWrapper->getEmail());
        $entity->setHistoModificateur($utilisateur ?: $this->appPseudoUtilisateur);
        $entity->setHistoModificateur($utilisateur ?: $this->getAppPseudoUtilisateur());

        try {
            $this->getEntityManager()->flush($entity);
@@ -135,7 +141,7 @@ class IndividuService extends BaseService
        $sourceCode = $this->sourceCodeStringHelper->addEtablissementPrefixTo($entity->getSupannId(), $etablissement);

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

        try {
            $this->getEntityManager()->flush($entity);
@@ -144,6 +150,18 @@ 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]);
+1 −2
Changes for module/Application/src/Application/Service/Individu/IndividuServiceFactory.php: 1 added line, 2 removed lines.
Original line number Diff line number Diff line
@@ -12,10 +12,9 @@ class IndividuServiceFactory
    {
        /** @var UtilisateurService $utilisateurService */
        $utilisateurService = $sl->get('UtilisateurService');
        $utilisateur = $utilisateurService->fetchAppPseudoUtilisateur();

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

        /**
         * @var SourceCodeStringHelper $sourceCodeHelper