Commit f20e0190 authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Utilisateur par defaut si pas d'utilisateur

parent c1c56527
Loading
Loading
Loading
Loading
Loading
+1 −0
Changes for config/unicaen-utilisateur.global.php.dist: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ return [
//            'ldap'      => LdapService::class,
//            'octopus'   => IndividuService::class,
        ],
        'default-user' => 1,
    ],

    'navigation' => [
+10 −0
Changes for src/UnicaenUtilisateur/ORM/Event/Listeners/HistoriqueListener.php: 10 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ use Exception;
use RuntimeException;
use UnicaenUtilisateur\Entity\Db\HistoriqueAwareInterface;
use UnicaenUtilisateur\Entity\Db\AbstractUser;
use UnicaenUtilisateur\Entity\Db\User;
use UnicaenUtilisateur\Entity\Db\UserInterface;
use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
use Laminas\Authentication\AuthenticationService;

@@ -31,6 +33,9 @@ class HistoriqueListener implements EventSubscriber
{
    use UserServiceAwareTrait;
    
    private ?int $defaultUser = null;
    public function setDefaultUser(?int $user) { $this->defaultUser = $user; }
    
    /**
     * @var AuthenticationService
     */
@@ -80,6 +85,11 @@ class HistoriqueListener implements EventSubscriber
            $user = $entity->getHistoCreateur();
        }
        // si nous ne disposons d'aucun utilisateur, basta!
        if (null === $user) {
            if ($this->defaultUser) {
                $user = new User(); $user->setId($this->defaultUser);
            }
        }
        if (null === $user) {
            throw new RuntimeException("Aucun utilisateur disponible pour en faire l'auteur de la création/modification.");
        }
+9 −5
Changes for src/UnicaenUtilisateur/ORM/Event/Listeners/HistoriqueListenerFactory.php: 9 added lines, 5 removed lines.
Original line number Diff line number Diff line
@@ -7,12 +7,9 @@ use Interop\Container\ContainerInterface;
use Laminas\ServiceManager\FactoryInterface;
use Laminas\ServiceManager\ServiceLocatorInterface;
use Laminas\Authentication\AuthenticationService;
use UnicaenUtilisateur\Entity\Db\User;
use UnicaenUtilisateur\Service\User\UserService;

/**
 * Description of MouchardServiceFactory
 *
 * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
 */
class HistoriqueListenerFactory implements FactoryInterface
{
    public function createService(ServiceLocatorInterface $serviceLocator)
@@ -27,8 +24,15 @@ class HistoriqueListenerFactory implements FactoryInterface
         */
        $authenticationService = $container->get('Laminas\Authentication\AuthenticationService');
        
        /** @var UserService $userService */
        $config = $container->get('Configuration')['unicaen-utilisateur'];
        $userId = isset($config['default-user'])?$config['default-user']:null;
//        $user = isset($config['default-user'])?($em->find($config['default-user'])):null;
        
        $listener = new HistoriqueListener();
        $listener->setAuthenticationService($authenticationService);
        $listener->setDefaultUser($userId);
//        $listener->setDefaultUser($user);

        return $listener;
    }