Skip to content
Snippets Groups Projects
Verified Commit 7faa1dfb authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Add print button to coursebook group tab

parent d43b44bd
No related branches found
No related tags found
1 merge request!476Resolve "Not storing groups for documentations is kind of a problem"
Pipeline #195628 failed
......@@ -20,9 +20,10 @@ import CancelButton from "aleksis.core/components/generic/buttons/CancelButton.v
{{ $t("alsijil.coursebook.print.title") }}
</template>
<template #content>
{{ $t("alsijil.coursebook.print.groups") }}
<v-autocomplete
v-if="!group"
:items="availableGroups"
:label="$t('alsijil.coursebook.print.groups')"
item-text="name"
item-value="id"
:value="value"
......@@ -87,7 +88,16 @@ export default {
*/
availableGroups: {
type: Array,
required: true,
required: false,
default: () => [],
},
/**
* Set a group to use this dialog exclusively for
*/
group: {
type: Object,
required: false,
default: null,
},
/**
* Initially selected groups
......@@ -121,6 +131,9 @@ export default {
},
computed: {
selectedGroups() {
if (this.group) {
return [this.group.id];
}
if (this.currentGroupSelection.length == 0) {
return this.value.map((group) => group.id);
} else {
......
......@@ -10,6 +10,9 @@
:show-select="false"
@items="items = $event"
>
<template #additionalActions>
<coursebook-print-dialog :group="group" />
</template>
<template
v-for="(extraMark, index) in extraMarks"
#[`extraMarks.${index}.count`]="{ item }"
......@@ -67,7 +70,7 @@
:to="{
name: 'core.personById',
params: {
personId: item.person.id,
id: item.person.id,
},
hash: '#' + MODE.PARTICIPATIONS,
}"
......@@ -81,13 +84,14 @@ import groupOverviewTabMixin from "aleksis.core/mixins/groupOverviewTabMixin.js"
import CRUDList from "aleksis.core/components/generic/CRUDList.vue";
import PersonChip from "aleksis.core/components/person/PersonChip.vue";
import SecondaryActionButton from "aleksis.core/components/generic/buttons/SecondaryActionButton.vue";
import CoursebookPrintDialog from "../CoursebookPrintDialog.vue";
import AbsenceReasonChip from "aleksis.apps.kolego/components/AbsenceReasonChip.vue";
import ExtraMarkChip from "aleksis.apps.alsijil/components/extra_marks/ExtraMarkChip.vue";
import { statisticsByGroup } from "./statistics.graphql";
import { absenceReasons } from "../queries/absenceReasons.graphql";
import { extraMarks } from "../../extra_marks/extra_marks.graphql";
import { extraMarks } from "../queries/extraMarks.graphql";
import { MODE } from "./modes";
export default {
......@@ -99,6 +103,7 @@ export default {
ExtraMarkChip,
PersonChip,
SecondaryActionButton,
CoursebookPrintDialog,
},
data() {
return {
......
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