diff --git a/src/UnicaenApp/ORM/Event/Listeners/HistoriqueListener.php b/src/UnicaenApp/ORM/Event/Listeners/HistoriqueListener.php index 4df96d9d835362c7adaffaac164acac60f84b46c..ef1fd09b0824c779b30a0ad6c7f7104994665a71 100644 --- a/src/UnicaenApp/ORM/Event/Listeners/HistoriqueListener.php +++ b/src/UnicaenApp/ORM/Event/Listeners/HistoriqueListener.php @@ -1,6 +1,7 @@ <?php namespace UnicaenApp\ORM\Event\Listeners; +use RuntimeException; use UnicaenAuth\Entity\Db\AbstractUser; use Zend\ServiceManager\ServiceLocatorAwareInterface; use Zend\ServiceManager\ServiceLocatorAwareTrait; @@ -8,14 +9,18 @@ use Doctrine\ORM\Event\LifecycleEventArgs; use Doctrine\ORM\Event\PreUpdateEventArgs; use Doctrine\ORM\Events; use Doctrine\Common\EventSubscriber; -use Common\Exception\RuntimeException; use UnicaenApp\Entity\HistoriqueAwareInterface; /** - * Listener Doctrine permettant l'ajout automatique de l'heure de création/modification - * et de l'auteur de création/modification de toute entité avant qu'elle soit persistée. + * Listener Doctrine. + * + * Modifie automatiquement l'heure et l'auteur de la création/modification + * de tout enregistrement dont la classe implémente HistoriqueAwareInterface. + * + * Déclenchement : avant que l'enregistrement ne soit persisté (création) ou mis à jour (update). * * @author Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr> + * @see HistoriqueAwareInterface */ class HistoriqueListener implements EventSubscriber, ServiceLocatorAwareInterface { @@ -26,35 +31,30 @@ class HistoriqueListener implements EventSubscriber, ServiceLocatorAwareInterfac */ protected $identity; - - /** * * @param LifecycleEventArgs $args * - * @return type - * @throws RuntimeException + * @return void + * @throws RuntimeException Aucun utilisateur connecté disponible pour la gestion de l'historique */ protected function updateHistorique(LifecycleEventArgs $args) { - $em = $args->getEntityManager(); $entity = $args->getEntity(); - $user = null; // l'entité doit implémenter l'interface requise - if (!$entity instanceof HistoriqueAwareInterface) { + if (! $entity instanceof HistoriqueAwareInterface) { return; } - /* @var $entity \UnicaenApp\Entity\HistoriqueAwareInterface */ // l'utilisateur connecté sera l'auteur de la création/modification + $user = null; if (($identity = $this->getIdentity())) { if (isset($identity['db']) && $identity['db'] instanceof AbstractUser) { $user = $identity['db']; /* @var $user AbstractUser */ } } - if (null === $user) { throw new RuntimeException("Aucun utilisateur connecté disponible pour la gestion de l'historique."); } @@ -86,8 +86,6 @@ class HistoriqueListener implements EventSubscriber, ServiceLocatorAwareInterfac } } - - /** * @param LifecycleEventArgs $args */ @@ -96,8 +94,6 @@ class HistoriqueListener implements EventSubscriber, ServiceLocatorAwareInterfac $this->updateHistorique($args); } - - /** * @param PreUpdateEventArgs $args */ @@ -106,13 +102,11 @@ class HistoriqueListener implements EventSubscriber, ServiceLocatorAwareInterfac $this->updateHistorique($args); } - - /** + * Injecte l'identité authentifiée courante. * * @param mixed $identity - * - * @return \Common\ORM\Event\Listeners\Histo + * @return self */ public function setIdentity($identity) { @@ -121,9 +115,8 @@ class HistoriqueListener implements EventSubscriber, ServiceLocatorAwareInterfac return $this; } - - /** + * Retourne l'identité authentifiée courante. * * @return mixed */ @@ -139,8 +132,6 @@ class HistoriqueListener implements EventSubscriber, ServiceLocatorAwareInterfac return $this->identity; } - - /** * {@inheritdoc} */