From 02c77714b90b2b01b1d65286d15deaabe6ebd186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurent=20L=C3=A9cluse?= <laurent.lecluse@unicaen.fr> Date: Tue, 21 Mar 2023 10:15:11 +0100 Subject: [PATCH] =?UTF-8?q?-=20Mise=20en=20place=20du=20changelog=20-=20R?= =?UTF-8?q?=C3=A9int=C3=A9gration=20de=20l'AssertionFactory,=20=C3=A0=20ut?= =?UTF-8?q?iliser=20pour=20les=20assertions=20-=20[Fix]=20erreur=20ns=20\I?= =?UTF-8?q?nvalidArgumentException=20:=20\=20ajout=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 8 ++++ .../Assertion/AssertionFactory.php | 45 +++++++++++++++++++ .../Privilege/PrivilegeCategorieService.php | 2 +- 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100755 CHANGELOG.md create mode 100644 src/UnicaenPrivilege/Assertion/AssertionFactory.php diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100755 index 0000000..4093f68 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,8 @@ +Journal des modifications +========================= + +6.0.1 (21/03/2023) +----- +- Mise en place du changelog +- Réintégration de l'AssertionFactory, à utiliser pour les assertions +- [Fix] erreur ns \InvalidArgumentException : \ ajouté diff --git a/src/UnicaenPrivilege/Assertion/AssertionFactory.php b/src/UnicaenPrivilege/Assertion/AssertionFactory.php new file mode 100644 index 0000000..cb721c6 --- /dev/null +++ b/src/UnicaenPrivilege/Assertion/AssertionFactory.php @@ -0,0 +1,45 @@ +<?php + +namespace UnicaenPrivilege\Assertion; + +use BjyAuthorize\Service\Authorize; +use Psr\Container\ContainerInterface; +use Laminas\Authentication\AuthenticationService; +use Laminas\Mvc\Application; +use Laminas\ServiceManager\Factory\FactoryInterface; +use UnicaenAuthentification\Service\UserContext; + +/** + * Class AssertionFactory + * + * @package UnicaenPrivilege\Assertion + */ +class AssertionFactory implements FactoryInterface +{ + /** + * @param ContainerInterface $container + * + * @return UserContext + */ + public function __invoke(ContainerInterface $container, $requestedName, array $options = null) + { + /* @var $application Application */ + $application = $container->get('Application'); + $mvcEvent = $application->getMvcEvent(); + + /* @var $serviceAuthorize Authorize */ + $serviceAuthorize = $container->get('BjyAuthorize\Service\Authorize'); + + /** @var UserContext $serviceUserContext */ + $serviceUserContext = $container->get(UserContext::class); + + /* @var $assertion AbstractAssertion */ + $assertion = new $requestedName; + + $assertion->setMvcEvent($mvcEvent); + $assertion->setServiceAuthorize($serviceAuthorize); + $assertion->setServiceUserContext($serviceUserContext); + + return $assertion; + } +} diff --git a/src/UnicaenPrivilege/Service/Privilege/PrivilegeCategorieService.php b/src/UnicaenPrivilege/Service/Privilege/PrivilegeCategorieService.php index 8e84fa6..d201275 100644 --- a/src/UnicaenPrivilege/Service/Privilege/PrivilegeCategorieService.php +++ b/src/UnicaenPrivilege/Service/Privilege/PrivilegeCategorieService.php @@ -16,7 +16,7 @@ class PrivilegeCategorieService extends CommonService public function setEntityClass($categorieEntityClass) { if (! class_exists($categorieEntityClass) || ! in_array(PrivilegeCategorieInterface::class, class_implements($categorieEntityClass))) { - throw new InvalidArgumentException("L'entité associée aux catégories de privilège doit implémenter " . PrivilegeCategorieInterface::class); + throw new \InvalidArgumentException("L'entité associée aux catégories de privilège doit implémenter " . PrivilegeCategorieInterface::class); } $this->entityClass = $categorieEntityClass; -- GitLab