From 2ca5e0315daaadb37960324e0a675ad4eedcdcbb Mon Sep 17 00:00:00 2001
From: Adrien Risser <risseraka@gmail.com>
Date: Fri, 14 Dec 2018 15:00:33 +0100
Subject: [PATCH] =?UTF-8?q?feat(tasks):=20calcule=20la=20date=20de=20fin?=
 =?UTF-8?q?=20d'une=20phase=20si=20la=20d=C3=A9marche=20est=20annul=C3=A9e?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 tasks/_utils/titre-phases-find.js | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/tasks/_utils/titre-phases-find.js b/tasks/_utils/titre-phases-find.js
index 6d40ad358..9d5aea5c6 100644
--- a/tasks/_utils/titre-phases-find.js
+++ b/tasks/_utils/titre-phases-find.js
@@ -16,7 +16,7 @@ const titrePhasesFind = (titreDemarchesByTitre, titreIsAxm) => {
       const dateFin = titrePhaseDateFinFind(
         titreDemarchesByTitre,
         titreDemarchesByTitreFiltered,
-        titreDemarche.ordre
+        titreDemarche
       )
 
       const dateDebut = titrePhaseDateDebutFind(
@@ -95,17 +95,17 @@ const titrePhaseDateDebutFind = (
 //   utile pour trouver la date de fin en cas d'annulation
 // - titreDemarchesByTitreFiltered: uniquement les démarches
 //   d'un titre qui donnent lieu à des phases
-// - ordre: le numéro d'ordre de la démarche dont on cherche la date de fin
+// - titreDemarche: la démarche dont on cherche la date de fin
 
 const titrePhaseDateFinFind = (
   titreDemarchesByTitre,
   titreDemarchesByTitreFiltered,
-  ordre
+  titreDemarche
 ) => {
   // trouve une démarche d'annulation si elle existe
   const titreDemarcheAnnulation = demarcheAnnulationFind(
     titreDemarchesByTitre,
-    ordre
+    titreDemarche.annulationDemarcheId
   )
 
   // si il y a une démarche d'annulation
@@ -119,16 +119,14 @@ const titrePhaseDateFinFind = (
 
   return titreDemarcheDateFinAndDureeFind(
     titreDemarchesByTitreFiltered.slice().reverse(),
-    ordre
+    titreDemarche.ordre
   ).dateFin
 }
 
-const demarcheAnnulationFind = (titreDemarchesByTitre, ordre) => {
-  // 2 solutions:
-  // - soit on parcourt toutes les démarches et on identifie la démarche d'annulation relative
-  // - soit l'id de la démarche d'annulation est renseignée en base
+const demarcheAnnulationFind = (titreDemarchesByTitre, annulationDemarcheId) => {
+  if (!annulationDemarcheId) return null
 
-  return null
+  return titreDemarchesByTitre.find(t => t.id === annulationDemarcheId);
 }
 
 module.exports = titrePhasesFind
-- 
GitLab