diff options
Diffstat (limited to 'resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue')
| -rw-r--r-- | resources/vue/components/courseware/tasks/CoursewareDashboardStudents.vue | 37 |
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> |
