Commit ea9eb6f4 authored by Thomas Hamel's avatar Thomas Hamel
Browse files

ajout de l'historique des actions effectuées pour chaque action, dans le module Soutenance

parent bca7d716
Loading
Loading
Loading
Loading
+1 −0
Changes for CHANGELOG.md: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ Journal des modifications
8.6.1
-----
- Module Formation : Affichage pour le doctorant de l'objectif et du programme d'une formation (sur la fiche d'une session de formation) 
- Module Soutenances : Affichage de l'historique des actions effectuées (horodatages) en dessous de chacune d'elles 
- [FIX] Notifications de demande d'engagement d'impartialité et d'avis de soutenance : utilisation en priorité du mail de l'acteur.
- [FIX] Impossible d'accèder aux pages de consultation/modification d'ED ou d'UR.
- [FIX] Coquille dans le procès verbal de soutenance (PDF).
+4 −0
Changes for module/Horodatage/config/others/horodatage.config.php: 4 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -6,6 +6,8 @@ use Horodatage\Service\Horodatage\HorodatageService;
use Horodatage\Service\Horodatage\HorodatageServiceFactory;
use Horodatage\View\Helper\DernierHorodatageViewHelper;
use Horodatage\View\Helper\DerniersHorodatagesViewHelper;
use Horodatage\View\Helper\HorodatagesParTypesViewHelper;
use Horodatage\View\Helper\HorodatagesParTypeViewHelper;
use Horodatage\View\Helper\HorodatageViewHelper;
use UnicaenAuth\Guard\PrivilegeController;

@@ -44,6 +46,8 @@ return [
            'horodatage' => HorodatageViewHelper::class,
            'dernierHorodatage' => DernierHorodatageViewHelper::class,
            'derniersHorodatages' => DerniersHorodatagesViewHelper::class,
            'horodatagesParType' => HorodatagesParTypeViewHelper::class,
            'horodatagesParTypes' => HorodatagesParTypesViewHelper::class,
        ],
    ],

+21 −0
Changes for module/Horodatage/src/Horodatage/View/Helper/HorodatagesParTypeViewHelper.php: 21 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

namespace Horodatage\View\Helper;

use Application\View\Renderer\PhpRenderer;
use Horodatage\Entity\Interfaces\HasHorodatagesInterface;
use Laminas\View\Helper\AbstractHelper;
use Laminas\View\Resolver\TemplatePathStack;

class HorodatagesParTypeViewHelper extends AbstractHelper
{
    public function __invoke(HasHorodatagesInterface $element, string $type, ?string $complement = null, array $options = []) : string
    {
        /** @var PhpRenderer $view */
        $view = $this->getView();
        $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]]));

        $horodatages = $element->getHorodatages($type, $complement);
        return $view->partial('horodatages-par-type', ['element' => $element,'horodatages' => $horodatages, 'options' => $options]);
    }
}
 No newline at end of file
+39 −0
Changes for module/Horodatage/src/Horodatage/View/Helper/HorodatagesParTypesViewHelper.php: 39 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

namespace Horodatage\View\Helper;

use Application\View\Renderer\PhpRenderer;
use Horodatage\Entity\Interfaces\HasHorodatagesInterface;
use Laminas\View\Helper\AbstractHelper;
use Laminas\View\Resolver\TemplatePathStack;

class HorodatagesParTypesViewHelper extends AbstractHelper
{
    public function __invoke(HasHorodatagesInterface $element, array $types, array $options = []) : string
    {
        /** @var PhpRenderer $view */
        $view = $this->getView();
        $view->resolver()->attach(new TemplatePathStack(['script_paths' => [__DIR__ . "/partial"]]));

        $horodatages = [];
        $hasMultipleEvenements = false;
        foreach ($types as $couple) {
            [$type, $complement] = $couple;
            $allHorodatages = $element->getHorodatages($type, $complement);
            if (!empty($allHorodatages)) {
                // Le dernier horodatage
                $lastHorodatage = $element->getLastHoradatage($type, $complement);

                $horodatages[$complement] = [
                    'last' => $lastHorodatage,
                    'others' => $allHorodatages, // Les autres horodatages (le reste du tableau)
                ];

                if (count($horodatages[$complement]['others']) > 1) {
                    $hasMultipleEvenements = true;
                }
            }
        }
        return $view->partial('horodatages-par-types', ['horodatages' => $horodatages, 'options' => $options, 'hasMultipleEvenements' => $hasMultipleEvenements]);
    }
}
 No newline at end of file
+2 −0
Changes for module/Horodatage/src/Horodatage/View/Helper/partial/horodatage.phtml: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -11,10 +11,12 @@ use Horodatage\Entity\Db\Horodatage;
?>

<div class="horodatage">
    <b>
        <?php echo $horodatage->getType(); ?>
        <?php if ($horodatage->getComplement()) : ?>
            : <?php echo $horodatage->getComplement(); ?>
        <?php endif; ?>
    </b>
    &mdash;
    fait par <?php echo $horodatage->getUtilisateur()->getDisplayName(); ?>
    le <?php echo $horodatage->getDate()->format('d/m/Y'); ?>
Loading