aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/course/wiki.php
diff options
context:
space:
mode:
authorRasmus Fuhse <fuhse@data-quest.de>2024-12-11 14:58:36 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2024-12-11 14:58:36 +0000
commitc14cdd1a892fe19b9035feba01273ef5015cb64b (patch)
tree5c6e961de7e0b124e408957fa28aa633860aa511 /app/controllers/course/wiki.php
parent44b518ce738a282fd0efa30e40e17f53b104e424 (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.php8
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'));
+ }
}
}
}