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

Maj des templates de convocation et d'attestion + macros associées

parent 86a22af6
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -960,14 +960,13 @@ FROM d
JOIN unicaen_parametre_categorie cp ON cp.CODE = 'FORMATION';

-- TEMPLATE - PDF ------------------------------------------------------------------

INSERT INTO unicaen_renderer_template (code, description, document_type, document_sujet, document_corps, document_css, namespace) VALUES ('FORMATION_ATTESTATION', null, 'pdf', 'Attestation de formation de VAR[AGENT#denomination] à la formation VAR[SESSION#libelle]', e'<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p><strong>Université de Caen Normandie</strong><br />DRH - Bureau conseil, carrière, compétences<br />Esplanade de la Paix<br />14032 CAEN CEDEX 5</p>
<p> </p>
<p style="text-align: right;">À Caen le VAR[EMC2#date]</p>
<p style="text-align: right;">À Caen le VAR[EMC2#Date]</p>
<p> </p>
<h1 style="text-align: center;">Attestation de stage</h1>
<p> </p>
@@ -984,14 +983,14 @@ INSERT INTO unicaen_renderer_template (code, description, document_type, documen
<p> </p>
<p> </p>
<h1 style="text-align: center;">Convocation à une action de formation</h1>
<p style="text-align: right;"> À Caen, le VAR[EMC2#date]</p>
<p style="text-align: right;"> À Caen, le VAR[EMC2#Date]</p>
<p>Bonjour <strong>VAR[AGENT#denomination]</strong>,</p>
<p> </p>
<p>Le bureau conseil carrière compétences vous informe que vous êtes retenu-e à la formation :</p>
<p style="text-align: center;"><strong>VAR[SESSION#libelle]<br /></strong></p>
<p>à laquelle vous êtes inscrit-e et se déroulera selon le calendrier ci-dessous :</p>
<p>VAR[SESSION#seances] </p>
<p>En cas d\'impossibilité d\'assister à tout ou partie de ce stage, vous êtes invité-e à vous connecter dans la partie "Formation"/"S\'inscrire à une formation" de VAR[EMC2#appname], dans les meilleurs délais, afin de nous permettre de contacter une personne sur liste d\'attente.</p>
<p>En cas d\'impossibilité d\'assister à tout ou partie de ce stage, vous êtes invité-e à vous connecter dans la partie "Formation"/"S\'inscrire à une formation" de VAR[EMC2#AppName], dans les meilleurs délais, afin de nous permettre de contacter une personne sur liste d\'attente.</p>
<p style="text-align: justify;"> </p>
<p style="text-align: justify;">Le bureau conseil, carrière, compétences vous souhaite un stage fructueux.</p>
<p style="text-align: justify;"> </p>
@@ -1364,3 +1363,10 @@ INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_na
('SESSION#lieu', '', 'session', 'getLieuString'),
('SESSION#periode', 'retourne la période sous la forme <em>DEBUT au FIN</em>', 'session', 'getPeriode'),
('SESSION#seances', '', 'session', 'getListeJournees');

-- MACROS A PROPOS DES INSCRIPTIONS
INSERT INTO unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES
('INSCRIPTION#duree', '<p>Affiche la durée de présence de l inscrit</p>', 'inscription', 'getDureePresence'),
('INSCRIPTION#justificationAgent', '<p>Retourne la motivation de l agent</p>', 'inscription', 'getJustificationAgent'),
('INSCRIPTION#justificationRefus', '<p>Retourne la motivation de la désinscription ou du refus</p>', 'inscription', 'getJustificationRefus'),
('INSCRIPTION#justificationResponsable', '<p>Retourne la motivation du responsable</p>', 'inscription', 'getJustificationResponsable');
+9 −1
Original line number Diff line number Diff line
@@ -23,3 +23,11 @@ INSERT INTO unicaen_privilege_privilege_role_linker (role_id, privilege_id)
SELECT 2 as role_id, p.id as privilege_id
FROM unicaen_privilege_privilege p
LEFT JOIN unicaen_privilege_categorie c on p.categorie_id = c.id and c.namespace like 'Unicaen%';


-- MACRO GENERAL -----------------------------------------------------------------------
INSERT INTO public.unicaen_renderer_macro (code, description, variable_name, methode_name) VALUES
('EMC2#AppLink', '<p>Retour un lien vers l''application (en capsuler dans une balise a)</p>', 'UrlService', 'getUrlApp'),
('EMC2#AppName', '<p>Retourne le nom de l''application</p>', 'UrlService', 'getNameApp'),
('EMC2#Date', '<p>Affiche la date au format d/m/Y</p>', 'UrlService', 'toStringDate'),
('EMC2#DateTime', '<p>Retourne la date au format d/m/Y à H:i</p>', 'UrlService', 'toStringDateTime');
+29 −17
Original line number Diff line number Diff line
@@ -2,20 +2,19 @@

namespace Application\Service\Url;

use DateTime;
use Laminas\View\Renderer\PhpRenderer;

class UrlService {

    /** @var PhpRenderer */
    protected $renderer;
    /** @var array */
    protected $variables;
    protected ?PhpRenderer $renderer = null;
    protected array $variables = [];

    /**
     * @param PhpRenderer $renderer
     * @return UrlService
     */
    public function setRenderer($renderer) : UrlService
    public function setRenderer(PhpRenderer $renderer) : UrlService
    {
        $this->renderer = $renderer;
        return $this;
@@ -31,27 +30,40 @@ class UrlService {
        return $this;
    }

    /**
     * @param string
     * @return mixed
     */
    public function getVariable(string $key)
    public function getVariable(string $key): mixed
    {
        if (! isset($this->variables[$key])) return null;
        return $this->variables[$key];
    }

    /**
     * @return string
     */
    /** @noinspection PhpUnused */
    public function getUrlApp() : string
    {
        $url = $this->renderer->url('home', [], ['force_canonical' => true], true);
        return $url;
        return '<a href="'.$url.'">'.$url.'</a>';
    }
    /**
     * @return string
     */

    /** @noinspection PhpUnused */
    public function getNameApp() : string
    {
        return 'EMC2 : Emploi Mobilité Carrière Compétence';
    }

    /** @noinspection PhpUnused */
    public function toStringDate() : string
    {
        $date = new DateTime();
        return $date->format('d/m/Y');
    }

    /** @noinspection PhpUnused */
    public function toStringDateTime() : string
    {
        $date = new DateTime();
        return $date->format('d/m/Y à H:m');
    }

    /** @noinspection PhpUnused */
    public function getUrlFichePoste() : string
    {
        $ficheposte = $this->variables['ficheposte'];
+4 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ use Formation\Service\Emargement\EmargementPdfExporter;
use Formation\Service\FormationInstance\FormationInstanceServiceAwareTrait;
use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritServiceAwareTrait;
use Formation\Service\Seance\SeanceServiceAwareTrait;
use Formation\Service\Url\UrlServiceAwareTrait;
use JetBrains\PhpStorm\NoReturn;
use Laminas\Mvc\Controller\AbstractActionController;
use Mpdf\MpdfException;
@@ -31,6 +32,7 @@ class FormationInstanceDocumentController extends AbstractActionController
    use RenduServiceAwareTrait;
    use SeanceServiceAwareTrait;
    use TemplateServiceAwareTrait;
    use UrlServiceAwareTrait;

    private $renderer;

@@ -86,6 +88,7 @@ class FormationInstanceDocumentController extends AbstractActionController
            'formation' => $inscrit->getInstance()->getFormation(),
            'session' => $inscrit->getInstance(),
            'MacroService' => $this->getMacroService(),
            'UrlService' => $this->getUrlService(),
        ];
        $rendu = $this->getRenduService()->generateRenduByTemplateCode(PdfTemplates::FORMATION_CONVOCATION, $vars);
        $exporter = new PdfExporter();
@@ -111,6 +114,7 @@ class FormationInstanceDocumentController extends AbstractActionController
            'formation' => $inscrit->getInstance()->getFormation(),
            'session' => $inscrit->getInstance(),
            'MacroService' => $this->getMacroService(),
            'UrlService' => $this->getUrlService(),
        ];
        $rendu = $this->getRenduService()->generateRenduByTemplateCode(PdfTemplates::FORMATION_ATTESTATION, $vars);
        $exporter = new PdfExporter();
+4 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ use Application\Service\Macro\MacroService;
use Formation\Service\FormationInstance\FormationInstanceService;
use Formation\Service\FormationInstanceInscrit\FormationInstanceInscritService;
use Formation\Service\Seance\SeanceService;
use Formation\Service\Url\UrlService;
use Interop\Container\ContainerInterface;
use Laminas\View\Renderer\PhpRenderer;
use Psr\Container\ContainerExceptionInterface;
@@ -31,6 +32,7 @@ class FormationInstanceDocumentControllerFactory
         * @var MacroService $macroService
         * @var RenduService $renduService
         * @var SeanceService $seanceService
         * @var UrlService $urlService
         */
        $agentService = $container->get(AgentService::class);
        $formationInstanceService = $container->get(FormationInstanceService::class);
@@ -38,6 +40,7 @@ class FormationInstanceDocumentControllerFactory
        $macroService = $container->get(MacroService::class);
        $renduService = $container->get(RenduService::class);
        $seanceService = $container->get(SeanceService::class);
        $urlService = $container->get(UrlService::class);

        /* @var PhpRenderer $renderer */
        $renderer = $container->get('ViewRenderer');
@@ -50,6 +53,7 @@ class FormationInstanceDocumentControllerFactory
        $controller->setMacroService($macroService);
        $controller->setRenduService($renduService);
        $controller->setSeanceService($seanceService);
        $controller->setUrlService($urlService);
        $controller->setRenderer($renderer);

        return $controller;
Loading