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

Ajustement interfaces

parent 2f577dfe
Loading
Loading
Loading
Loading
Loading
+38 −1
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@ namespace UnicaenRenderer\Controller;

use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\View\Model\ViewModel;
use UnicaenRenderer\Entity\Db\Macro;
use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
use UnicaenRenderer\Service\Template\TemplateServiceAwareTrait;

@@ -16,13 +17,49 @@ class VerificationController extends AbstractActionController {
        $macros_ = $this->getMacroService()->getMacros();
        $macros = []; foreach ($macros_ as $macro_) { $macros[$macro_->getCode()] = $macro_;}
        $templates = $this->getTemplateService()->getTemplates();
        [$macroSujet, $macroCorps] = $this->getTemplateService()->checkMacrosFromTemplates();
        [$macroSujet, $macroCorps, $rMacroSujet, $rMacroCorps] = $this->getTemplateService()->checkMacrosFromTemplates();


        $macrosUtiliseesDeclarees = [];
        $macrosUtiliseesNonDeclarees = [];
        foreach ($templates as $template) {
            foreach ($macroSujet[$template->getCode()] as $macro) {
                $code = Macro::extractCode($macro);
                if (!isset($macros[Macro::extractCode($macro)]))  {
                    $macrosUtiliseesNonDeclarees[$code] = $code;
                } else {
                    $macrosUtiliseesDeclarees[$code] = $code;
                }
            }
            foreach ($macroCorps[$template->getCode()] as $macro) {
                $code = Macro::extractCode($macro);
                if (!isset($macros[$code])) {
                    $macrosUtiliseesNonDeclarees[$code] = $code;
                } else {
                    $macrosUtiliseesDeclarees[$code] = $code;
                }
            }
        }



        $macrosDeclareesNonUtilisees = [];
        foreach ($macros as $macro) {
            if (!in_array($macro->getCode(), $macrosUtiliseesDeclarees)) {
                $macrosDeclareesNonUtilisees[] = $macro;
            }
        }

        return new ViewModel([
            'macros' => $macros,
            'templates' => $templates,
            'macroSujet' => $macroSujet,
            'macroCorps' => $macroCorps,
            'rMacroSujet' => $rMacroSujet,
            'rMacroCorps' => $rMacroCorps,

            'macrosUtiliseesNonDeclarees' => $macrosUtiliseesNonDeclarees,
            'macrosDeclareesNonUtilisees' => $macrosDeclareesNonUtilisees,
        ]);
    }
}
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
@@ -64,4 +64,10 @@ class Macro implements ResourceInterface
        $this->methode = $methode;
    }


    public static function extractCode(string $macro) : string
    {
        $code = explode("|",substr($macro,4,-1))[0];
        return $code;
    }
}
 No newline at end of file
+5 −1
Original line number Diff line number Diff line
@@ -237,18 +237,22 @@ class TemplateService {
    public function checkMacrosFromTemplates(): array
    {
        $macrosSujet = [];
        $rMacroSujet = [];
        $macrosCorps = [];
        $rMacroCorps = [];
        $templates = $this->getTemplates();
        foreach ($templates as $template) {
            $sujet = $template->getSujet();
            preg_match_all('/VAR\[[^[\]]+#[^[\]]+\]/', $sujet, $matches);
            $macrosSujet[$template->getCode()] = $matches[0];
            foreach($matches[0] as $macro) $rMacroSujet[$macro][] = $template->getCode();

            $corps = $template->getCorps();
            preg_match_all('/VAR\[[^[\]]+#[^[\]]+\]/', $corps, $matches);
            $macrosCorps[$template->getCode()] = $matches[0];
            foreach($matches[0] as $macro) $rMacroCorps[$macro][] = $template->getCode();
        }

        return [$macrosSujet, $macrosCorps];
        return [$macrosSujet,  $macrosCorps, $rMacroSujet, $rMacroCorps];
    }
}
 No newline at end of file
+12 −5
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@ use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges;

$canRendu = $this->isAllowed(DocumentcontenuPrivileges::getResourceId(DocumentcontenuPrivileges::DOCUMENTCONTENU_INDEX));
$canTemplate = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(DocumenttemplatePrivileges::DOCUMENTTEMPLATE_INDEX));
$canMacro = $this->isAllowed(DocumentmacroPrivileges::getResourceId(DocumentmacroPrivileges::DOCUMENTMACRO_INDEX));
$canVerification = $canMacro && $canTemplate;

$canAjouter = $this->isAllowed(DocumentmacroPrivileges::getResourceId(DocumentmacroPrivileges::DOCUMENTMACRO_AJOUTER));
$canModifier = $this->isAllowed(DocumentmacroPrivileges::getResourceId(DocumentmacroPrivileges::DOCUMENTMACRO_MODIFIER));
@@ -30,17 +32,22 @@ $this->headTitle($title);
        </h1>
    </div>
    <div class="col-md-3">
        <?php if ($canTemplate) : ?>
            <a href="<?php echo $this->url('contenu/template'); ?>" class="btn btn-secondary action">
                <span class="icon icon-listing"></span>
                Accéder aux templates
            </a>
        <?php endif; ?>
        <?php if ($canRendu) : ?>
            <a href="<?php echo $this->url('contenu/rendu'); ?>" class="btn btn-secondary action">
                <span class="icon icon-listing"></span>
                Accéder aux rendus
            </a>
        <?php endif; ?>

        <?php if ($canTemplate) : ?>
            <a href="<?php echo $this->url('contenu/template'); ?>" class="btn btn-secondary action">
                <span class="icon icon-listing"></span>
                Accéder aux templates
        <?php if ($canVerification) : ?>
            <a href="<?php echo $this->url('unicaen-renderer/verification'); ?>" class="btn btn-secondary action">
                <span class="icon icon-checked"></span>
                Vérification des déclarations
            </a>
        <?php endif; ?>
    </div>
+3 −1
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges;

$canRendu = $this->isAllowed(DocumentcontenuPrivileges::getResourceId(DocumentcontenuPrivileges::DOCUMENTCONTENU_INDEX));
$canMacro = $this->isAllowed(DocumentmacroPrivileges::getResourceId(DocumentmacroPrivileges::DOCUMENTMACRO_INDEX));
$canTemplate = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(DocumenttemplatePrivileges::DOCUMENTTEMPLATE_INDEX));
$canVerification = $canMacro && $canTemplate;

$canAjouter = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(DocumenttemplatePrivileges::DOCUMENTTEMPLATE_AJOUTER));
$canAfficher = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(DocumenttemplatePrivileges::DOCUMENTTEMPLATE_AFFICHER));
@@ -48,7 +50,7 @@ if (isset($title)) $this->headTitle($title);
                Acceder aux macros
            </a>
        <?php endif; ?>
        <?php if ($canMacro) : ?>
        <?php if ($canVerification) : ?>
            <a href="<?php echo $this->url('unicaen-renderer/verification'); ?>" class="btn btn-secondary action">
                <span class="icon icon-checked"></span>
                Vérification des déclarations
Loading