From 7284df6149da18207315ce0402142b985ca5ecbb Mon Sep 17 00:00:00 2001
From: valleet01 <thibaut.vallee@unicaen.fr>
Date: Tue, 29 Mar 2022 07:56:19 +0200
Subject: [PATCH 1/3] Migration Laminas

---
 Module.php                                    | 14 ++++----
 composer.json                                 | 36 +++++++++----------
 config/merged/index.config.php                |  2 +-
 config/merged/macro.config.php                |  4 +--
 config/merged/rendu.config.php                |  4 +--
 config/merged/template.config.php             |  4 +--
 .../Controller/IndexController.php            |  4 +--
 .../Controller/MacroController.php            |  6 ++--
 .../Controller/RenduController.php            |  6 ++--
 .../Controller/TemplateController.php         |  6 ++--
 src/UnicaenRenderer/Entity/Db/Macro.php       |  2 +-
 src/UnicaenRenderer/Entity/Db/Rendu.php       |  2 +-
 src/UnicaenRenderer/Entity/Db/Template.php    |  2 +-
 src/UnicaenRenderer/Form/Macro/MacroForm.php  | 14 ++++----
 .../Form/Macro/MacroHydrator.php              |  2 +-
 .../Form/Template/TemplateForm.php            | 14 ++++----
 .../Form/Template/TemplateHydrator.php        |  2 +-
 .../Service/Macro/MacroService.php            |  2 +-
 .../Service/Rendu/RenduService.php            |  2 +-
 .../Service/Template/TemplateService.php      |  2 +-
 .../View/Helper/RenduViewHelper.php           |  6 ++--
 .../default/default-form.phtml                |  2 +-
 22 files changed, 69 insertions(+), 69 deletions(-)

diff --git a/Module.php b/Module.php
index a93499d..c57cf1b 100755
--- a/Module.php
+++ b/Module.php
@@ -2,11 +2,11 @@
 
 namespace UnicaenRenderer;
 
-use Zend\Mvc\ModuleRouteListener;
-use Zend\Mvc\MvcEvent;
-use Zend\Stdlib\ArrayUtils;
-use Zend\Stdlib\Glob;
-use Zend\Config\Factory as ConfigFactory;
+use Laminas\Mvc\ModuleRouteListener;
+use Laminas\Mvc\MvcEvent;
+use Laminas\Stdlib\ArrayUtils;
+use Laminas\Stdlib\Glob;
+use Laminas\Config\Factory as ConfigFactory;
 
 class Module
 {
@@ -18,7 +18,7 @@ class Module
         $moduleRouteListener->attach($eventManager);
 
         /* Active un layout spécial si la requête est de type AJAX. Valable pour TOUS les modules de l'application. */
-        $eventManager->getSharedManager()->attach('Zend\Mvc\Controller\AbstractActionController', 'dispatch',
+        $eventManager->getSharedManager()->attach('Laminas\Mvc\Controller\AbstractActionController', 'dispatch',
             function (MvcEvent $e) {
                 $request = $e->getRequest();
                 if ($request instanceof HttpRequest && $request->isXmlHttpRequest()) {
@@ -46,7 +46,7 @@ class Module
     public function getAutoloaderConfig()
     {
         return array(
-            'Zend\Loader\StandardAutoloader' => array(
+            'Laminas\Loader\StandardAutoloader' => array(
                 'namespaces' => array(
                     __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
                 ),
diff --git a/composer.json b/composer.json
index f2500b3..b1627e0 100755
--- a/composer.json
+++ b/composer.json
@@ -1,21 +1,21 @@
 {
-  "name": "unicaen/renderer",
-  "description": "Module de rendu de texte avec templates et macros",
-  "repositories": [
-    {
-      "type": "composer",
-      "url": "https://gest.unicaen.fr/packagist"
-    }
-  ],
-  "require": {
-    "unicaen/app":                                  "^3.0",
-    "unicaen/privilege":                            "dev-master"
-  },
-  "autoload": {
-    "psr-0": {
+    "name": "unicaen/renderer",
+    "description": "Module de rendu de texte avec templates et macros",
+    "repositories": [
+        {
+            "type": "composer",
+            "url": "https://gest.unicaen.fr/packagist"
+        }
+    ],
+    "require": {
+        "unicaen/app": "^5.0",
+        "unicaen/privilege": "dev-laminas_migration",
+        "laminas/laminas-dependency-plugin": "^2.1"
     },
-    "classmap": [
-      "./Module.php"
-    ]
-  }
+    "autoload": {
+        "psr-0": [],
+        "classmap": [
+            "./Module.php"
+        ]
+    }
 }
diff --git a/config/merged/index.config.php b/config/merged/index.config.php
index 52b43f4..d83179d 100755
--- a/config/merged/index.config.php
+++ b/config/merged/index.config.php
@@ -6,7 +6,7 @@ use UnicaenRenderer\Provider\Privilege\DocumentcontenuPrivileges;
 use UnicaenRenderer\Provider\Privilege\DocumentmacroPrivileges;
 use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges;
 use UnicaenPrivilege\Guard\PrivilegeController;
-use Zend\Router\Http\Literal;
+use Laminas\Router\Http\Literal;
 
 return [
     'bjyauthorize' => [
diff --git a/config/merged/macro.config.php b/config/merged/macro.config.php
index 805f771..6383d3f 100755
--- a/config/merged/macro.config.php
+++ b/config/merged/macro.config.php
@@ -10,8 +10,8 @@ use UnicaenRenderer\Provider\Privilege\DocumentmacroPrivileges;
 use UnicaenRenderer\Service\Macro\MacroService;
 use UnicaenRenderer\Service\Macro\MacroServiceFactory;
 use UnicaenPrivilege\Guard\PrivilegeController;
-use Zend\Router\Http\Literal;
-use Zend\Router\Http\Segment;
+use Laminas\Router\Http\Literal;
+use Laminas\Router\Http\Segment;
 
 return [
     'bjyauthorize' => [
diff --git a/config/merged/rendu.config.php b/config/merged/rendu.config.php
index 51dc24f..17de822 100755
--- a/config/merged/rendu.config.php
+++ b/config/merged/rendu.config.php
@@ -9,8 +9,8 @@ use UnicaenRenderer\Service\Rendu\RenduServiceFactory;
 use UnicaenRenderer\Provider\Privilege\DocumentcontenuPrivileges;
 use UnicaenPrivilege\Guard\PrivilegeController;
 use UnicaenRenderer\View\Helper\RenduViewHelper;
-use Zend\Router\Http\Literal;
-use Zend\Router\Http\Segment;
+use Laminas\Router\Http\Literal;
+use Laminas\Router\Http\Segment;
 
 return [
     'bjyauthorize' => [
diff --git a/config/merged/template.config.php b/config/merged/template.config.php
index 1be0dda..bd08bdc 100755
--- a/config/merged/template.config.php
+++ b/config/merged/template.config.php
@@ -10,8 +10,8 @@ use UnicaenRenderer\Provider\Privilege\DocumenttemplatePrivileges;
 use UnicaenRenderer\Service\Template\TemplateService;
 use UnicaenRenderer\Service\Template\TemplateServiceFactory;
 use UnicaenPrivilege\Guard\PrivilegeController;
-use Zend\Router\Http\Literal;
-use Zend\Router\Http\Segment;
+use Laminas\Router\Http\Literal;
+use Laminas\Router\Http\Segment;
 
 return [
     'bjyauthorize' => [
diff --git a/src/UnicaenRenderer/Controller/IndexController.php b/src/UnicaenRenderer/Controller/IndexController.php
index bce0b46..8c56931 100755
--- a/src/UnicaenRenderer/Controller/IndexController.php
+++ b/src/UnicaenRenderer/Controller/IndexController.php
@@ -2,8 +2,8 @@
 
 namespace UnicaenRenderer\Controller;
 
-use Zend\Mvc\Controller\AbstractActionController;
-use Zend\View\Model\ViewModel;
+use Laminas\Mvc\Controller\AbstractActionController;
+use Laminas\View\Model\ViewModel;
 
 class IndexController extends AbstractActionController {
 
diff --git a/src/UnicaenRenderer/Controller/MacroController.php b/src/UnicaenRenderer/Controller/MacroController.php
index 7213b53..c7ea647 100755
--- a/src/UnicaenRenderer/Controller/MacroController.php
+++ b/src/UnicaenRenderer/Controller/MacroController.php
@@ -6,9 +6,9 @@ use Application\Service\Agent\AgentServiceAwareTrait;
 use UnicaenRenderer\Entity\Db\Macro;
 use UnicaenRenderer\Form\Macro\MacroFormAwareTrait;
 use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
-use Zend\Http\Request;
-use Zend\Mvc\Controller\AbstractActionController;
-use Zend\View\Model\ViewModel;
+use Laminas\Http\Request;
+use Laminas\Mvc\Controller\AbstractActionController;
+use Laminas\View\Model\ViewModel;
 
 class MacroController extends AbstractActionController {
     use MacroServiceAwareTrait;
diff --git a/src/UnicaenRenderer/Controller/RenduController.php b/src/UnicaenRenderer/Controller/RenduController.php
index 5da2ad2..cb8e34b 100644
--- a/src/UnicaenRenderer/Controller/RenduController.php
+++ b/src/UnicaenRenderer/Controller/RenduController.php
@@ -3,9 +3,9 @@
 namespace UnicaenRenderer\Controller;
 
 use UnicaenRenderer\Service\Rendu\RenduServiceAwareTrait;
-use Zend\Http\Request;
-use Zend\Mvc\Controller\AbstractActionController;
-use Zend\View\Model\ViewModel;
+use Laminas\Http\Request;
+use Laminas\Mvc\Controller\AbstractActionController;
+use Laminas\View\Model\ViewModel;
 
 class RenduController extends AbstractActionController {
     use RenduServiceAwareTrait;
diff --git a/src/UnicaenRenderer/Controller/TemplateController.php b/src/UnicaenRenderer/Controller/TemplateController.php
index a7e8641..a6c5529 100755
--- a/src/UnicaenRenderer/Controller/TemplateController.php
+++ b/src/UnicaenRenderer/Controller/TemplateController.php
@@ -6,9 +6,9 @@ use UnicaenRenderer\Entity\Db\Template;
 use UnicaenRenderer\Form\Template\TemplateFormAwareTrait;
 use UnicaenRenderer\Service\Template\TemplateServiceAwareTrait;
 use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
-use Zend\Http\Request;
-use Zend\Mvc\Controller\AbstractActionController;
-use Zend\View\Model\ViewModel;
+use Laminas\Http\Request;
+use Laminas\Mvc\Controller\AbstractActionController;
+use Laminas\View\Model\ViewModel;
 
 class TemplateController extends AbstractActionController {
     use TemplateServiceAwareTrait;
diff --git a/src/UnicaenRenderer/Entity/Db/Macro.php b/src/UnicaenRenderer/Entity/Db/Macro.php
index 2f8bba6..941e314 100755
--- a/src/UnicaenRenderer/Entity/Db/Macro.php
+++ b/src/UnicaenRenderer/Entity/Db/Macro.php
@@ -2,7 +2,7 @@
 
 namespace UnicaenRenderer\Entity\Db;
 
-use Zend\Permissions\Acl\Resource\ResourceInterface;
+use Laminas\Permissions\Acl\Resource\ResourceInterface;
 
 class Macro implements ResourceInterface
 {
diff --git a/src/UnicaenRenderer/Entity/Db/Rendu.php b/src/UnicaenRenderer/Entity/Db/Rendu.php
index 53d36c7..e700cf9 100644
--- a/src/UnicaenRenderer/Entity/Db/Rendu.php
+++ b/src/UnicaenRenderer/Entity/Db/Rendu.php
@@ -3,7 +3,7 @@
 namespace UnicaenRenderer\Entity\Db;
 
 use DateTime;
-use Zend\Permissions\Acl\Resource\ResourceInterface;
+use Laminas\Permissions\Acl\Resource\ResourceInterface;
 
 class Rendu implements ResourceInterface
 {
diff --git a/src/UnicaenRenderer/Entity/Db/Template.php b/src/UnicaenRenderer/Entity/Db/Template.php
index b2bbc46..7f85697 100755
--- a/src/UnicaenRenderer/Entity/Db/Template.php
+++ b/src/UnicaenRenderer/Entity/Db/Template.php
@@ -2,7 +2,7 @@
 
 namespace UnicaenRenderer\Entity\Db;
 
-use Zend\Permissions\Acl\Resource\ResourceInterface;
+use Laminas\Permissions\Acl\Resource\ResourceInterface;
 
 class Template implements ResourceInterface
 {
diff --git a/src/UnicaenRenderer/Form/Macro/MacroForm.php b/src/UnicaenRenderer/Form/Macro/MacroForm.php
index 6967a86..942d589 100755
--- a/src/UnicaenRenderer/Form/Macro/MacroForm.php
+++ b/src/UnicaenRenderer/Form/Macro/MacroForm.php
@@ -4,13 +4,13 @@ namespace UnicaenRenderer\Form\Macro;
 
 use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenRenderer\Entity\Db\Macro;
-use Zend\Form\Element\Button;
-use Zend\Form\Element\Hidden;
-use Zend\Form\Element\Text;
-use Zend\Form\Element\Textarea;
-use Zend\Form\Form;
-use Zend\InputFilter\Factory;
-use Zend\Validator\Callback;
+use Laminas\Form\Element\Button;
+use Laminas\Form\Element\Hidden;
+use Laminas\Form\Element\Text;
+use Laminas\Form\Element\Textarea;
+use Laminas\Form\Form;
+use Laminas\InputFilter\Factory;
+use Laminas\Validator\Callback;
 
 class MacroForm extends Form {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenRenderer/Form/Macro/MacroHydrator.php b/src/UnicaenRenderer/Form/Macro/MacroHydrator.php
index d391221..bba2963 100755
--- a/src/UnicaenRenderer/Form/Macro/MacroHydrator.php
+++ b/src/UnicaenRenderer/Form/Macro/MacroHydrator.php
@@ -3,7 +3,7 @@
 namespace UnicaenRenderer\Form\Macro;
 
 use UnicaenRenderer\Entity\Db\Macro;
-use Zend\Hydrator\HydratorInterface;
+use Laminas\Hydrator\HydratorInterface;
 
 class MacroHydrator implements HydratorInterface {
 
diff --git a/src/UnicaenRenderer/Form/Template/TemplateForm.php b/src/UnicaenRenderer/Form/Template/TemplateForm.php
index 5de3907..1e2a310 100755
--- a/src/UnicaenRenderer/Form/Template/TemplateForm.php
+++ b/src/UnicaenRenderer/Form/Template/TemplateForm.php
@@ -6,13 +6,13 @@ use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenRenderer\Entity\Db\Template;
 use UnicaenRenderer\Entity\Db\Macro;
 use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
-use Zend\Form\Element\Button;
-use Zend\Form\Element\Hidden;
-use Zend\Form\Element\Select;
-use Zend\Form\Element\Text;
-use Zend\Form\Form;
-use Zend\InputFilter\Factory;
-use Zend\Validator\Callback;
+use Laminas\Form\Element\Button;
+use Laminas\Form\Element\Hidden;
+use Laminas\Form\Element\Select;
+use Laminas\Form\Element\Text;
+use Laminas\Form\Form;
+use Laminas\InputFilter\Factory;
+use Laminas\Validator\Callback;
 
 class TemplateForm extends Form {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenRenderer/Form/Template/TemplateHydrator.php b/src/UnicaenRenderer/Form/Template/TemplateHydrator.php
index be9fc99..6ab3dff 100755
--- a/src/UnicaenRenderer/Form/Template/TemplateHydrator.php
+++ b/src/UnicaenRenderer/Form/Template/TemplateHydrator.php
@@ -3,7 +3,7 @@
 namespace UnicaenRenderer\Form\Template;
 
 use UnicaenRenderer\Entity\Db\Template;
-use Zend\Hydrator\HydratorInterface;
+use Laminas\Hydrator\HydratorInterface;
 
 class TemplateHydrator implements HydratorInterface {
 
diff --git a/src/UnicaenRenderer/Service/Macro/MacroService.php b/src/UnicaenRenderer/Service/Macro/MacroService.php
index 48b34df..729f78b 100755
--- a/src/UnicaenRenderer/Service/Macro/MacroService.php
+++ b/src/UnicaenRenderer/Service/Macro/MacroService.php
@@ -8,7 +8,7 @@ use Doctrine\ORM\QueryBuilder;
 use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenRenderer\Entity\Db\Macro;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class MacroService {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenRenderer/Service/Rendu/RenduService.php b/src/UnicaenRenderer/Service/Rendu/RenduService.php
index d715c26..1595c8b 100644
--- a/src/UnicaenRenderer/Service/Rendu/RenduService.php
+++ b/src/UnicaenRenderer/Service/Rendu/RenduService.php
@@ -11,7 +11,7 @@ use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenRenderer\Entity\Db\Rendu;
 use UnicaenRenderer\Entity\Db\Template;
 use UnicaenRenderer\Service\Template\TemplateServiceAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class RenduService {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenRenderer/Service/Template/TemplateService.php b/src/UnicaenRenderer/Service/Template/TemplateService.php
index 6bf992c..691dc1f 100755
--- a/src/UnicaenRenderer/Service/Template/TemplateService.php
+++ b/src/UnicaenRenderer/Service/Template/TemplateService.php
@@ -9,7 +9,7 @@ use UnicaenApp\Exception\RuntimeException;
 use UnicaenApp\Service\EntityManagerAwareTrait;
 use UnicaenRenderer\Entity\Db\Template;
 use UnicaenRenderer\Service\Macro\MacroServiceAwareTrait;
-use Zend\Mvc\Controller\AbstractActionController;
+use Laminas\Mvc\Controller\AbstractActionController;
 
 class TemplateService {
     use EntityManagerAwareTrait;
diff --git a/src/UnicaenRenderer/View/Helper/RenduViewHelper.php b/src/UnicaenRenderer/View/Helper/RenduViewHelper.php
index ace340a..76cd13d 100644
--- a/src/UnicaenRenderer/View/Helper/RenduViewHelper.php
+++ b/src/UnicaenRenderer/View/Helper/RenduViewHelper.php
@@ -4,9 +4,9 @@ namespace UnicaenRenderer\View\Helper;
 
 use Application\View\Renderer\PhpRenderer;
 use UnicaenRenderer\Entity\Db\Rendu;
-use Zend\View\Helper\AbstractHelper;
-use Zend\View\Helper\Partial;
-use Zend\View\Resolver\TemplatePathStack;
+use Laminas\View\Helper\AbstractHelper;
+use Laminas\View\Helper\Partial;
+use Laminas\View\Resolver\TemplatePathStack;
 
 class RenduViewHelper extends AbstractHelper
 {
diff --git a/view/unicaen-renderer/default/default-form.phtml b/view/unicaen-renderer/default/default-form.phtml
index 6d1dd67..b6e7012 100755
--- a/view/unicaen-renderer/default/default-form.phtml
+++ b/view/unicaen-renderer/default/default-form.phtml
@@ -4,7 +4,7 @@
  * @var Form $form
  */
 
-use Zend\Form\Form;
+use Laminas\Form\Form;
 
 ?>
 
-- 
GitLab


From 56e093a6d9678b3d112e20b53b9057cae5e46a71 Mon Sep 17 00:00:00 2001
From: valleet01 <thibaut.vallee@unicaen.fr>
Date: Tue, 29 Mar 2022 17:22:29 +0200
Subject: [PATCH 2/3] Migration Laminas

---
 .../Form/Macro/MacroHydrator.php              |  2 +-
 .../Form/Template/TemplateHydrator.php        |  2 +-
 view/unicaen-renderer/index/index.phtml       |  1 -
 view/unicaen-renderer/macro/index.phtml       | 27 ++++++++-
 .../macro/partial/filtre.phtml                | 59 ++++++++++---------
 view/unicaen-renderer/rendu/index.phtml       | 54 ++++++++++++-----
 view/unicaen-renderer/template/index.phtml    | 27 ++++++++-
 7 files changed, 122 insertions(+), 50 deletions(-)

diff --git a/src/UnicaenRenderer/Form/Macro/MacroHydrator.php b/src/UnicaenRenderer/Form/Macro/MacroHydrator.php
index bba2963..9ae16b5 100755
--- a/src/UnicaenRenderer/Form/Macro/MacroHydrator.php
+++ b/src/UnicaenRenderer/Form/Macro/MacroHydrator.php
@@ -11,7 +11,7 @@ class MacroHydrator implements HydratorInterface {
      * @param Macro $object
      * @return array
      */
-    public function extract($object)
+    public function extract(object $object) : array
     {
         $data = [
             'code' => $object->getCode(),
diff --git a/src/UnicaenRenderer/Form/Template/TemplateHydrator.php b/src/UnicaenRenderer/Form/Template/TemplateHydrator.php
index 6ab3dff..1ed5c08 100755
--- a/src/UnicaenRenderer/Form/Template/TemplateHydrator.php
+++ b/src/UnicaenRenderer/Form/Template/TemplateHydrator.php
@@ -11,7 +11,7 @@ class TemplateHydrator implements HydratorInterface {
      * @param Template $object
      * @return array
      */
-    public function extract($object)
+    public function extract($object) : array
     {
         $data = [
             'code' => ($object)?$object->getCode():null,
diff --git a/view/unicaen-renderer/index/index.phtml b/view/unicaen-renderer/index/index.phtml
index 7757874..9ef9914 100755
--- a/view/unicaen-renderer/index/index.phtml
+++ b/view/unicaen-renderer/index/index.phtml
@@ -60,7 +60,6 @@ $canTemplate = $this->isAllowed(DocumenttemplatePrivileges::getResourceId(Docume
     </div>
 <?php endif; ?>
 
-
 <?php if ($canRendu) : ?>
     <h2> Gestion des rendus </h2>
 
diff --git a/view/unicaen-renderer/macro/index.phtml b/view/unicaen-renderer/macro/index.phtml
index 5cfc961..8232451 100755
--- a/view/unicaen-renderer/macro/index.phtml
+++ b/view/unicaen-renderer/macro/index.phtml
@@ -37,7 +37,7 @@ $this->headTitle("Index des macros");
         Générer le JSON des macros
     </a>
 
-    <table class="table table-condensed table-hover">
+    <table id='macro-liste' class="table table-condensed table-hover">
         <thead>
             <tr>
                 <th> Code </th>
@@ -74,7 +74,7 @@ $this->headTitle("Index des macros");
                                class="ajax-modal" data-event="modification" data-toggle="tooltip" data-html="true"
                                title="Suppression de la macro <span class='highlight macro'><?php echo $macro->getCode(); ?></span>"
                             >
-                                <span class="icon detruire"></span></a>
+                                <span class="icon detruire text-danger"></span></a>
                         <?php endif; ?>
                     </td>
                 </tr>
@@ -89,5 +89,28 @@ $this->headTitle("Index des macros");
             event.div.modal('hide');
             window.location.reload();
         });
+
+        if(jQuery().dataTable) {
+            $('#macro-liste').DataTable({
+                "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "Tous"]],
+                "columnDefs": [
+                    {targets: 3, orderable: false, searchable: false},
+                ],
+                "language": {
+                    'lengthMenu': "Afficher _MENU_ &eacute;l&eacute;ments",
+                    "search": "Filtre de recherche : _INPUT_",
+                    "loadingRecords": "Chargement en cours...",
+                    'info': "<small class=\"text-highlight\">Affichage : <strong><i class=\"far fa-list-alt\"></i> _START_ - _END_ sur _TOTAL_</strong></small>",
+                    'infoEmpty': "",
+                    'infoFiltered': "<small class=\"text-highlight\">(_MAX_ &eacute;l&eacute;ments au total)</small>",
+                    'emptyTable': "Aucune donnée disponible.",
+                    'zeroRecords': "Aucun enregistrement trouvé.",
+                    "paginate": {
+                        "previous": "<i class=\"fas fa-chevron-left\"></i>",
+                        "next": "<i class=\"fas fa-chevron-right\"></i>"
+                    }
+                },
+            });
+        }
     });
 </script>
\ No newline at end of file
diff --git a/view/unicaen-renderer/macro/partial/filtre.phtml b/view/unicaen-renderer/macro/partial/filtre.phtml
index 316b1a6..a11a240 100755
--- a/view/unicaen-renderer/macro/partial/filtre.phtml
+++ b/view/unicaen-renderer/macro/partial/filtre.phtml
@@ -10,20 +10,19 @@
 
 <div class="panel panel-default">
     <div class="panel-heading">
-        <span class="icon filtrer"></span> Filtre des macros
+        <h2>Filtrer les macros</h2>
     </div>
     <div class="panel-body">
         <form method="get" id="filtre" action="<?php echo $this->url(); ?>">
             <div class="row">
                 <!-- Variable -------------------------------------------------------- -->
-                <div class="col-md-3">
+                <div class="col-md-5">
                     <div class="form-group">
-                        <label for="variable">Variable associée :</label>
-                        <select id="variable" name="variable" class="selectpicker">
-                            <option value=""> Tous les variables </option>
-                            <?php foreach($variables as $variable) : ?>
+                        <select id="variable" name="variable" class="form-control selectpicker">
+                            <option value=""> Toutes les variables</option>
+                            <?php foreach ($variables as $variable) : ?>
                                 <option
-                                    value="<?php echo $variable; ?>"
+                                        value="<?php echo $variable; ?>"
                                     <?php if ($variable == $params['variable']) echo " selected "; ?>
                                 >
                                     <?php echo $variable; ?>
@@ -33,17 +32,16 @@
                     </div>
                 </div>
                 <!-- BOUTON -->
-                <div class="col-md-3">
-                    <br/>
-                    <div class="pull-right">
-                        <button class="btn btn-primary" id="clear">
-                            <span class="icon effacer"></span>
-                        </button>
-
-                        <button class="btn btn-primary" id="filter" style="width:20rem;">
+                <div class="col-md-7">
+                    <div class="form-group">
+                        <button class="btn btn-primary" id="filter">
                             <span class="icon filtrer"></span>
                             Filtrer
                         </button>
+                        <button class="btn btn-primary" id="clear">
+                            <span class="icon effacer"></span>
+                            Effacer
+                        </button>
                     </div>
                 </div>
             </div>
@@ -53,20 +51,27 @@
 
 
 <script>
-    $("form#filtre").submit(function(e){
-        e.preventDefault();
-    });
+    $(function () {
+        if (jQuery().selectpicker) {
+            $('#variable').selectpicker('render');
+        }
 
-    $('button#clear').click(function() {
-        window.location.href = 'macro';
-    });
+        $("form#filtre").submit(function (e) {
+            e.preventDefault();
+        });
+
+        $('button#clear').click(function () {
+            window.location.href = 'macro';
+        });
 
-    $('button#filter').click(function() {
-        let variableId = $('select#variable option:selected').val();
-        console.log( "variable=" + variableId);
+        $('button#filter').click(function () {
+            let variableId = $('select#variable option:selected').val();
+            console.log("variable=" + variableId);
 
-        let query = "";
-        query += "&variable=" + variableId;
-        window.location.href = 'macro?'+ query;
+            let query = "";
+            query += "&variable=" + variableId;
+            window.location.href = 'macro?' + query;
+        });
     });
+
 </script>
\ No newline at end of file
diff --git a/view/unicaen-renderer/rendu/index.phtml b/view/unicaen-renderer/rendu/index.phtml
index 4543d1f..644f3a4 100644
--- a/view/unicaen-renderer/rendu/index.phtml
+++ b/view/unicaen-renderer/rendu/index.phtml
@@ -16,18 +16,17 @@ $canSupprimer = $this->isAllowed(DocumentcontenuPrivileges::getResourceId(Docume
 
 <h1 class="page-header">
     Index des rendus
-    <span class="badge"><?php echo count($rendus); ?> </span>
 </h1>
 
-<table class="table table-condensed table-hover">
+<table id='rendu-liste' class="table table-condensed table-hover">
     <thead>
-        <tr>
-            <th> Id </th>
-            <th> Template </th>
-            <th> Date de génération </th>
-            <th> Sujet </th>
-            <th> Action </th>
-        </tr>
+    <tr>
+        <th> Id</th>
+        <th> Template</th>
+        <th> Date de génération</th>
+        <th> Sujet</th>
+        <th> Action</th>
+    </tr>
     </thead>
     <tbody>
     <?php foreach ($rendus as $rendu) : ?>
@@ -42,15 +41,15 @@ $canSupprimer = $this->isAllowed(DocumentcontenuPrivileges::getResourceId(Docume
             <td>
                 <span title="<?php echo $rendu->getSujet(); ?>" data-toggle="tooltip" data-html="true">
                 <?php
-                    $sujet = $rendu->getSujet();
-                    if (strlen($sujet) > 50) $sujet = substr($rendu->getSujet(), 0, 46) . " ...";
-                    echo $sujet;
+                $sujet = $rendu->getSujet();
+                if (strlen($sujet) > 50) $sujet = substr($rendu->getSujet(), 0, 46) . " ...";
+                echo $sujet;
                 ?>
                 </span>
             </td>
             <td>
                 <?php if ($canVoir) : ?>
-                    <?php /** @see \UnicaenRenderer\Controller\RenduController::afficherAction() */?>
+                    <?php /** @see \UnicaenRenderer\Controller\RenduController::afficherAction() */ ?>
                     <a href="<?php echo $this->url('contenu/rendu/afficher', ['rendu' => $rendu->getId()], [], true); ?>"
                        title="Afficher le rendu" data-toggle="tooltip" data-html="true"
                        class="ajax-modal"
@@ -58,12 +57,12 @@ $canSupprimer = $this->isAllowed(DocumentcontenuPrivileges::getResourceId(Docume
                         <span class="icon voir"></span></a>
                 <?php endif; ?>
                 <?php if ($canSupprimer) : ?>
-                    <?php /** @see \UnicaenRenderer\Controller\RenduController::supprimerAction() */?>
+                    <?php /** @see \UnicaenRenderer\Controller\RenduController::supprimerAction() */ ?>
                     <a href="<?php echo $this->url('contenu/rendu/supprimer', ['rendu' => $rendu->getId()], [], true); ?>"
                        title="Supprimer le rendu" data-toggle="tooltip" data-html="true"
                        class="ajax-modal" data-event="modification"
                     >
-                        <span class="icon detruire"></span></a>
+                        <span class="icon detruire text-danger"></span></a>
                 <?php endif; ?>
             </td>
         </tr>
@@ -72,7 +71,30 @@ $canSupprimer = $this->isAllowed(DocumentcontenuPrivileges::getResourceId(Docume
 </table>
 
 <script>
-    $(function() {
+    $(function () {
+        if (jQuery().dataTable) {
+            $('#rendu-liste').DataTable({
+                "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "Tous"]],
+                "columnDefs": [
+                    {targets: 4, orderable: false, searchable: false},
+                ],
+                "language": {
+                    'lengthMenu': "Afficher _MENU_ &eacute;l&eacute;ments",
+                    "search": "Filtre de recherche : _INPUT_",
+                    "loadingRecords": "Chargement en cours...",
+                    'info': "<small class=\"text-highlight\">Affichage : <strong><i class=\"far fa-list-alt\"></i> _START_ - _END_ sur _TOTAL_</strong></small>",
+                    'infoEmpty': "",
+                    'infoFiltered': "<small class=\"text-highlight\">(_MAX_ &eacute;l&eacute;ments au total)</small>",
+                    'emptyTable': "Aucune donnée disponible.",
+                    'zeroRecords': "Aucun enregistrement trouvé.",
+                    "paginate": {
+                        "previous": "<i class=\"fas fa-chevron-left\"></i>",
+                        "next": "<i class=\"fas fa-chevron-right\"></i>"
+                    }
+                },
+            });
+        }
+
         $("body").on("modification", function (event) {
             event.div.modal('hide');
             window.location.reload();
diff --git a/view/unicaen-renderer/template/index.phtml b/view/unicaen-renderer/template/index.phtml
index c739b74..fa591ef 100755
--- a/view/unicaen-renderer/template/index.phtml
+++ b/view/unicaen-renderer/template/index.phtml
@@ -29,7 +29,7 @@ $this->headTitle("Index des templates");
     </a>
 <?php endif; ?>
 
-<table class="table table-condensed table-hover">
+<table id='template-liste' class="table table-condensed table-hover">
     <thead>
         <tr>
             <th> Code </th>
@@ -69,7 +69,7 @@ $this->headTitle("Index des templates");
                         <a href="<?php echo $this->url('contenu/template/detruire', ['template' => $template->getId()], [], true); ?>"
                            class="ajax-modal" data-event="modification"
                         >
-                            <span class="icon detruire"></span></a>
+                            <span class="icon detruire text-danger"></span></a>
                     <?php endif; ?>
                 </td>
             </tr>
@@ -79,6 +79,29 @@ $this->headTitle("Index des templates");
 
 <script>
     $(function() {
+        if(jQuery().dataTable) {
+            $('#template-liste').DataTable({
+                "lengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "Tous"]],
+                "columnDefs": [
+                    {targets: 2, orderable: false, searchable: false},
+                ],
+                "language": {
+                    'lengthMenu': "Afficher _MENU_ &eacute;l&eacute;ments",
+                    "search": "Filtre de recherche : _INPUT_",
+                    "loadingRecords": "Chargement en cours...",
+                    'info': "<small class=\"text-highlight\">Affichage : <strong><i class=\"far fa-list-alt\"></i> _START_ - _END_ sur _TOTAL_</strong></small>",
+                    'infoEmpty': "",
+                    'infoFiltered': "<small class=\"text-highlight\">(_MAX_ &eacute;l&eacute;ments au total)</small>",
+                    'emptyTable': "Aucune donnée disponible.",
+                    'zeroRecords': "Aucun enregistrement trouvé.",
+                    "paginate": {
+                        "previous": "<i class=\"fas fa-chevron-left\"></i>",
+                        "next": "<i class=\"fas fa-chevron-right\"></i>"
+                    }
+                },
+            });
+        }
+
         $("body").on("modification", function (event) {
             event.div.modal('hide');
             window.location.reload();
-- 
GitLab


From 854b5001f18bf202792e03787cb05c60f151a6af Mon Sep 17 00:00:00 2001
From: Jean-Philippe Metivier <jean-philippe.metivier@unicaen.fr>
Date: Fri, 10 Jun 2022 09:54:11 +0200
Subject: [PATCH 3/3] 4.0

---
 composer.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/composer.json b/composer.json
index b1627e0..6aeea0a 100755
--- a/composer.json
+++ b/composer.json
@@ -8,7 +8,7 @@
         }
     ],
     "require": {
-        "unicaen/app": "^5.0",
+        "unicaen/app": "^4.0",
         "unicaen/privilege": "dev-laminas_migration",
         "laminas/laminas-dependency-plugin": "^2.1"
     },
-- 
GitLab