Commit d798c470 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

[FIX] Injection manquante de la source SYGAL dans la création manuelle d'un...

[FIX] Injection manquante de la source SYGAL dans la création manuelle d'un utilisateur local (identifiant = adresse mail)
parent d5a3d8fd
Loading
Loading
Loading
Loading
+9 −3
Changes for module/Application/src/Application/Service/Utilisateur/UtilisateurService.php: 9 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -8,17 +8,19 @@ use Application\Entity\Db\Source;
use Application\Entity\Db\Utilisateur;
use Application\Filter\NomCompletFormatter;
use Application\Service\BaseService;
use Application\Service\Source\SourceServiceAwareTrait;
use Application\SourceCodeStringHelperAwareTrait;
use Doctrine\ORM\NonUniqueResultException;
use Doctrine\ORM\OptimisticLockException;
use Doctrine\ORM\ORMException;
use UnicaenApp\Exception\RuntimeException;
use UnicaenAuth\Entity\Db\User;
use UnicaenAuth\Service\Traits\UserServiceAwareTrait;
use UnicaenLdap\Entity\People;
use Zend\Crypt\Password\Bcrypt;

class UtilisateurService extends BaseService
{
    use SourceServiceAwareTrait;
    use SourceCodeStringHelperAwareTrait;
    use UserServiceAwareTrait;

@@ -166,6 +168,8 @@ class UtilisateurService extends BaseService
     */
    public function createFromFormData(array $formData)
    {
        $source = $this->sourceService->fetchApplicationSource();

        /** @var Individu $individu */
        $individu = new Individu();
        $individu->setCivilite($formData['civilite']);
@@ -173,12 +177,14 @@ class UtilisateurService extends BaseService
        $individu->setNomPatronymique($formData['nomPatronymique']);
        $individu->setPrenom1($formData['prenom']);
        $individu->setEmail($formData['email']);
        $individu->setEmail($formData['email']);
        $individu->setSource($source);
        $individu->setSourceCode(uniqid()); // NB: sera remplacé par "COMUE::{INDIVIDU.ID}"

        $this->getEntityManager()->persist($individu);
        try {
            $this->getEntityManager()->persist($individu);
            $this->getEntityManager()->flush($individu);
        } catch (OptimisticLockException $e) {
        } catch (ORMException $e) {
            throw new RuntimeException("Erreur lors de l'enregistrement du nouvel individu", null, $e);
        }

+4 −3
Changes for module/Application/src/Application/Service/Utilisateur/UtilisateurServiceFactory.php: 4 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@

namespace Application\Service\Utilisateur;

use Application\Service\Source\SourceService;
use Application\SourceCodeStringHelper;
use Interop\Container\ContainerInterface;
use UnicaenAuth\Service\User as UserService;
@@ -16,11 +17,10 @@ class UtilisateurServiceFactory
     */
    public function __invoke(ContainerInterface $container)
    {

        /**
         * @var UserService $userService
         * @var SourceService $sourceService
         */
        $userService = $container->get('unicaen-auth_user_service');
        $sourceService = $container->get(SourceService::class);

        /**
         * @var UserService $userService
@@ -35,6 +35,7 @@ class UtilisateurServiceFactory
        $sourceCodeHelper = $container->get(SourceCodeStringHelper::class);
        $service->setSourceCodeStringHelper($sourceCodeHelper);
        $service->setUserService($userService);
        $service->setSourceService($sourceService);

        return $service;
    }