From 4bc30955c7a98bb44aa2f1e92880eef80de097f9 Mon Sep 17 00:00:00 2001
From: root <root@lpreecog.unicaen.fr>
Date: Thu, 31 Aug 2023 13:50:00 +0200
Subject: [PATCH] Fixing affichage des corps/emploi-type/grade

---
 .../view/carriere/corps/afficher-agents.phtml | 18 ++++++++++++---
 .../emploi-type/afficher-agents.phtml         | 22 +++++++++++++------
 .../view/carriere/grade/afficher-agents.phtml | 19 +++++++++++++---
 3 files changed, 46 insertions(+), 13 deletions(-)

diff --git a/module/Carriere/view/carriere/corps/afficher-agents.phtml b/module/Carriere/view/carriere/corps/afficher-agents.phtml
index 10a5177f6..b935304e2 100644
--- a/module/Carriere/view/carriere/corps/afficher-agents.phtml
+++ b/module/Carriere/view/carriere/corps/afficher-agents.phtml
@@ -16,8 +16,11 @@ $now = new DateTime();
 
 /** @var  AgentGrade[] $agents */
 $agents = $corps->getAgentGrades();
-$agents = array_filter($agents, function (AgentGrade $a) { return !$a->isDeleted();});
+$agents = array_filter($agents, function (AgentGrade $a) { return $a->estCommence() && !$a->isDeleted();});
 usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->getDenomination() > $b->getAgent()->getDenomination();});
+
+$actifs = 0; $inactifs = 0;
+foreach ($agents as $agent) { if ($agent->estFini()) $inactifs++; else $actifs++;}
 ?>
 
 <div class="row">
@@ -28,7 +31,7 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
 <!--            <dt class="col-md-5"> #Agent </dt>-->
 <!--            <dd class="col-md-7"> --><?php //echo count($agents); ?><!--</dd>-->
             <dt class="col-md-5"> #AgentGrade </dt>
-            <dd class="col-md-7"> <?php echo count($agentGrades); ?></dd>
+            <dd class="col-md-7"> <?php echo $actifs; ?> actifs (<?php echo $inactifs ?> inactifs)</dd>
         </dl>
     </div>
     <div class="col-md-6">
@@ -41,6 +44,9 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
     </div>
 </div>
 
+<label for="actif_only">Conserver les actifs seulement</label>
+<input type="checkbox" name="actif_only" id="actif_only" checked>
+
 <table class="table table-condensed">
     <thead>
         <tr>
@@ -51,7 +57,7 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
         </tr>
     </thead>
     <tbody>
-        <?php foreach ($agentGrades as $agent) : ?>
+        <?php foreach ($agents as $agent) : ?>
         <tr <?php if ($agent->estFini($now)) echo 'class="historise"'; ?> >
             <td> <?php echo $agent->getId(); ?> </td>
             <td>
@@ -71,6 +77,12 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
 </table>
 
 <script>
+    $('tr.historise').hide();
+    $('#actif_only').on('change', function() {
+        let val = $('#actif_only').is(':checked');
+        if (val === true) $('tr.historise').hide(); else $('tr.historise').show();
+    });
+
     $('a.linkexterne').on('click',function(e) {
         e.preventDefault();
         $('.modal').modal("hide");
diff --git a/module/Carriere/view/carriere/emploi-type/afficher-agents.phtml b/module/Carriere/view/carriere/emploi-type/afficher-agents.phtml
index aff1fdfa6..845fcbb53 100644
--- a/module/Carriere/view/carriere/emploi-type/afficher-agents.phtml
+++ b/module/Carriere/view/carriere/emploi-type/afficher-agents.phtml
@@ -10,17 +10,18 @@
 use Application\Entity\Db\Agent;
 use Application\Entity\Db\AgentGrade;
 use Application\Provider\Privilege\AgentPrivileges;
-use Carriere\Entity\Db\Corps;
 use Carriere\Entity\Db\EmploiType;
 
 $now = new DateTime();
 
 /** @var  AgentGrade[] $agents */
 $agents = $emploiType->getAgentGrades();
-$agents = array_filter($agents, function (AgentGrade $a) { return !$a->isDeleted();});
+$agents = array_filter($agents, function (AgentGrade $a) { return $a->estCommence($now) && !$a->isDeleted();});
 usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->getDenomination() > $b->getAgent()->getDenomination();});
-?>
 
+$actifs = 0; $inactifs = 0;
+foreach ($agents as $agent) { if ($agent->estFini()) $inactifs++; else $actifs++;}
+?>
 <div class="row">
     <div class="col-md-6">
         <dl class="row">
@@ -29,7 +30,7 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
 <!--            <dt class="col-md-5"> #Agent </dt>-->
 <!--            <dd class="col-md-7"> --><?php //echo count($agents); ?><!--</dd>-->
             <dt class="col-md-5"> #AgentGrade </dt>
-            <dd class="col-md-7"> <?php echo count($agentGrades); ?></dd>
+            <dd class="col-md-7"> <?php echo $actifs; ?> actifs (<?php echo $inactifs ?> inactifs)</dd>
         </dl>
     </div>
     <div class="col-md-6">
@@ -42,6 +43,9 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
     </div>
 </div>
 
+<label for="actif_only">Conserver les actifs seulement</label>
+<input type="checkbox" name="actif_only" id="actif_only" checked>
+
 <table class="table table-condensed">
     <thead>
         <tr>
@@ -52,7 +56,7 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
         </tr>
     </thead>
     <tbody>
-        <?php foreach ($agentGrades as $agent) : ?>
+        <?php foreach ($agents as $agent) : ?>
         <tr <?php if ($agent->estFini($now)) echo 'class="historise"'; ?> >
             <td> <?php echo $agent->getId(); ?> </td>
             <td>
@@ -71,9 +75,13 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
     </tbody>
 </table>
 
-
-
 <script>
+    $('tr.historise').hide();
+    $('#actif_only').on('change', function() {
+        let val = $('#actif_only').is(':checked');
+        if (val === true) $('tr.historise').hide(); else $('tr.historise').show();
+    });
+
     $('a.linkexterne').on('click',function(e) {
         e.preventDefault();
         $('.modal').modal("hide");
diff --git a/module/Carriere/view/carriere/grade/afficher-agents.phtml b/module/Carriere/view/carriere/grade/afficher-agents.phtml
index 160844c2d..9b46f3d83 100644
--- a/module/Carriere/view/carriere/grade/afficher-agents.phtml
+++ b/module/Carriere/view/carriere/grade/afficher-agents.phtml
@@ -16,8 +16,12 @@ $now = new DateTime();
 
 /** @var  AgentGrade[] $agents */
 $agents = $grade->getAgentGrades();
-$agents = array_filter($agents, function (AgentGrade $a) { return !$a->isDeleted();});
+$agents = array_filter($agents, function (AgentGrade $a) { return $a->estCommence() && !$a->isDeleted();});
 usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->getDenomination() > $b->getAgent()->getDenomination();});
+
+$actifs = 0; $inactifs = 0;
+foreach ($agents as $agent) { if ($agent->estFini()) $inactifs++; else $actifs++;}
+
 ?>
 
 <div class="row">
@@ -28,7 +32,7 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
 <!--            <dt class="col-md-5"> #Agent </dt>-->
 <!--            <dd class="col-md-7"> --><?php //echo count($agents); ?><!--</dd>-->
             <dt class="col-md-5"> #AgentGrade </dt>
-            <dd class="col-md-7"> <?php echo count($agentGrades); ?></dd>
+            <dd class="col-md-7"> <?php echo $actifs; ?> actifs (<?php echo $inactifs ?> inactifs)</dd>
         </dl>
     </div>
     <div class="col-md-6">
@@ -41,6 +45,9 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
     </div>
 </div>
 
+<label for="actif_only">Conserver les actifs seulement</label>
+<input type="checkbox" name="actif_only" id="actif_only" checked>
+
 <table class="table table-condensed">
     <thead>
         <tr>
@@ -51,7 +58,7 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
         </tr>
     </thead>
     <tbody>
-        <?php foreach ($agentGrades as $agent) : ?>
+        <?php foreach ($agents as $agent) : ?>
         <tr <?php if ($agent->estFini($now)) echo 'class="historise"'; ?> >
             <td> <?php echo $agent->getId(); ?> </td>
             <td>
@@ -71,6 +78,12 @@ usort($agents, function(AgentGrade $a, AgentGrade $b) {return $a->getAgent()->ge
 </table>
 
 <script>
+    $('tr.historise').hide();
+    $('#actif_only').on('change', function() {
+        let val = $('#actif_only').is(':checked');
+        if (val === true) $('tr.historise').hide(); else $('tr.historise').show();
+    });
+
     $('a.linkexterne').on('click',function(e) {
         e.preventDefault();
         $('.modal').modal("hide");
-- 
GitLab