diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php index fd84998769ddf..dbb852ffeb846 100644 --- a/apps/files/lib/Controller/ViewController.php +++ b/apps/files/lib/Controller/ViewController.php @@ -184,7 +184,7 @@ public function showFile(string $fileid = null, int $openfile = 1): Response { * @throws NotFoundException */ public function index($dir = '', $view = '', $fileid = null, $fileNotFound = false, $openfile = null) { - if ($fileid !== null) { + if ($fileid !== null && $dir === '') { try { return $this->redirectToFile($fileid); } catch (NotFoundException $e) { diff --git a/apps/files/tests/Controller/ViewControllerTest.php b/apps/files/tests/Controller/ViewControllerTest.php index d7b298d9e844e..33467f1464b4f 100644 --- a/apps/files/tests/Controller/ViewControllerTest.php +++ b/apps/files/tests/Controller/ViewControllerTest.php @@ -459,7 +459,7 @@ public function testShowFileRouteWithFolder() { ->willReturn('/apps/files/?dir=/test/sub'); $expected = new Http\RedirectResponse('/apps/files/?dir=/test/sub'); - $this->assertEquals($expected, $this->viewController->index('/whatever', '', '123')); + $this->assertEquals($expected, $this->viewController->index('', '', '123')); } public function testShowFileRouteWithFile() { @@ -499,7 +499,7 @@ public function testShowFileRouteWithFile() { ->willReturn('/apps/files/?dir=/test/sub&scrollto=somefile.txt'); $expected = new Http\RedirectResponse('/apps/files/?dir=/test/sub&scrollto=somefile.txt'); - $this->assertEquals($expected, $this->viewController->index('/whatever', '', '123')); + $this->assertEquals($expected, $this->viewController->index('', '', '123')); } public function testShowFileRouteWithInvalidFileId() { @@ -519,7 +519,7 @@ public function testShowFileRouteWithInvalidFileId() { ->with('files.view.index', ['fileNotFound' => true]) ->willReturn('redirect.url'); - $response = $this->viewController->index('MyDir', 'MyView', '123'); + $response = $this->viewController->index('', 'MyView', '123'); $this->assertInstanceOf('OCP\AppFramework\Http\RedirectResponse', $response); $this->assertEquals('redirect.url', $response->getRedirectURL()); } @@ -576,6 +576,6 @@ public function testShowFileRouteWithTrashedFile() { ->willReturn('/apps/files/?view=trashbin&dir=/test.d1462861890/sub&scrollto=somefile.txt'); $expected = new Http\RedirectResponse('/apps/files/?view=trashbin&dir=/test.d1462861890/sub&scrollto=somefile.txt'); - $this->assertEquals($expected, $this->viewController->index('/whatever', '', '123')); + $this->assertEquals($expected, $this->viewController->index('', '', '123')); } }