aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue
diff options
context:
space:
mode:
Diffstat (limited to 'resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue')
-rw-r--r--resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue37
1 files changed, 28 insertions, 9 deletions
diff --git a/resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue b/resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue
index 426b0cb..5c7e794 100644
--- a/resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue
+++ b/resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue
@@ -3,7 +3,8 @@
<CoursewareRibbon :isContentBar="true" :showToolbarButton="false">
<template #buttons>
<router-link :to="{ name: 'task-groups-index' }">
- <StudipIcon shape="category-task" :size="24" />
+ <StudipIcon shape="category-task" :size="24" aria-role="presentation" />
+ <span class="sr-only">{{ $gettext('Aufgaben') }}</span>
</router-link>
</template>
<template #breadcrumbList>
@@ -24,6 +25,7 @@
<th :class="getSortClass('end-date')" @click="sort('end-date')">
{{ $gettext('Bearbeitungszeit') }}
</th>
+ <th></th>
<th class="actions">{{ $gettext('Aktionen') }}</th>
</tr>
</thead>
@@ -44,9 +46,13 @@
}}</router-link>
</td>
<td>
- <StudipDate :date="new Date(taskGroup.attributes['start-date'])" /> - <StudipDate
- :date="new Date(taskGroup.attributes['end-date'])"
- />
+ <StudipDate :date="new Date(taskGroup.attributes['start-date'])" /> -
+ <StudipDate :date="new Date(taskGroup.attributes['end-date'])" />
+ </td>
+ <td>
+ <div v-for="process in peerReviewProcesses(taskGroup)" :key="process.id">
+ <PeerReviewProcessStatus :process="process" description :filter="processActive" />
+ </div>
</td>
<td class="actions">
<StudipActionMenu
@@ -68,7 +74,11 @@
</template>
</CompanionBox>
- <TaskGroupsAddSolversDialog v-if="showTaskGroupsAddSolversDialog" :taskGroup="selectedTaskGroup" @newtask="reloadTasks" />
+ <TaskGroupsAddSolversDialog
+ v-if="showTaskGroupsAddSolversDialog"
+ :taskGroup="selectedTaskGroup"
+ @newtask="reloadTasks"
+ />
<TaskGroupsDeleteDialog v-if="showTaskGroupsDeleteDialog" :taskGroup="selectedTaskGroup" />
<TaskGroupsModifyDeadlineDialog v-if="showTaskGroupsModifyDeadlineDialog" :taskGroup="selectedTaskGroup" />
<CoursewareTasksDialogDistribute v-if="showTasksDistributeDialog" @newtask="reloadTasks" />
@@ -81,6 +91,7 @@ import { mapActions, mapGetters } from 'vuex';
import CompanionBox from '../layouts/CoursewareCompanionBox.vue';
import CoursewareRibbon from '../structural-element/CoursewareRibbon.vue';
import CoursewareTasksDialogDistribute from './CoursewareTasksDialogDistribute.vue';
+import PeerReviewProcessStatus from './peer-review/ProcessStatus.vue';
import StudipActionMenu from '../../StudipActionMenu.vue';
import StudipDate from '../../StudipDate.vue';
import StudipIcon from '../../StudipIcon.vue';
@@ -88,6 +99,7 @@ import TaskGroupsAddSolversDialog from './TaskGroupsAddSolversDialog.vue';
import TaskGroupsDeleteDialog from './TaskGroupsDeleteDialog.vue';
import TaskGroupsModifyDeadlineDialog from './TaskGroupsModifyDeadlineDialog.vue';
import { getStatus } from './task-groups-helper.js';
+import { ProcessStatus } from './peer-review/definitions.ts';
export default {
name: 'courseware-dashboard-students',
@@ -95,6 +107,7 @@ export default {
CompanionBox,
CoursewareRibbon,
CoursewareTasksDialogDistribute,
+ PeerReviewProcessStatus,
StudipActionMenu,
StudipDate,
StudipIcon,
@@ -103,6 +116,7 @@ export default {
TaskGroupsModifyDeadlineDialog,
},
data: () => ({
+ processActive: ProcessStatus.Active,
selectedTaskGroup: null,
sortBy: 'end-date',
sortAsc: false,
@@ -110,6 +124,7 @@ export default {
computed: {
...mapGetters({
context: 'context',
+ relatedPeerReviewProcesses: 'courseware-peer-review-processes/related',
showTaskGroupsAddSolversDialog: 'tasks/showTaskGroupsAddSolversDialog',
showTaskGroupsDeleteDialog: 'tasks/showTaskGroupsDeleteDialog',
showTaskGroupsModifyDeadlineDialog: 'tasks/showTaskGroupsModifyDeadlineDialog',
@@ -155,13 +170,13 @@ export default {
id: 'add-solvers',
label: this.$gettext('Teilnehmende hinzufügen'),
icon: 'add',
- emit: 'addsolvers'
+ emit: 'addsolvers',
});
menuItems.push({
id: 'modify-deadline',
label: this.$gettext('Bearbeitungszeit verlängern'),
icon: 'date',
- emit: 'deadline'
+ emit: 'deadline',
});
}
@@ -186,11 +201,15 @@ export default {
this.selectedTaskGroup = taskGroup;
this.setShowTaskGroupsModifyDeadlineDialog(true);
},
+ peerReviewProcesses(parent) {
+ return this.relatedPeerReviewProcesses({ parent, relationship: 'peer-review-processes' });
+ },
reloadTasks() {
this.loadAllTasks({
options: {
'filter[cid]': this.context.id,
- include: 'solver, structural-element, task-feedback, task-group, task-group.lecturer',
+ include:
+ 'solver, structural-element, task-feedback, task-group, task-group.lecturer, task-group.peer-review-processes',
},
});
},
@@ -216,7 +235,7 @@ export default {
th {
cursor: pointer;
}
-th:is(:first-child,:last-child) {
+th:is(:first-child, :last-child) {
cursor: not-allowed;
}
</style>