From 7fef0df3ae2d94272081600d3c3500fa2580039a Mon Sep 17 00:00:00 2001 From: Ron Lucke <lucke@elan-ev.de> Date: Thu, 4 Aug 2022 12:44:36 +0000 Subject: [PATCH] fix #1144 Closes #1144 Merge request studip/studip!855 --- .../Routes/Courseware/StructuralElementsCreate.php | 2 +- lib/models/Courseware/StructuralElement.php | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php index 8f1c8bd8443..bdb75d1ab49 100644 --- a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php +++ b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php @@ -79,7 +79,7 @@ class StructuralElementsCreate extends JsonApiController 'editor_id' => $user->id, 'edit_blocker_id' => '', 'title' => self::arrayGet($json, 'data.attributes.title', ''), - 'purpose' => self::arrayGet($json, 'data.attributes.purpose', 'content'), + 'purpose' => $parent->purpose, 'payload' => self::arrayGet($json, 'data.attributes.payload', ''), 'position' => $parent->countChildren() ]); diff --git a/lib/models/Courseware/StructuralElement.php b/lib/models/Courseware/StructuralElement.php index f518cc16005..5b834e9cd97 100644 --- a/lib/models/Courseware/StructuralElement.php +++ b/lib/models/Courseware/StructuralElement.php @@ -227,20 +227,23 @@ class StructuralElement extends \SimpleORMap case 'course': $hasEditingPermission = $this->hasEditingPermission($user); if ($this->isTask()) { - // TODO: Was tun wir, wenn dieses Strukturelement purpose=task aber keinen Task hat? - if (!$this->task) { - return false; + $task = $this->task; + if (!$task) { + $task = $this->findParentTask(); + if (!$task) { + return false; + } } if ($hasEditingPermission) { return false; } - if ($this->task->isSubmitted()) { + if ($task->isSubmitted()) { return false; } - return $this->task->userIsASolver($user); + return $task->userIsASolver($user); } if ($hasEditingPermission) { -- GitLab