aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/course/wiki.php
diff options
context:
space:
mode:
authorFinn Schneider <schneider@data-quest.de>2025-10-09 13:51:33 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2025-10-09 13:51:33 +0000
commit9b19d1b4c1f0eb3001fa4dbade7c0128bc4147f4 (patch)
tree5e1c45eed2aa9ded7b1c5168938028caaef1f7d8 /app/controllers/course/wiki.php
parent0e869b89310f91995998a2ac542fe93b83bd5175 (diff)
Resolve "Wiki: Erste Seite die angelegt wird muss Wiki-Startseite sein"
Closes #5271 Merge request studip/studip!4519
Diffstat (limited to 'app/controllers/course/wiki.php')
-rw-r--r--app/controllers/course/wiki.php13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/controllers/course/wiki.php b/app/controllers/course/wiki.php
index cf02e04..cd73b99 100644
--- a/app/controllers/course/wiki.php
+++ b/app/controllers/course/wiki.php
@@ -950,7 +950,6 @@ class Course_WikiController extends AuthenticatedController
$page = new WikiPage();
$page->parent_id = $parent_id ?? $this->range->getConfiguration()->WIKI_STARTPAGE_ID;
$parent_id = $parent_id ?? $this->range->getConfiguration()->WIKI_STARTPAGE_ID;
- PageLayout::setTitle(_('Neue Wikiseite erstellen'));
$options = [
'' => _('Keine')
];
@@ -961,6 +960,12 @@ class Course_WikiController extends AuthenticatedController
'range_id = ? ORDER BY name',
[$this->range->id]
);
+ $is_start_page = count($options) <= 1;
+ if ($is_start_page) {
+ PageLayout::setTitle(_('Wiki-Startseite erstellen'));
+ } else {
+ PageLayout::setTitle(_('Neue Wikiseite erstellen'));
+ }
$this->form = \Studip\Forms\Form::fromSORM(
$page,
[
@@ -975,8 +980,12 @@ class Course_WikiController extends AuthenticatedController
'mapper' => function () { return User::findCurrent()->id; }
],
'name' => [
- 'required' => true,
+ 'required' => !$is_start_page,
'label' => _('Name der Seite'),
+ 'type' => $is_start_page ? 'no' : 'text',
+ 'mapper' => function ($value) use ($is_start_page) {
+ return $is_start_page ? 'Wiki-Startseite' : $value;
+ },
'validate' => function ($value, $input) {
$name_count = WikiPage::countBySql('`name` = :name AND `range_id` = :range_id', [
'name' => $value,