From ffabce68ca9407a11d301497262e7ad2a149f73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Sch=C3=BCttl=C3=B6ffel?= <schuettloeffel@zqs.uni-hannover.de> Date: Tue, 26 Mar 2024 14:24:08 +0000 Subject: [PATCH] =?UTF-8?q?Resolve=20"Wiki:=20=C3=9Cbergeordnete=20Seite?= =?UTF-8?q?=20im=20Inhaltsverzeichnis=20geht=20bei=20Import=20verloren"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3900 Merge request studip/studip!2762 --- app/controllers/course/wiki.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/controllers/course/wiki.php b/app/controllers/course/wiki.php index 6393d1ca5cf..421617cc1aa 100644 --- a/app/controllers/course/wiki.php +++ b/app/controllers/course/wiki.php @@ -1062,6 +1062,7 @@ class Course_WikiController extends AuthenticatedController } $errors = []; + $new_ids = []; foreach ($selected_wiki_pages as $selected_page) { if ($selected_page->isReadable()) { $count = WikiPage::countBySql( @@ -1074,6 +1075,7 @@ class Course_WikiController extends AuthenticatedController if ($count === 0) { $new_page = WikiPage::build([ 'range_id' => $this->range->id, + 'parent_id'=> null, 'user_id' => $selected_page->user_id, 'name' => $selected_page->name, 'content' => $selected_page->content, @@ -1085,9 +1087,16 @@ class Course_WikiController extends AuthenticatedController htmlReady($new_page->name) ); } + $new_ids[$selected_page->id] = $new_page->id; } } } + foreach ($new_ids as $old_page_id => $new_page_id) { + $old_page = WikiPage::find($old_page_id); + $new_page = WikiPage::find($new_page_id); + $new_page->parent_id = $new_ids[$old_page->parent_id] ?? null; + $new_page->store(); + } if ($errors) { PageLayout::postError( _('Die folgenden Fehler traten beim Import auf:'), -- GitLab