From 7bf60ad2a5c30fdac020856864afc62f372df047 Mon Sep 17 00:00:00 2001 From: gloas <gloas@afi-sa.fr> Date: Fri, 9 Sep 2022 15:13:14 +0200 Subject: [PATCH] hotline #159972 fix file manager purge redirection --- VERSIONS_HOTLINE/159972 | 1 + .../controllers/FileManagerController.php | 2 +- .../controllers/FileManagerControllerTest.php | 26 ++++++++++++------- 3 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 VERSIONS_HOTLINE/159972 diff --git a/VERSIONS_HOTLINE/159972 b/VERSIONS_HOTLINE/159972 new file mode 100644 index 00000000000..69181dd6199 --- /dev/null +++ b/VERSIONS_HOTLINE/159972 @@ -0,0 +1 @@ + - correctif #159972 : Administration : Dans l'explorateur de fichiers, après l'utilisation de la purge, la redirection se fait bien dans le dossier courant. \ No newline at end of file diff --git a/application/modules/admin/controllers/FileManagerController.php b/application/modules/admin/controllers/FileManagerController.php index 9fc658bb25d..84f7a11ef3b 100644 --- a/application/modules/admin/controllers/FileManagerController.php +++ b/application/modules/admin/controllers/FileManagerController.php @@ -160,7 +160,7 @@ class Admin_FileManagerController extends ZendAfi_Controller_Action { $message[] = $this->_('%d fichier(s) ont été supprimés', count($to_delete) - count($message)); $message = implode('<br>',$message); - $this->_redirectToPathWithMessage($item->getPath(), $message); + $this->_redirectToPathWithMessage($item->getParentPath(), $message); } diff --git a/tests/application/modules/admin/controllers/FileManagerControllerTest.php b/tests/application/modules/admin/controllers/FileManagerControllerTest.php index b153ba1aa55..6c551e0c768 100644 --- a/tests/application/modules/admin/controllers/FileManagerControllerTest.php +++ b/tests/application/modules/admin/controllers/FileManagerControllerTest.php @@ -959,29 +959,37 @@ class FileManagerControllerPurgeDirectoryImagesTest extends Admin_AbstractContro /** @test */ public function dispatchPurgeFilesShouldReturnErrorOnNonValidDirectory() { - $this->dispatch('/admin/file-manager/purge?item=userfiles%2Falbum', true); - $this->assertRedirect('/admin/file-manager/index?browser=userfiles%2Falbum'); + $this->dispatch('/admin/file-manager/purge?item=userfiles%2Falbum'); + $this->assertRedirectTo('/admin/file-manager/index?browser=userfiles%2Falbum'); $this->assertFlashMessengerContentContains('Seuls les dossiers "bannieres", "image" et "file" peuvent être purgés'); } /** @test */ public function dispatchPurgeFilesShouldReturnErrorOnUnwritableDirectory() { - $this->_disk->whenCalled('delete') - ->answers(false); + $this->_disk + ->whenCalled('delete') + ->answers(false); - $this->dispatch('/admin/file-manager/force-purge?item=userfiles%2Fimage', true); - $this->assertRedirect('/admin/file-manager/index?browser=userfiles%2Fimage'); + $this->dispatch('/admin/file-manager/force-purge?item=userfiles%2Fimage'); + $this->assertRedirectTo('/admin/file-manager/index?browser=userfiles%2Fimage'); $this->assertFlashMessengerContentContains('Impossible de supprimer '); } /** @test */ - public function dispatchPurgeFilesShouldDeleteUnusedFiles() { - $this->dispatch('/admin/file-manager/purge?item=userfiles%2Fimage', true); - $this->assertXPathContentContains('//button[contains(@data-url, "/admin/file-manager/force-purge")]', 'Supprimer 1 fichier(s)',$this->_response->getBody()); + public function dispatchPurgeFilesShouldShowForcePurgeButton() { + $this->dispatch('/admin/file-manager/purge?item=userfiles%2Fimage'); + $this->assertXPathContentContains('//button[contains(@data-url, "/admin/file-manager/force-purge")]', 'Supprimer 1 fichier(s)'); } + + /** @test */ + public function dispatchForcePurgeFilesShouldDeleteOneFileAndRedirectToImageFolder() { + $this->_disk->whenCalled('delete')->with('userfiles/image/image.png')->answers(true)->beStrict(); + $this->dispatch('/admin/file-manager/force-purge?item=userfiles%2Fimage'); + $this->assertRedirectTo('/admin/file-manager/index?browser=userfiles%2Fimage'); + } } -- GitLab