From 4c150b06f600e780f59c9e6b511a51cbd10fda74 Mon Sep 17 00:00:00 2001
From: efalcy <efalcy@afi-sa.fr>
Date: Wed, 15 Sep 2021 18:59:06 +0200
Subject: [PATCH] hotline #139037 : allow reading everywhere
 userfiles/js/tarteaucitron-config.js

---
 VERSIONS_HOTLINE/139037                             |  1 +
 library/Class/Cookies/TarteAuCitron.php             |  1 +
 .../admin/controllers/IndexControllerTest.php       | 13 ++++++++-----
 3 files changed, 10 insertions(+), 5 deletions(-)
 create mode 100644 VERSIONS_HOTLINE/139037

diff --git a/VERSIONS_HOTLINE/139037 b/VERSIONS_HOTLINE/139037
new file mode 100644
index 00000000000..9f2a30fb777
--- /dev/null
+++ b/VERSIONS_HOTLINE/139037
@@ -0,0 +1 @@
+ - ticket #139037 : Gestion des cookies : prendre en compte la personnalisation de tarteaucitron-config.js en mode déconnecté
\ No newline at end of file
diff --git a/library/Class/Cookies/TarteAuCitron.php b/library/Class/Cookies/TarteAuCitron.php
index a2174bb5007..d542f2bfcd3 100644
--- a/library/Class/Cookies/TarteAuCitron.php
+++ b/library/Class/Cookies/TarteAuCitron.php
@@ -32,6 +32,7 @@ class Class_Cookies_TarteAuCitron extends Class_Cookies_Base {
     $customize_js_url = Class_Url::absolute("/public/tarteaucitron-config.js");
     $bokeh_js_url = Class_Url::absolute("/public/tarteaucitron-bokeh.js");
 
+    Class_FileManager::beOpenBar();
     if ($file = Class_FileManager::file(USERFILES.'/js/tarteaucitron-config.js'))
       $customize_js_url = $file->getUrl();
 
diff --git a/tests/application/modules/admin/controllers/IndexControllerTest.php b/tests/application/modules/admin/controllers/IndexControllerTest.php
index df84ae729b3..01b38a31ccf 100644
--- a/tests/application/modules/admin/controllers/IndexControllerTest.php
+++ b/tests/application/modules/admin/controllers/IndexControllerTest.php
@@ -92,11 +92,14 @@ class Admin_IndexControllerCookiesTest extends Admin_IndexControllerTestCase {
 
   /** @test */
   public function tarteAuCitronCustomJsShouldBeCallToUserfilesIfExists() {
-    $disk = $this->mock()
-                 ->whenCalled('fileAt')
-                 ->with('userfiles/js/tarteaucitron-config.js')
-                 ->answers($this->mock()->whenCalled('getUrl')->answers('/userfiles/js/tarteaucitron-config.js'));
-    Class_FileManager::setFileSystem($disk);
+    ZendAfi_Auth::getInstance()->clearIdentity();
+    $this->file_system = $this->mock()
+                              ->whenCalled('fileAt')
+                              ->with('userfiles/js/tarteaucitron-config.js')
+                              ->answers((new Class_FileManager)->setPath('/userfiles/js/tarteaucitron-config.js'))
+                              ->beStrict();
+
+    Class_FileManager::setFileSystem($this->file_system);
 
     $this->dispatch('/admin/index/index', true);
     $this->assertXPath('//script[contains(@src,"/public/tarteaucitron/tarteaucitron.js")]');
-- 
GitLab