Skip to content
Snippets Groups Projects
Commit ffabce68 authored by Philipp Schüttlöffel's avatar Philipp Schüttlöffel Committed by Rasmus Fuhse
Browse files

Resolve "Wiki: Übergeordnete Seite im Inhaltsverzeichnis geht bei Import verloren"

Closes #3900

Merge request studip/studip!2762
parent a51e4b5b
No related branches found
No related tags found
No related merge requests found
...@@ -1062,6 +1062,7 @@ class Course_WikiController extends AuthenticatedController ...@@ -1062,6 +1062,7 @@ class Course_WikiController extends AuthenticatedController
} }
$errors = []; $errors = [];
$new_ids = [];
foreach ($selected_wiki_pages as $selected_page) { foreach ($selected_wiki_pages as $selected_page) {
if ($selected_page->isReadable()) { if ($selected_page->isReadable()) {
$count = WikiPage::countBySql( $count = WikiPage::countBySql(
...@@ -1074,6 +1075,7 @@ class Course_WikiController extends AuthenticatedController ...@@ -1074,6 +1075,7 @@ class Course_WikiController extends AuthenticatedController
if ($count === 0) { if ($count === 0) {
$new_page = WikiPage::build([ $new_page = WikiPage::build([
'range_id' => $this->range->id, 'range_id' => $this->range->id,
'parent_id'=> null,
'user_id' => $selected_page->user_id, 'user_id' => $selected_page->user_id,
'name' => $selected_page->name, 'name' => $selected_page->name,
'content' => $selected_page->content, 'content' => $selected_page->content,
...@@ -1085,9 +1087,16 @@ class Course_WikiController extends AuthenticatedController ...@@ -1085,9 +1087,16 @@ class Course_WikiController extends AuthenticatedController
htmlReady($new_page->name) 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) { if ($errors) {
PageLayout::postError( PageLayout::postError(
_('Die folgenden Fehler traten beim Import auf:'), _('Die folgenden Fehler traten beim Import auf:'),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment