diff --git a/src/UnicaenRenderer/Entity/Db/Macro.php b/src/UnicaenRenderer/Entity/Db/Macro.php index ab382320980ad5b5a54a212ccd9b35349d07f267..03875cc71dc682665603efcf4e70d7ff6b636eb6 100755 --- a/src/UnicaenRenderer/Entity/Db/Macro.php +++ b/src/UnicaenRenderer/Entity/Db/Macro.php @@ -4,10 +4,23 @@ namespace UnicaenRenderer\Entity\Db; use UnicaenUtilisateur\Entity\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\HistoriqueAwareTrait; +use Zend\Permissions\Acl\Resource\ResourceInterface; -class Macro implements HistoriqueAwareInterface { +class Macro implements HistoriqueAwareInterface , ResourceInterface +{ use HistoriqueAwareTrait; + const RESOURCE_ID = 'Macro'; + /** + * Returns the string identifier of the Resource + * + * @return string + */ + public function getResourceId() + { + return self::RESOURCE_ID; + } + /** @var integer */ private $id; /** @var string */ diff --git a/src/UnicaenRenderer/Entity/Db/Template.php b/src/UnicaenRenderer/Entity/Db/Template.php index bd02c4a0b1eac58e23c738cfef8f493242063662..9d2d89a7704d0330e6c7a5c8c88af9125121730e 100755 --- a/src/UnicaenRenderer/Entity/Db/Template.php +++ b/src/UnicaenRenderer/Entity/Db/Template.php @@ -4,10 +4,23 @@ namespace UnicaenRenderer\Entity\Db; use UnicaenUtilisateur\Entity\HistoriqueAwareInterface; use UnicaenUtilisateur\Entity\HistoriqueAwareTrait; +use Zend\Permissions\Acl\Resource\ResourceInterface; -class Template implements HistoriqueAwareInterface { +class Template implements HistoriqueAwareInterface, ResourceInterface +{ use HistoriqueAwareTrait; + const RESOURCE_ID = 'Template'; + /** + * Returns the string identifier of the Resource + * + * @return string + */ + public function getResourceId() + { + return self::RESOURCE_ID; + } + const TYPE_TXT = 'texte'; const TYPE_PDF = 'pdf'; const TYPE_MAIL = 'mail'; diff --git a/src/UnicaenRenderer/Service/Macro/MacroService.php b/src/UnicaenRenderer/Service/Macro/MacroService.php index 6d48141fe9cfd35734622db2da00d9b0f4064c7d..dcc4a6491aae143796b0a0218874bafb5008cacf 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 8d2cd64bccb371535d204fa482070caec4bc9104..ee87ad6fadeae1e5f5be06474fdd47ad7890518e 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 diff --git a/src/UnicaenRenderer/Service/Template/TemplateService.php b/src/UnicaenRenderer/Service/Template/TemplateService.php index 7457560f9913242a2e537bc02aef7a11c78427eb..0cd0b0ebb8c08ae45e36643f76c35bc865a8fa9b 100755 --- a/src/UnicaenRenderer/Service/Template/TemplateService.php +++ b/src/UnicaenRenderer/Service/Template/TemplateService.php @@ -9,11 +9,13 @@ use UnicaenApp\Exception\RuntimeException; use UnicaenApp\Service\EntityManagerAwareTrait; use UnicaenRenderer\Entity\Db\Template; use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait; +use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; use Zend\Mvc\Controller\AbstractActionController; class TemplateService { use EntityManagerAwareTrait; use MacroServiceAwareTrait; + use UserServiceAwareTrait; /** GESTION DES ENTITES *******************************************************************************************/ @@ -24,8 +26,8 @@ class TemplateService { public function create(Template $template) : Template { try { - $this->getEntityManager()->persist($template); - $this->getEntityManager()->flush($template); + $this->getEntityManager()->persist($content); + $this->getEntityManager()->flush($content); } catch (ORMException $e) { throw new RuntimeException("Un problème est survenue lors de l'enregistrement en BD du Template.", $e); } diff --git a/src/UnicaenRenderer/Service/Template/TemplateServiceFactory.php b/src/UnicaenRenderer/Service/Template/TemplateServiceFactory.php index e8cafb60dd489324169fc8b4882f09ddb99f8d1c..ec9fbd04d7ce94ba7c24876e45a6e19ad9cc10ea 100755 --- a/src/UnicaenRenderer/Service/Template/TemplateServiceFactory.php +++ b/src/UnicaenRenderer/Service/Template/TemplateServiceFactory.php @@ -5,6 +5,7 @@ namespace UnicaenRenderer\Service\Template; use Doctrine\ORM\EntityManager; use Interop\Container\ContainerInterface; use UnicaenRenderer\Service\Macro\MacroService; +use UnicaenUtilisateur\Service\User\UserService; class TemplateServiceFactory { @@ -24,6 +25,11 @@ class TemplateServiceFactory { $service = new TemplateService(); $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