diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100755 index 0000000000000000000000000000000000000000..4093f6859a5cf2a483eb18c879b1a1ac0295f930 --- /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 0000000000000000000000000000000000000000..cb721c6bd6e3c9f12f38446aab7510f749ae7a55 --- /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 8e84fa6f602926bffa8d960824b349e8d5aa74ff..d2012753196f5de9c35fd92ed326bd104fe63691 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;