From ef8f85c9bd02675a3e250e48ecdc22cd66af4a9b Mon Sep 17 00:00:00 2001 From: Ron Lucke <lucke@elan-ev.de> Date: Tue, 31 Jan 2023 09:02:38 +0000 Subject: [PATCH] Vererbung von Lese- und Schreibrechten in CW Closes #2102 and #2094 Merge request studip/studip!1360 --- .../JsonApi/Routes/Courseware/StructuralElementsCreate.php | 4 ++-- lib/models/Courseware/StructuralElement.php | 4 ++++ .../components/courseware/CoursewareStructuralElement.vue | 6 ------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php index 47ada639982..42831116d79 100644 --- a/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php +++ b/lib/classes/JsonApi/Routes/Courseware/StructuralElementsCreate.php @@ -81,8 +81,8 @@ class StructuralElementsCreate extends JsonApiController 'title' => self::arrayGet($json, 'data.attributes.title', ''), 'purpose' => self::arrayGet($json, 'data.attributes.purpose', $parent->purpose), 'payload' => self::arrayGet($json, 'data.attributes.payload', ''), - 'read_approval' => self::arrayGet($json, 'data.attributes.read-approval', []), - 'write_approval' => self::arrayGet($json, 'data.attributes.write-approval', []), + 'read_approval' => $parent->read_approval, + 'write_approval' => $parent->write_approval, 'position' => $parent->countChildren() ]); diff --git a/lib/models/Courseware/StructuralElement.php b/lib/models/Courseware/StructuralElement.php index ba5123883a3..c7087a767b6 100644 --- a/lib/models/Courseware/StructuralElement.php +++ b/lib/models/Courseware/StructuralElement.php @@ -837,6 +837,8 @@ SQL; 'position' => $parent->countChildren(), 'payload' => $this->payload, 'image_id' => $file_ref_id, + 'read_approval' => $parent->read_approval, + 'write_approval' => $parent->write_approval ]); $element->store(); @@ -944,6 +946,8 @@ SQL; 'purpose' => $this->purpose, 'position' => $parent->countChildren(), 'payload' => $this->payload, + 'read_approval' => $parent->read_approval, + 'write_approval' => $parent->write_approval ]); $element->store(); diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue index af5331b2db9..53322266050 100644 --- a/resources/vue/components/courseware/CoursewareStructuralElement.vue +++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue @@ -1518,8 +1518,6 @@ export default { const title = this.newChapterName; // this is the title of the new element const purpose = this.newChapterPurpose; let parent_id = this.currentId; // new page is descandant as default - let writeApproval = this.currentElement.attributes['write-approval']; - let readApproval = this.currentElement.attributes['read-approval']; this.errorEmptyChapterName = title.trim(); if (this.errorEmptyChapterName === '') { @@ -1527,16 +1525,12 @@ export default { } if (this.newChapterParent === 'sibling') { parent_id = this.structuralElement.relationships.parent.data.id; - writeApproval = []; - readApproval = []; } this.showElementAddDialog(false); this.createStructuralElement({ attributes: { title: title, purpose: purpose, - 'write-approval': writeApproval, - 'read-approval': readApproval }, templateId: this.newChapterTemplate ? this.newChapterTemplate.id : null, parentId: parent_id, -- GitLab