Skip to content
Snippets Groups Projects
Commit 307ef945 authored by magicfelix's avatar magicfelix
Browse files

Merge branch '211-implement-vue-substitution-frontend' into engs-4.0

parents 9d88d68d 20e00758
No related branches found
No related tags found
No related merge requests found
......@@ -95,7 +95,7 @@
</v-list-item-title>
</v-list-item-content>
</v-list-item>
<v-card-actions>
<v-card-actions v-if="checkPermission('chronos.edit_substitution_rule')">
<edit-button
i18n-key="chronos.event.amend.button"
@click="amendEvent.open = true"
......@@ -113,10 +113,11 @@
:get-patch-data="transformPatchData"
:edit-item="initPatchData"
@cancel="amendEvent.open = false"
@save="$emit('refreshCalendar')"
@save="onAmendSave()"
>
<template #subject.field="{ attrs, on }">
<template #subject.field="{ attrs, on, item }">
<v-autocomplete
:disabled="item.cancelled"
:items="amendableSubjects"
item-text="name"
item-value="id"
......@@ -124,8 +125,9 @@
v-on="on"
/>
</template>
<template #teachers.field="{ attrs, on }">
<template #teachers.field="{ attrs, on, item }">
<v-autocomplete
:disabled="item.cancelled"
multiple
:items="amendableTeachers"
item-text="fullName"
......@@ -136,8 +138,9 @@
deletable-chips
/>
</template>
<template #rooms.field="{ attrs, on }">
<template #rooms.field="{ attrs, on, item }">
<v-autocomplete
:disabled="item.cancelled"
multiple
:items="amendableRooms"
item-text="name"
......@@ -161,6 +164,7 @@
</template>
<script>
import permissionsMixin from "aleksis.core/mixins/permissions.js";
import calendarFeedDetailsMixin from "aleksis.core/mixins/calendarFeedDetails.js";
import BaseCalendarFeedDetails from "aleksis.core/components/calendar/BaseCalendarFeedDetails.vue";
import CalendarStatusChip from "aleksis.core/components/calendar/CalendarStatusChip.vue";
......@@ -191,7 +195,7 @@ export default {
EditButton,
DialogObjectForm,
},
mixins: [calendarFeedDetailsMixin, lessonEvent],
mixins: [permissionsMixin, calendarFeedDetailsMixin, lessonEvent],
data() {
return {
amendEvent: {
......@@ -246,14 +250,18 @@ export default {
cancelled: cancelled ? true : false,
};
},
onAmendSave() {
this.$emit('refreshCalendar');
this.model = false;
},
},
computed: {
initPatchData() {
return {
id: this.selectedEvent.meta.id,
subject: this.selectedEvent.meta.subject,
teachers: this.selectedEvent.meta.teachers,
rooms: this.selectedEvent.meta.rooms,
subject: this.selectedEvent.meta.subject?.id.toString(),
teachers: this.selectedEvent.meta.teachers.map((teacher) => teacher.id.toString()),
rooms: this.selectedEvent.meta.rooms.map((room) => room.id.toString()),
cancelled: this.selectedEvent.meta.cancelled,
comment: this.selectedEvent.meta.comment,
};
......@@ -264,5 +272,8 @@ export default {
amendableTeachers: gqlPersons,
amendableRooms: gqlRooms,
},
mounted() {
this.addPermissions(["chronos.edit_substitution_rule"]);
},
};
</script>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment