From 74bbed5be7d1130e856f3098917ab2e3795bdd97 Mon Sep 17 00:00:00 2001
From: Ron Lucke <lucke@elan-ev.de>
Date: Mon, 11 Oct 2021 13:23:43 +0000
Subject: [PATCH] Biest#283

---
 .../CoursewareTableOfContentsBlock.vue        |  5 +++-
 .../vue/components/courseware/IndexApp.vue    | 28 ++++++++++---------
 2 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/resources/vue/components/courseware/CoursewareTableOfContentsBlock.vue b/resources/vue/components/courseware/CoursewareTableOfContentsBlock.vue
index 0a0ea00e7dc..f6b45265e0b 100755
--- a/resources/vue/components/courseware/CoursewareTableOfContentsBlock.vue
+++ b/resources/vue/components/courseware/CoursewareTableOfContentsBlock.vue
@@ -111,7 +111,10 @@ export default {
             let children = this.structuralElement.relationships.children.data;
             let childElements = [];
             children.forEach((element) => {
-                childElements.push(view.structuralElementById({ id: element.id }));
+                let childElement = view.structuralElementById({ id: element.id });
+                if (childElement.attributes['can-read']) {
+                    childElements.push(childElement);
+                }
             });
 
             return childElements;
diff --git a/resources/vue/components/courseware/IndexApp.vue b/resources/vue/components/courseware/IndexApp.vue
index 5a657e2df14..dde33980a5e 100755
--- a/resources/vue/components/courseware/IndexApp.vue
+++ b/resources/vue/components/courseware/IndexApp.vue
@@ -56,20 +56,22 @@ export default {
 
 function buildNodes(structuralElements, relatedStructuralElement) {
     return structuralElements.reduce((memo, element) => {
-        memo.push({
-            id: element.id,
-            parent:
-                relatedStructuralElement({
-                    parent: element,
-                    relationship: 'parent',
-                })?.id ?? null,
+        if (element.attributes['can-read']) {
+            memo.push({
+                id: element.id,
+                parent:
+                    relatedStructuralElement({
+                        parent: element,
+                        relationship: 'parent',
+                    })?.id ?? null,
 
-            children:
-                relatedStructuralElement({
-                    parent: element,
-                    relationship: 'children',
-                })?.map((child) => child.id) ?? [],
-        });
+                children:
+                    relatedStructuralElement({
+                        parent: element,
+                        relationship: 'children',
+                    })?.map((child) => child.id) ?? [],
+            });
+        }
 
         return memo;
     }, []);
-- 
GitLab