Loading src/UnicaenRenderer/Controller/VerificationController.php +38 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 src/UnicaenRenderer/Entity/Db/Macro.php +6 −0 Original line number Diff line number Diff line Loading @@ -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 src/UnicaenRenderer/Service/Template/TemplateService.php +5 −1 Original line number Diff line number Diff line Loading @@ -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 view/unicaen-renderer/macro/index.phtml +12 −5 Original line number Diff line number Diff line Loading @@ -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)); Loading @@ -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> Loading view/unicaen-renderer/template/index.phtml +3 −1 Original line number Diff line number Diff line Loading @@ -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)); Loading Loading @@ -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 Loading
src/UnicaenRenderer/Controller/VerificationController.php +38 −1 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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
src/UnicaenRenderer/Entity/Db/Macro.php +6 −0 Original line number Diff line number Diff line Loading @@ -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
src/UnicaenRenderer/Service/Template/TemplateService.php +5 −1 Original line number Diff line number Diff line Loading @@ -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
view/unicaen-renderer/macro/index.phtml +12 −5 Original line number Diff line number Diff line Loading @@ -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)); Loading @@ -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> Loading
view/unicaen-renderer/template/index.phtml +3 −1 Original line number Diff line number Diff line Loading @@ -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)); Loading Loading @@ -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