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

Nouveau VH pour les horodatages pour rendre un peu plus compacte l'horodatage

parent 032e406b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ namespace Formation;
use Horodatage\Service\Horodatage\HorodatageService;
use Horodatage\Service\Horodatage\HorodatageServiceFactory;
use Horodatage\View\Helper\DernierHorodatageViewHelper;
use Horodatage\View\Helper\DerniersHorodatagesViewHelper;
use Horodatage\View\Helper\HorodatageViewHelper;
use UnicaenAuth\Guard\PrivilegeController;

@@ -42,6 +43,7 @@ return [
        'invokables' => [
            'horodatage' => HorodatageViewHelper::class,
            'dernierHorodatage' => DernierHorodatageViewHelper::class,
            'derniersHorodatages' => DerniersHorodatagesViewHelper::class,
        ],
    ],

+27 −0
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;

/** $types est une table de couples (type, complement)*/
class DerniersHorodatagesViewHelper 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 = [];
        foreach ($types as $couple) {
            [$type, $complement] = $couple;
            $horodatage = $element->getLastHoradatage($type, $complement);
            if ($horodatage !== null) $horodatages[] = $horodatage;
        }
        return $view->partial('derniers-horodatages', ['horodatages' => $horodatages, 'options' => $options]);
    }
}
 No newline at end of file
+30 −0
Original line number Diff line number Diff line
<?php

use Horodatage\Entity\Db\Horodatage;

/**
 * @see DernierHorodatageViewHelper
 * @var Horodatage $horodatage
 * @var array $options
 */

$first = true;
?>
<?php if (!empty($horodatages)) : ?>
    <div class="alert alert-info"  style="margin-left: 1rem;">
        <?php foreach ($horodatages as $horodatage) : ?>
            <?php if (!$first) : ?>
                <br/>
            <?php endif; ?>
            <?php echo $horodatage->getType(); ?>
            <?php if ($horodatage->getComplement()) : ?>
                : <?php echo $horodatage->getComplement(); ?>
            <?php endif; ?>
            &mdash;
            fait par <?php echo $horodatage->getUtilisateur()->getDisplayName(); ?>
            le <?php echo $horodatage->getDate()->format('d/m/Y'); ?>
            à <?php echo $horodatage->getDate()->format('H:i'); ?>
            <?php $first = false; ?>
        <?php endforeach; ?>
    </div>
<?php endif; ?>
 No newline at end of file
+13 −8
Original line number Diff line number Diff line
@@ -345,11 +345,14 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr
                    <?php endif; ?>
                </div>

                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_EDITION, "Procès verbal"); ?>
                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_EDITION, "Avis de soutenance"); ?>
                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_EDITION, "Rapport de soutenance"); ?>
                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_EDITION, "Rapport technique"); ?>
                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_EDITION, "Convocations"); ?>
                <?php echo $this->derniersHorodatages($proposition, [
                    [HorodatageService::TYPE_EDITION, "Procès verbal"],
                    [HorodatageService::TYPE_EDITION, "Avis de soutenance"],
                    [HorodatageService::TYPE_EDITION, "Rapport de soutenance"],
                    [HorodatageService::TYPE_EDITION, "Rapport technique"],
                    [HorodatageService::TYPE_EDITION, "Convocations"],
                ]);
                ?>
            </div>

            <!-- Partie envoi des convocations ------------------------------------------------------------------------>
@@ -373,9 +376,11 @@ $canSimulerRemonter = $this->isAllowed(PresoutenancePrivileges::getResourceId(Pr
                    <?php endif; ?>
                </div>

                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_NOTIFICATION, "Convocations"); ?>
                <?php echo $this->dernierHorodatage($proposition, HorodatageService::TYPE_NOTIFICATION, "Transmission des documents"); ?>

                <?php echo $this->derniersHorodatages($proposition, [
                    [HorodatageService::TYPE_NOTIFICATION, "Convocations"],
                    [HorodatageService::TYPE_NOTIFICATION, "Transmission des documents"]
                ]);
                ?>
            </div>
        </div>
    </div>