From 1f89c96ee4e73c7ca1589bffa8d0fe7773435974 Mon Sep 17 00:00:00 2001
From: Ron Lucke <lucke@elan-ev.de>
Date: Wed, 21 Jun 2023 11:46:36 +0000
Subject: [PATCH] fix #2752

Closes #2752

Merge request studip/studip!1865
---
 .../courseware/CoursewareDashboardStudents.vue        | 11 ++++++++++-
 .../courseware/CoursewareTasksDialogDistribute.vue    |  3 ++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/resources/vue/components/courseware/CoursewareDashboardStudents.vue b/resources/vue/components/courseware/CoursewareDashboardStudents.vue
index 5878705789d..c12e0b190a6 100644
--- a/resources/vue/components/courseware/CoursewareDashboardStudents.vue
+++ b/resources/vue/components/courseware/CoursewareDashboardStudents.vue
@@ -216,7 +216,7 @@
                 </form>
             </template>
         </studip-dialog>
-        <courseware-tasks-dialog-distribute v-if="showTasksDistributeDialog"/>
+        <courseware-tasks-dialog-distribute v-if="showTasksDistributeDialog" @newtask="reloadTasks"/>
     </div>
 </template>
 
@@ -318,6 +318,7 @@ export default {
             copyStructuralElement: 'copyStructuralElement',
             companionSuccess: 'companionSuccess',
             companionError: 'companionError',
+            loadAllTasks: 'courseware-tasks/loadAll'
         }),
         addFeedback(task) {
             this.currentDialogFeedback.attributes = {};
@@ -388,6 +389,14 @@ export default {
             });
             this.currentDialogTask = {};
         },
+        reloadTasks() {
+            this.loadAllTasks({ 
+                options: {
+                    'filter[cid]': this.context.id,
+                    include: 'solver, structural-element, task-feedback, task-group, task-group.lecturer'
+                }
+            });
+        }
     },
 };
 </script>
diff --git a/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue b/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue
index b850558670b..4a8f64b94b9 100644
--- a/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue
+++ b/resources/vue/components/courseware/CoursewareTasksDialogDistribute.vue
@@ -567,7 +567,6 @@ export default {
             this.loadStructuralElement({ id: id, options: { include: 'children' } });
         },
         async distributeTask() {
-            this.setShowTasksDistributeDialog(false);
             const taskGroup = {
                 attributes: {
                     title: this.taskTitle,
@@ -604,6 +603,8 @@ export default {
 
             await this.createTaskGroup({ taskGroup });
             this.companionSuccess({ info: this.$gettext('Aufgaben wurden verteilt.') });
+            this.$emit('newtask');
+            this.setShowTasksDistributeDialog(false);
         },
         validateSolvers() {
             if (
-- 
GitLab