From 0a70d5cf85914f4191a43354f263fdd709305816 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20B?= <stephane.bouvry@unicaen.fr>
Date: Mon, 13 May 2024 11:54:09 +0200
Subject: [PATCH] =?UTF-8?q?Fix=20:=20Le=20format=20des=20dates=20export?=
 =?UTF-8?q?=C3=A9es=20est=20correctement=20r=C3=A9utilis=C3=A9=20lors=20de?=
 =?UTF-8?q?=20l'exportation=20des=20activit=C3=A9s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Oscar/Controller/ProjectGrantController.php    |  1 +
 .../src/Oscar/Strategy/Activity/ExportDatas.php    | 14 +++++++++-----
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/module/Oscar/src/Oscar/Controller/ProjectGrantController.php b/module/Oscar/src/Oscar/Controller/ProjectGrantController.php
index fe67d99bf..4c8c7cc7c 100644
--- a/module/Oscar/src/Oscar/Controller/ProjectGrantController.php
+++ b/module/Oscar/src/Oscar/Controller/ProjectGrantController.php
@@ -1165,6 +1165,7 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif
     /** Export les données en CSV. */
     public function csvAction()
     {
+
         /** @var Request $request */
         $request = $this->getRequest();
 
diff --git a/module/Oscar/src/Oscar/Strategy/Activity/ExportDatas.php b/module/Oscar/src/Oscar/Strategy/Activity/ExportDatas.php
index 1636f1211..5af9852a7 100644
--- a/module/Oscar/src/Oscar/Strategy/Activity/ExportDatas.php
+++ b/module/Oscar/src/Oscar/Strategy/Activity/ExportDatas.php
@@ -33,16 +33,22 @@ class ExportDatas implements UseOscarConfigurationService, UseProjectGrantServic
 {
     use UseOscarConfigurationServiceTrait, UseProjectGrantServiceTrait, UseEntityManagerTrait, UseOscarUserContextServiceTrait;
 
+    private ?string $rewriteDateFormat = null;
 
     /**
      * ExportDatas constructor.
      */
-    public function __construct( ProjectGrantService $pgs, OscarUserContext $ouc)
+    public function __construct( ProjectGrantService $pgs, OscarUserContext $ouc, ?string $rewriteDateFormat = null)
     {
         $this->setProjectGrantService($pgs);
         $this->setOscarConfigurationService($pgs->getOscarConfigurationService());
         $this->setEntityManager($pgs->getEntityManager());
         $this->setOscarUserContextService($ouc);
+        if( $rewriteDateFormat === null ){
+            $this->rewriteDateFormat = $this->getOscarConfigurationService()->getExportDateFormat();
+        } else {
+            $this->rewriteDateFormat = $rewriteDateFormat;
+        }
     }
 
     public function output( $paramID, $fields = null, $perimeter = null ){
@@ -51,7 +57,7 @@ class ExportDatas implements UseOscarConfigurationService, UseProjectGrantServic
         $separator = $this->getOscarConfigurationService()->getExportSeparator();
 
         // Format des dates
-        $dateFormat = 'Y-m-d'; // $this->getOscarConfigurationService()->getExportDateFormat();
+        $dateFormat = $this->rewriteDateFormat;
 
         $parameters = [];
 
@@ -227,9 +233,7 @@ class ExportDatas implements UseOscarConfigurationService, UseProjectGrantServic
 
                     $jalonKey = $mil->getType()->getLabel();
 
-                    $jalonsCurrent[$jalonKey][] = $mil->getDateStart() ?
-                        $mil->getDateStart()->format($dateFormat) :
-                        '';
+                    $jalonsCurrent[$jalonKey][] = $mil->getDateStartStr($dateFormat);
 
                     if( array_key_exists($jalonKey, $jalonsFaitCurrent) ){
                         // Calcule de l'état du jalon
-- 
GitLab