Loading config/merged/observation-instance.config.php +6 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ use UnicaenObservation\Provider\Privilege\ObservationinstancePrivileges; use UnicaenObservation\Service\ObservationInstance\ObservationInstanceService; use UnicaenObservation\Service\ObservationInstance\ObservationInstanceServiceFactory; use UnicaenObservation\View\Helper\ObservationInstanceViewHelper; use UnicaenObservation\View\Helper\ObservationInstanceViewHelperFactory; use UnicaenPrivilege\Guard\PrivilegeController; return [ Loading Loading @@ -200,9 +201,12 @@ return [ ], ], 'view_helpers' => [ 'invokables' => [ 'observationinstance' => ObservationInstanceViewHelper::class, 'factories' => [ ObservationInstanceViewHelper::class => ObservationInstanceViewHelperFactory::class, ], 'aliases' => [ 'observationinstance' => ObservationInstanceViewHelper::class, ] ], ]; No newline at end of file src/UnicaenObservation/Controller/ObservationInstanceController.php +1 −1 Original line number Diff line number Diff line Loading @@ -128,7 +128,7 @@ class ObservationInstanceController extends AbstractActionController $vm->setVariables([ 'title' => "Restauration d'observations", 'text' => "La restauration va rétablir votre observation. Êtes-vous sûr·e de vouloir continuer ?", 'action' => $this->url()->fromRoute('observation/instance/historiser', ["observation" => $observation->getId()], [], true), 'action' => $this->url()->fromRoute('observation/instance/restaurer', ["observation" => $observation->getId()], [], true), ]); } return $vm; Loading src/UnicaenObservation/Provider/Privilege/ObservationinstancePrivileges.php +1 −0 Original line number Diff line number Diff line Loading @@ -12,4 +12,5 @@ class ObservationinstancePrivileges extends Privileges const OBSERVATIONINSTANCE_MODIFIER = 'observationinstance-observationinstance_modifier'; const OBSERVATIONINSTANCE_HISTORISER = 'observationinstance-observationinstance_historiser'; const OBSERVATIONINSTANCE_SUPPRIMER = 'observationinstance-observationinstance_supprimer'; const OBSERVATIONINSTANCE_AFFICHER_HISTORISER = 'observationinstance-observationinstance_afficher_historiser'; } No newline at end of file src/UnicaenObservation/View/Helper/ObservationInstanceViewHelper.php +4 −1 Original line number Diff line number Diff line Loading @@ -7,15 +7,18 @@ use Laminas\View\Helper\Partial; use Laminas\View\Renderer\PhpRenderer; use Laminas\View\Resolver\TemplatePathStack; use UnicaenObservation\Entity\Db\ObservationInstance; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; class ObservationInstanceViewHelper extends AbstractHelper { use UserServiceAwareTrait; /** Liste des options : * - 'activer-validation' : afficher et permet de valider une observation * - 'can-modifier' : surcharge du privilège pour la modification * - 'can-historiser' : surcharge du privilège pour l'historisation/restauration * - 'can-supprimer' : surcharge du privilège pour la suppression * - 'can-afficher-historiser' : surcharge du privilège pour l'affichage des observations historisées * */ public function __invoke(ObservationInstance $observation, array $options = []): string|Partial { Loading @@ -23,6 +26,6 @@ class ObservationInstanceViewHelper extends AbstractHelper $view = $this->getView(); $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]])); return $view->partial('observation-instance', ['observation' => $observation, 'options' => $options]); return $view->partial('observation-instance', ['observation' => $observation, 'user' => $this->getUserService()->getConnectedUser(), 'options' => $options]); } } No newline at end of file src/UnicaenObservation/View/Helper/ObservationInstanceViewHelperFactory.php 0 → 100644 +35 −0 Original line number Diff line number Diff line <?php namespace UnicaenObservation\View\Helper; use Laminas\View\Helper\AbstractHelper; use Laminas\View\Helper\Partial; use Laminas\View\Renderer\PhpRenderer; use Laminas\View\Resolver\TemplatePathStack; use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use Psr\Container\NotFoundExceptionInterface; use UnicaenObservation\Entity\Db\ObservationInstance; use UnicaenObservation\View\Helper\ObservationInstanceViewHelper; use UnicaenUtilisateur\Service\User\UserService; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; class ObservationInstanceViewHelperFactory { /** * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container): ObservationInstanceViewHelper { /** * @var UserService $userService */ $userService = $container->get(UserService::class); $helper = new ObservationInstanceViewHelper(); $helper->setUserService($userService); return $helper; } } No newline at end of file Loading
config/merged/observation-instance.config.php +6 −2 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ use UnicaenObservation\Provider\Privilege\ObservationinstancePrivileges; use UnicaenObservation\Service\ObservationInstance\ObservationInstanceService; use UnicaenObservation\Service\ObservationInstance\ObservationInstanceServiceFactory; use UnicaenObservation\View\Helper\ObservationInstanceViewHelper; use UnicaenObservation\View\Helper\ObservationInstanceViewHelperFactory; use UnicaenPrivilege\Guard\PrivilegeController; return [ Loading Loading @@ -200,9 +201,12 @@ return [ ], ], 'view_helpers' => [ 'invokables' => [ 'observationinstance' => ObservationInstanceViewHelper::class, 'factories' => [ ObservationInstanceViewHelper::class => ObservationInstanceViewHelperFactory::class, ], 'aliases' => [ 'observationinstance' => ObservationInstanceViewHelper::class, ] ], ]; No newline at end of file
src/UnicaenObservation/Controller/ObservationInstanceController.php +1 −1 Original line number Diff line number Diff line Loading @@ -128,7 +128,7 @@ class ObservationInstanceController extends AbstractActionController $vm->setVariables([ 'title' => "Restauration d'observations", 'text' => "La restauration va rétablir votre observation. Êtes-vous sûr·e de vouloir continuer ?", 'action' => $this->url()->fromRoute('observation/instance/historiser', ["observation" => $observation->getId()], [], true), 'action' => $this->url()->fromRoute('observation/instance/restaurer', ["observation" => $observation->getId()], [], true), ]); } return $vm; Loading
src/UnicaenObservation/Provider/Privilege/ObservationinstancePrivileges.php +1 −0 Original line number Diff line number Diff line Loading @@ -12,4 +12,5 @@ class ObservationinstancePrivileges extends Privileges const OBSERVATIONINSTANCE_MODIFIER = 'observationinstance-observationinstance_modifier'; const OBSERVATIONINSTANCE_HISTORISER = 'observationinstance-observationinstance_historiser'; const OBSERVATIONINSTANCE_SUPPRIMER = 'observationinstance-observationinstance_supprimer'; const OBSERVATIONINSTANCE_AFFICHER_HISTORISER = 'observationinstance-observationinstance_afficher_historiser'; } No newline at end of file
src/UnicaenObservation/View/Helper/ObservationInstanceViewHelper.php +4 −1 Original line number Diff line number Diff line Loading @@ -7,15 +7,18 @@ use Laminas\View\Helper\Partial; use Laminas\View\Renderer\PhpRenderer; use Laminas\View\Resolver\TemplatePathStack; use UnicaenObservation\Entity\Db\ObservationInstance; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; class ObservationInstanceViewHelper extends AbstractHelper { use UserServiceAwareTrait; /** Liste des options : * - 'activer-validation' : afficher et permet de valider une observation * - 'can-modifier' : surcharge du privilège pour la modification * - 'can-historiser' : surcharge du privilège pour l'historisation/restauration * - 'can-supprimer' : surcharge du privilège pour la suppression * - 'can-afficher-historiser' : surcharge du privilège pour l'affichage des observations historisées * */ public function __invoke(ObservationInstance $observation, array $options = []): string|Partial { Loading @@ -23,6 +26,6 @@ class ObservationInstanceViewHelper extends AbstractHelper $view = $this->getView(); $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]])); return $view->partial('observation-instance', ['observation' => $observation, 'options' => $options]); return $view->partial('observation-instance', ['observation' => $observation, 'user' => $this->getUserService()->getConnectedUser(), 'options' => $options]); } } No newline at end of file
src/UnicaenObservation/View/Helper/ObservationInstanceViewHelperFactory.php 0 → 100644 +35 −0 Original line number Diff line number Diff line <?php namespace UnicaenObservation\View\Helper; use Laminas\View\Helper\AbstractHelper; use Laminas\View\Helper\Partial; use Laminas\View\Renderer\PhpRenderer; use Laminas\View\Resolver\TemplatePathStack; use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; use Psr\Container\NotFoundExceptionInterface; use UnicaenObservation\Entity\Db\ObservationInstance; use UnicaenObservation\View\Helper\ObservationInstanceViewHelper; use UnicaenUtilisateur\Service\User\UserService; use UnicaenUtilisateur\Service\User\UserServiceAwareTrait; class ObservationInstanceViewHelperFactory { /** * @throws ContainerExceptionInterface * @throws NotFoundExceptionInterface */ public function __invoke(ContainerInterface $container): ObservationInstanceViewHelper { /** * @var UserService $userService */ $userService = $container->get(UserService::class); $helper = new ObservationInstanceViewHelper(); $helper->setUserService($userService); return $helper; } } No newline at end of file