From faa0042d7072787f1ba18f60142fd6f6f590c85b Mon Sep 17 00:00:00 2001
From: Ron Lucke <lucke@elan-ev.de>
Date: Fri, 30 Sep 2022 08:34:18 +0000
Subject: [PATCH] fix #1620

Closes #1620

Merge request studip/studip!1043
---
 .../vue/components/courseware/CoursewareListContainer.vue  | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/resources/vue/components/courseware/CoursewareListContainer.vue b/resources/vue/components/courseware/CoursewareListContainer.vue
index 91947de5fb4..8e889f86c86 100644
--- a/resources/vue/components/courseware/CoursewareListContainer.vue
+++ b/resources/vue/components/courseware/CoursewareListContainer.vue
@@ -79,8 +79,13 @@ export default {
             if (!this.container) {
                 return [];
             }
+            let containerBlocks = this.container.relationships.blocks.data.map(({ id }) => this.blockById({ id })).filter(Boolean);
+            let unallocated = new Set(containerBlocks.map(({ id }) => id));
+            let sortedBlocks = this.container.attributes.payload.sections[0].blocks.map((id) => this.blockById({ id })).filter(Boolean);
+            sortedBlocks.forEach(({ id }) => unallocated.delete(id));
+            let unallocatedBlocks = [...unallocated].map((id) => this.blockById({ id }));
 
-            return this.container.relationships.blocks.data.map(({ id }) => this.blockById({ id })).filter(Boolean);
+            return sortedBlocks.concat(unallocatedBlocks);
         },
         showEditMode() {
             return this.$store.getters.viewMode === 'edit';
-- 
GitLab