From 76a830acbd0f5c2658885eed820fba6c66123f06 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Wed, 13 Jul 2022 08:10:46 +0000 Subject: [PATCH] relocate to root folder when given folder cannot be loaded, fixes #1305 Closes #1305 Merge request studip/studip!802 --- app/controllers/course/files.php | 4 +++- app/controllers/files.php | 4 +++- app/controllers/institute/files.php | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/controllers/course/files.php b/app/controllers/course/files.php index e649a177ba2..cccbdeec0fe 100644 --- a/app/controllers/course/files.php +++ b/app/controllers/course/files.php @@ -141,7 +141,9 @@ class Course_FilesController extends AuthenticatedController } if (!$folder) { - throw new Exception(_('Fehler beim Laden des Hauptordners!')); + PageLayout::postError(_('Der gewählte Ordner wurde nicht gefunden.')); + $this->relocate($this->indexURL()); + return; } $this->topFolder = $folder->getTypedFolder(); diff --git a/app/controllers/files.php b/app/controllers/files.php index 9910398a8a6..6d3a5511e4c 100644 --- a/app/controllers/files.php +++ b/app/controllers/files.php @@ -580,7 +580,9 @@ class FilesController extends AuthenticatedController } if (!$folder) { - throw new Exception(_('Fehler beim Laden des Hauptordners!')); + PageLayout::postError(_('Der gewählte Ordner wurde nicht gefunden.')); + $this->relocate($this->indexURL()); + return; } $this->topFolder = $folder->getTypedFolder(); diff --git a/app/controllers/institute/files.php b/app/controllers/institute/files.php index 0bacb0e4e3d..8ff697b39da 100644 --- a/app/controllers/institute/files.php +++ b/app/controllers/institute/files.php @@ -114,7 +114,9 @@ class Institute_FilesController extends AuthenticatedController } if (!$folder) { - throw new Exception(_('Fehler beim Laden des Hauptordners!')); + PageLayout::postError(_('Der gewählte Ordner wurde nicht gefunden.')); + $this->relocate($this->indexURL()); + return; } $this->topFolder = $folder->getTypedFolder(); -- GitLab