Commit 6f770d2b authored by Jean-Philippe Metivier's avatar Jean-Philippe Metivier
Browse files

Correction

parent e9e5b425
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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 [
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −0
Original line number Diff line number Diff line
@@ -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
+4 −1
Original line number Diff line number Diff line
@@ -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
    {
@@ -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
+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