Loading CHANGELOG.md +12 −0 Changes for CHANGELOG.md: 12 added lines, 0 removed lines. Original line number Diff line number Diff line CHANGELOG ========= 0.2.6 (11/12/2025) ------------------ - Mise en place de l'HistoriqueListener pour gerer automatiquement les HistoCreation/HistoModification - Suppression du HistoriqueStateProcessor devenue inutile - Remplacement du trait HistoUserTrait par HistoUserRepository 0.2.5 (28/11/2025) ------------------ - Config : nouveau Paramétre unicaen.user_class et unicaen.role_class - Config : nouveau Paramétre histo.histo_default_username pour pouvoir définir l'utilisateur par défaut lors de l'historisation - Mise en place du HistoContextBuilder 0.2.1 (17/10/2025) ------------------ - Ajout de RestaurerProcessor Loading api/.version +1 −1 Changes for api/.version: 1 added line, 1 removed line. Original line number Diff line number Diff line 0.2.2 0.3.1 api/config/services.yaml +9 −4 Changes for api/config/services.yaml: 9 added lines, 4 removed lines. Original line number Diff line number Diff line parameters: unicaen.user_class: 'Unicaen\Utilisateur\Entity\User' unicaen.role_class: 'Unicaen\Utilisateur\Entity\Role' histo.histo_default_username: '%env(trim:HISTO_DEFAULT_USERNAME)%' services: _defaults: autowire: true Loading @@ -6,7 +11,7 @@ services: Unicaen\Utilisateur\: resource: '../src/*' parameters: unicaen.user_class: 'Unicaen\Utilisateur\Entity\User' unicaen.role_class: 'Unicaen\Privilege\Entity\Role' unicaen.user_role: 'Unicaen\Privilege\Entity\UserRole' No newline at end of file 'Unicaen\Utilisateur\Serializer\HistoContextBuilder': decorates: 'api_platform.serializer.context_builder' arguments: [ '@Unicaen\Utilisateur\Serializer\HistoContextBuilder.inner' ] autoconfigure: false api/src/Entity/AbstractUser.php +1 −1 Changes for api/src/Entity/AbstractUser.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ abstract class AbstractUser implements UserInterface, PasswordAuthenticatedUserI #[ORM\Column(length: 180, unique: true)] protected string $email; #[Groups(['user:read', 'user:create', 'user:update'])] #[Groups(['user:read', 'user:create', 'user:update', 'histoUser:read'])] #[ORM\Column(length: 180, nullable: true)] protected ?string $displayName = null; Loading api/src/Event/HistoriqueListener.php 0 → 100644 +56 −0 Changes for api/src/Event/HistoriqueListener.php: 56 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Unicaen\Utilisateur\Event; use DateTime; use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Events; use Doctrine\Persistence\Event\LifecycleEventArgs; use Symfony\Bundle\SecurityBundle\Security; use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface; use Unicaen\Utilisateur\Model\HistoriqueAwareInterface; use Unicaen\Utilisateur\Repository\HistoUserRepository; #[AsDoctrineListener(event: Events::prePersist, connection: 'default')] #[AsDoctrineListener(event: Events::preUpdate, connection: 'default')] class HistoriqueListener { protected HistoUserRepository $histoUserRepository; public function __construct ( HistoUserRepository $histoUserRepository ) { $this->histoUserRepository = $histoUserRepository; } /** * @throws \Exception */ public function prePersist(LifecycleEventArgs $args) { $entity = $args->getObject(); if (! $entity instanceof HistoriqueAwareInterface) { return; } $now = new DateTime(); $user = $this->histoUserRepository->getHistoUser(); $entity->setHistoCreation($now); $entity->setHistoCreateur($user); } /** * @throws \Exception */ public function preUpdate(LifecycleEventArgs $args) { $entity = $args->getObject(); if (! $entity instanceof HistoriqueAwareInterface) { return; } $now = new DateTime(); $user = $this->histoUserRepository->getHistoUser(); $entity->setHistoModification($now); $entity->setHistoModificateur($user); } } No newline at end of file Loading
CHANGELOG.md +12 −0 Changes for CHANGELOG.md: 12 added lines, 0 removed lines. Original line number Diff line number Diff line CHANGELOG ========= 0.2.6 (11/12/2025) ------------------ - Mise en place de l'HistoriqueListener pour gerer automatiquement les HistoCreation/HistoModification - Suppression du HistoriqueStateProcessor devenue inutile - Remplacement du trait HistoUserTrait par HistoUserRepository 0.2.5 (28/11/2025) ------------------ - Config : nouveau Paramétre unicaen.user_class et unicaen.role_class - Config : nouveau Paramétre histo.histo_default_username pour pouvoir définir l'utilisateur par défaut lors de l'historisation - Mise en place du HistoContextBuilder 0.2.1 (17/10/2025) ------------------ - Ajout de RestaurerProcessor Loading
api/.version +1 −1 Changes for api/.version: 1 added line, 1 removed line. Original line number Diff line number Diff line 0.2.2 0.3.1
api/config/services.yaml +9 −4 Changes for api/config/services.yaml: 9 added lines, 4 removed lines. Original line number Diff line number Diff line parameters: unicaen.user_class: 'Unicaen\Utilisateur\Entity\User' unicaen.role_class: 'Unicaen\Utilisateur\Entity\Role' histo.histo_default_username: '%env(trim:HISTO_DEFAULT_USERNAME)%' services: _defaults: autowire: true Loading @@ -6,7 +11,7 @@ services: Unicaen\Utilisateur\: resource: '../src/*' parameters: unicaen.user_class: 'Unicaen\Utilisateur\Entity\User' unicaen.role_class: 'Unicaen\Privilege\Entity\Role' unicaen.user_role: 'Unicaen\Privilege\Entity\UserRole' No newline at end of file 'Unicaen\Utilisateur\Serializer\HistoContextBuilder': decorates: 'api_platform.serializer.context_builder' arguments: [ '@Unicaen\Utilisateur\Serializer\HistoContextBuilder.inner' ] autoconfigure: false
api/src/Entity/AbstractUser.php +1 −1 Changes for api/src/Entity/AbstractUser.php: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ abstract class AbstractUser implements UserInterface, PasswordAuthenticatedUserI #[ORM\Column(length: 180, unique: true)] protected string $email; #[Groups(['user:read', 'user:create', 'user:update'])] #[Groups(['user:read', 'user:create', 'user:update', 'histoUser:read'])] #[ORM\Column(length: 180, nullable: true)] protected ?string $displayName = null; Loading
api/src/Event/HistoriqueListener.php 0 → 100644 +56 −0 Changes for api/src/Event/HistoriqueListener.php: 56 added lines, 0 removed lines. Original line number Diff line number Diff line <?php namespace Unicaen\Utilisateur\Event; use DateTime; use Doctrine\Bundle\DoctrineBundle\Attribute\AsDoctrineListener; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Events; use Doctrine\Persistence\Event\LifecycleEventArgs; use Symfony\Bundle\SecurityBundle\Security; use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface; use Unicaen\Utilisateur\Model\HistoriqueAwareInterface; use Unicaen\Utilisateur\Repository\HistoUserRepository; #[AsDoctrineListener(event: Events::prePersist, connection: 'default')] #[AsDoctrineListener(event: Events::preUpdate, connection: 'default')] class HistoriqueListener { protected HistoUserRepository $histoUserRepository; public function __construct ( HistoUserRepository $histoUserRepository ) { $this->histoUserRepository = $histoUserRepository; } /** * @throws \Exception */ public function prePersist(LifecycleEventArgs $args) { $entity = $args->getObject(); if (! $entity instanceof HistoriqueAwareInterface) { return; } $now = new DateTime(); $user = $this->histoUserRepository->getHistoUser(); $entity->setHistoCreation($now); $entity->setHistoCreateur($user); } /** * @throws \Exception */ public function preUpdate(LifecycleEventArgs $args) { $entity = $args->getObject(); if (! $entity instanceof HistoriqueAwareInterface) { return; } $now = new DateTime(); $user = $this->histoUserRepository->getHistoUser(); $entity->setHistoModification($now); $entity->setHistoModificateur($user); } } No newline at end of file