diff options
| author | Rasmus Fuhse <fuhse@data-quest.de> | 2024-12-11 14:58:36 +0000 |
|---|---|---|
| committer | Rasmus Fuhse <fuhse@data-quest.de> | 2024-12-11 14:58:36 +0000 |
| commit | c14cdd1a892fe19b9035feba01273ef5015cb64b (patch) | |
| tree | 5c6e961de7e0b124e408957fa28aa633860aa511 /app/controllers/course/wiki.php | |
| parent | 44b518ce738a282fd0efa30e40e17f53b104e424 (diff) | |
Resolve "Wiki: Exception taucht auf, wenn ich mit autor-Berechtigungen eine nicht existierende Seite aufrufe"
Closes #4991
Merge request studip/studip!3750
Diffstat (limited to 'app/controllers/course/wiki.php')
| -rw-r--r-- | app/controllers/course/wiki.php | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/app/controllers/course/wiki.php b/app/controllers/course/wiki.php index ddda49a..6fbd7ce 100644 --- a/app/controllers/course/wiki.php +++ b/app/controllers/course/wiki.php @@ -1338,6 +1338,8 @@ class Course_WikiController extends AuthenticatedController private function validateWikiPage(WikiPage $page, Range $context, bool $for_edit = false): void { + $page->range_id = $page->range_id ?: $context->id; + if ( !$page->isNew() && $page->range_id !== $context->id @@ -1349,7 +1351,11 @@ class Course_WikiController extends AuthenticatedController } if ($for_edit && !$page->isEditable()) { - throw new Exception(_('Sie dürfen diese Wikiseite nicht bearbeiten')); + if ($page->isNew()) { + throw new AccessDeniedException(_('Sie dürfen keine neue Wikiseite anlegen.')); + } else { + throw new AccessDeniedException(_('Sie dürfen diese Wikiseite nicht bearbeiten')); + } } } } |
