Skip to content
Snippets Groups Projects
Select Git revision
  • php84
  • master default protected
  • subtemplate
  • release_7.0.6
  • 6.x
  • v5.x-test
  • 5x
  • 7.1.1
  • 7.1.0
  • 7.0.6
  • 7.0.5
  • 7.0.4
  • 7.0.3
  • 7.0.2
  • 7.0.1
  • 7.0.0
  • 6.1.7
  • 6.1.6
  • 6.1.5
  • 6.1.4
  • 6.1.3
  • 6.1.2
  • 6.1.1
  • 6.1.0
  • 6.0.3
  • 6.0.2
  • 5.0.6
27 results

renderer

  • Open with
  • Download source code
  • Your workspaces

      A workspace is a virtual sandbox environment for your code in GitLab.

      No agents available to create workspaces. Please consult Workspaces documentation for troubleshooting.

  • Module Unicaen Evenement

    Description

    La bibliothèque unicaen/renderer est en charge de la génération de contenus "génériques" basés sur des templates et macros.

    Utilisation de la bibliothèque

    Le service RenduService fournit une méthode generateRenduByTemplateCode en charge de générer un contenu avec le code d'un temmplate et un tableau de variables qui seront exploitées par les macros. Le troisième paramètre permet de controller l'enregistrement du rendu en base de données.

    $vars = ['variable1' => $variable1, ...];
    $rendu = $this->getRenduService()->generateRenduByTemplateCode(Templates::MON_TEMPLATE, $vars, false);
    
    echo $rendu->getSujet();
    echo $rendu->getCorps();

    Aides de vue founies

    La biliothèque fournit un ViewHelper pour l'affichage d'un rendu

    echo $this->rendu($rendu); 

    Administration

    La biliothèque fournit des interfaces d'administration pour le paramètre des macros et templates et le listing des rendus. Le fichier config/unicae-renderer.global.dist.php contient la déclaration des différents menus d'administration.

    Tables et privilèges associés

    Les tables et les privilèges sont fournis dans les fichiers suivants : SQL/001_tables.sql et SQL/002_privileges.sql.

    Macro

    Colonne Attribut Type Descriptions
    id $id serial PK
    code $code varchar(256) identifiant de la macro
    description $description text
    variable_name $variable varchar(256) nom de la variable utilisée par la macro
    methode_name $methode varchar(256) nom de la méthode utilisée par la macro

    Remarque :

    • variable_name est recherchée dans le tableau de variable (si non trouvée alors un warning est mis dans le rendu variable non trouvée).
    • methode_name est appelé sur la variable variable_name comme suit $variable_name->methode_name() (si non trouvée alors un warning est mis dans le rendu méthode non trouvée).

    Template

    Colonne Attribut Type Descriptions
    id $id serial PK
    code $code varchar(256) identifiant de la macro
    description $description text
    namespace $namespace varchar(256) Espace de "nom" du template
    document_type $type text un type parmi 'text', 'mail', 'pdf'
    document_sujet $sujet text Le sujet ou le nom du fichier
    document_corps $corps text Le corps ou le contenu du fichier
    document_css $css text Un snipet CSS pour la mise en forme

    Rendu

    Colonne Attribut Type Descriptions
    id $id serial PK
    template_id $template integer FK identifiant du template utilisé
    date_generation $date timestamp
    sujet $sujet text Sujet "généré"
    corps $corps text Corps "généré"

    CHANGELOG

    6.0.3 (19/09/2023)

    • Ajout du filtre des types de template sur l'index des template
    • Ajout du filtre sur l'index des rendus (date + template)
    • Amélioration de la documentation

    5.0.5

    • Ajout de la notion de namespace au template pour facilitité l'exploitation

    Modification du schéma

    5.0.5

    alter table unicaen_renderer_template add namespace varchar(1024);

    Dépendance à UnicaenPrivilege

    1. Dans vendor/unicaen/renderer/config/merged/index.config.php, vendor/unicaen/renderer/config/merged/macro.config.php, vendor/unicaen/renderer/config/merged/rendu.config.php, vendor/unicaen/renderer/config/merged/template.config.php : UnicaenPrivilege\Guard\PrivilegeController pour les gardes liées aux actions. Peut être directement remplacer par l'equivalent fournit par unicaen/auth.

    2. Dans vendor/unicaen/renderer/src/UnicaenRenderer/Provider/Privilege/DocumentcontenuPrivileges.php, vendor/unicaen/renderer/src/UnicaenRenderer/Provider/Privilege/DocumentmacroPrivileges.php, vendor/unicaen/renderer/src/UnicaenRenderer/Provider/Privilege/DocumenttemplatePrivileges.php : UnicaenPrivilege\Provider\Privilege\Privileges classe mère des privilèges du module. Peut être directement remplacer par l'equivalent fournit par unicaen/auth.

    3. Utiliser UnicaenRenderer dans le cadre de UnicaenAuth, il faut écraser la config gérant les gardes de bjyauthoryze en ajoutant une config dans Application (par example unicaen-renderer.config.php)

    <?php
    
    use UnicaenPrivilege\Guard\PrivilegeController;
    use UnicaenRenderer\Controller\IndexController;
    use UnicaenRenderer\Controller\MacroController;
    use UnicaenRenderer\Controller\RenduController;
    use UnicaenRenderer\Controller\TemplateController;
    use UnicaenRenderer\Provider\Privilege\DocumentcontenuPrivileges;
    use UnicaenRenderer\Provider\Privilege\DocumentmacroPrivileges;
    use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges;
    
    return [
        'bjyauthorize' => [
            'guards' => [
                PrivilegeController::class => [
                    [
                        'controller' => IndexController::class,
                        'action' => [
                            'index',
                        ],
                        'privileges' => [
                            DocumentcontenuPrivileges::DOCUMENTCONTENU_INDEX,
                            DocumentmacroPrivileges::DOCUMENTMACRO_INDEX,
                            DocumenttemplatePrivileges::DOCUMENTTEMPLATE_INDEX
                        ],
                    ],
                    [
                        'controller' => MacroController::class,
                        'action' => [
                            'index',
                            'generer-json'
                        ],
                        'privileges' => [
                            DocumentmacroPrivileges::DOCUMENTMACRO_INDEX,
                        ],
                    ],
                    [
                        'controller' => MacroController::class,
                        'action' => [
                            'ajouter',
                        ],
                        'privileges' => [
                            DocumentmacroPrivileges::DOCUMENTMACRO_AJOUTER,
                        ],
                    ],
                    [
                        'controller' => MacroController::class,
                        'action' => [
                            'modifier',
                        ],
                        'privileges' => [
                            DocumentmacroPrivileges::DOCUMENTMACRO_MODIFIER,
                        ],
                    ],
                    [
                        'controller' => MacroController::class,
                        'action' => [
                            'supprimer',
                        ],
                        'privileges' => [
                            DocumentmacroPrivileges::DOCUMENTMACRO_SUPPRIMER,
                        ],
                    ],
                    [
                        'controller' => RenduController::class,
                        'action' => [
                            'index',
                        ],
                        'privileges' => [
                            DocumentcontenuPrivileges::DOCUMENTCONTENU_INDEX,
                        ],
                    ],
                    [
                        'controller' => RenduController::class,
                        'action' => [
                            'afficher',
                        ],
                        'privileges' => [
                            DocumentcontenuPrivileges::DOCUMENTCONTENU_AFFICHER,
                        ],
                    ],
                    [
                        'controller' => RenduController::class,
                        'action' => [
                            'supprimer',
                        ],
                        'privileges' => [
                            DocumentcontenuPrivileges::DOCUMENTCONTENU_SUPPRIMER,
                        ],
                    ],
                    [
                        'controller' => TemplateController::class,
                        'action' => [
                            'index',
                        ],
                        'privileges' => [
                            DocumenttemplatePrivileges::DOCUMENTTEMPLATE_INDEX,
                        ],
                    ],
                    [
                        'controller' => TemplateController::class,
                        'action' => [
                            'afficher',
                        ],
                        'privileges' => [
                            DocumenttemplatePrivileges::DOCUMENTTEMPLATE_AFFICHER,
                        ],
                    ],
                    [
                        'controller' => TemplateController::class,
                        'action' => [
                            'ajouter',
                        ],
                        'privileges' => [
                            DocumenttemplatePrivileges::DOCUMENTTEMPLATE_AJOUTER,
                        ],
                    ],
                    [
                        'controller' => TemplateController::class,
                        'action' => [
                            'modifier',
                        ],
                        'privileges' => [
                            DocumenttemplatePrivileges::DOCUMENTTEMPLATE_MODIFIER,
                        ],
                    ],
                    [
                        'controller' => TemplateController::class,
                        'action' => [
                            'detruire',
                        ],
                        'privileges' => [
                            DocumenttemplatePrivileges::DOCUMENTTEMPLATE_SUPPRIMER,
                        ],
                    ],
                ],
            ],
        ],
    ];