From fff91df2fd646da70e3eea2e78cb91aad534a5f0 Mon Sep 17 00:00:00 2001
From: valleet01 <thibaut.vallee@unicaen.fr>
Date: Fri, 24 Sep 2021 14:39:21 +0200
Subject: [PATCH] =?UTF-8?q?Appel=20des=20fonctions=20d'update=20du=20creat?=
 =?UTF-8?q?eur/modificateur=20lors=20de=20la=20cr=C3=A9ation=20et=20la=20m?=
 =?UTF-8?q?odification=20des=20entit=C3=A9s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/UnicaenRenderer/Service/Contenu/ContenuService.php      | 4 ++++
 .../Service/Contenu/ContenuServiceFactory.php               | 6 ++++++
 src/UnicaenRenderer/Service/Macro/MacroService.php          | 4 ++++
 src/UnicaenRenderer/Service/Macro/MacroServiceFactory.php   | 5 +++++
 4 files changed, 19 insertions(+)

diff --git a/src/UnicaenRenderer/Service/Contenu/ContenuService.php b/src/UnicaenRenderer/Service/Contenu/ContenuService.php
index 3a8e18c..66b5a42 100755
--- a/src/UnicaenRenderer/Service/Contenu/ContenuService.php
+++ b/src/UnicaenRenderer/Service/Contenu/ContenuService.php
@@ -9,11 +9,13 @@ use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenRenderer\Entity\Db\Content;
 use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
+use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
 use Zend\Mvc\Controller\AbstractActionController;
 
 class ContenuService {
     use EntityManagerAwareTrait;
     use MacroServiceAwareTrait;
+    use UserServiceAwareTrait;
 
     /** GESTION DES ENTITES *******************************************************************************************/
 
@@ -24,6 +26,7 @@ class ContenuService {
     public function create(Content $content) : Content
     {
         try {
+            $content->updateCreation($this->getUserService());
             $this->getEntityManager()->persist($content);
             $this->getEntityManager()->flush($content);
         } catch (ORMException $e) {
@@ -39,6 +42,7 @@ class ContenuService {
     public function update(Content $content) : Content
     {
         try {
+            $content->updateModification($this->getUserService());
             $this->getEntityManager()->flush($content);
         } catch (ORMException $e) {
             throw new RuntimeException("Un problème est survenue lors de l'enregistrement en BD.", $e);
diff --git a/src/UnicaenRenderer/Service/Contenu/ContenuServiceFactory.php b/src/UnicaenRenderer/Service/Contenu/ContenuServiceFactory.php
index ebf8e40..e78313f 100755
--- a/src/UnicaenRenderer/Service/Contenu/ContenuServiceFactory.php
+++ b/src/UnicaenRenderer/Service/Contenu/ContenuServiceFactory.php
@@ -5,6 +5,7 @@ namespace UnicaenRenderer\Service\Contenu;
 use Doctrine\ORM\EntityManager;
 use Interop\Container\ContainerInterface;
 use UnicaenRenderer\Service\Macro\MacroService;
+use UnicaenUtilisateur\Service\User\UserService;
 
 class ContenuServiceFactory {
 
@@ -24,6 +25,11 @@ class ContenuServiceFactory {
         $service = new ContenuService();
         $service->setEntityManager($entityManager);
         $service->setMacroService($macroService);
+
+
+        /** @var UserService $userService */
+        $userService = $container->get(UserService::class);
+        $service->setUserService($userService);
         return $service;
     }
 }
\ No newline at end of file
diff --git a/src/UnicaenRenderer/Service/Macro/MacroService.php b/src/UnicaenRenderer/Service/Macro/MacroService.php
index dac741b..e3ef063 100755
--- a/src/UnicaenRenderer/Service/Macro/MacroService.php
+++ b/src/UnicaenRenderer/Service/Macro/MacroService.php
@@ -8,10 +8,12 @@ use Doctrine\ORM\QueryBuilder;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenRenderer\Entity\Db\Macro;
+use UnicaenUtilisateur\Service\User\UserServiceAwareTrait;
 use Zend\Mvc\Controller\AbstractActionController;
 
 class MacroService {
     use EntityManagerAwareTrait;
+    use UserServiceAwareTrait;
 
     /** GESTION DES ENTITES *******************************************************************************************/
 
@@ -22,6 +24,7 @@ class MacroService {
     public function create(Macro $macro) : Macro
     {        
         try {
+            $macro->updateCreation($this->getUserService());
             $this->getEntityManager()->persist($macro);
             $this->getEntityManager()->flush($macro);
         } catch (ORMException $e) {
@@ -37,6 +40,7 @@ class MacroService {
     public function update(Macro $macro) : Macro
     {
         try {
+            $macro->updateModification($this->getUserService());
             $this->getEntityManager()->flush($macro);
         } catch (ORMException $e) {
             throw new RuntimeException("Un problème est survenue lors de l'enregistrement en BD.", $e);
diff --git a/src/UnicaenRenderer/Service/Macro/MacroServiceFactory.php b/src/UnicaenRenderer/Service/Macro/MacroServiceFactory.php
index 8d2cd64..ee87ad6 100755
--- a/src/UnicaenRenderer/Service/Macro/MacroServiceFactory.php
+++ b/src/UnicaenRenderer/Service/Macro/MacroServiceFactory.php
@@ -4,6 +4,7 @@ namespace UnicaenRenderer\Service\Macro;
 
 use Doctrine\ORM\EntityManager;
 use Interop\Container\ContainerInterface;
+use UnicaenUtilisateur\Service\User\UserService;
 
 class MacroServiceFactory {
 
@@ -20,6 +21,10 @@ class MacroServiceFactory {
 
         $service = new MacroService();
         $service->setEntityManager($entityManager);
+
+        /** @var UserService $userService */
+        $userService = $container->get(UserService::class);
+        $service->setUserService($userService);
         return $service;
     }
 }
\ No newline at end of file
-- 
GitLab