diff --git a/aleksis/apps/alsijil/frontend/components/injectables/group_actions/OpenCoursebook.vue b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/OpenCoursebook.vue new file mode 100644 index 0000000000000000000000000000000000000000..c52dedfc1f94497ba9a82dbd342a5b47dead2821 --- /dev/null +++ b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/OpenCoursebook.vue @@ -0,0 +1,30 @@ +<script> +import groupActionsMixin from "aleksis.core/components/group/actions/groupActionsMixin.js"; +export default { + name: "OpenCoursebook", + mixins: [groupActionsMixin], +}; +</script> + +<template> + <v-list-item + :to="{ + name: 'alsijil.coursebook', + params: { + filterType: 'all', + pageType: 'documentations', + objType: 'group', + objId: group.id, + }, + }" + > + <v-list-item-icon> + <v-icon>mdi-book-education-outline</v-icon> + </v-list-item-icon> + <v-list-item-content> + <v-list-item-title> + {{ $t("actions.open_in_coursebook") }} + </v-list-item-title> + </v-list-item-content> + </v-list-item> +</template> diff --git a/aleksis/apps/alsijil/frontend/components/injectables/group_actions/ShowAbsences.vue b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/ShowAbsences.vue new file mode 100644 index 0000000000000000000000000000000000000000..e582968e3c84d2e5afbd334233ee93138ef98540 --- /dev/null +++ b/aleksis/apps/alsijil/frontend/components/injectables/group_actions/ShowAbsences.vue @@ -0,0 +1,30 @@ +<script> +import groupActionsMixin from "aleksis.core/components/group/actions/groupActionsMixin.js"; +export default { + name: "ShowAbsences", + mixins: [groupActionsMixin], +}; +</script> + +<template> + <v-list-item + :to="{ + name: 'alsijil.coursebook', + params: { + filterType: 'all', + pageType: 'absences', + objType: 'group', + objId: group.id, + }, + }" + > + <v-list-item-icon> + <v-icon>mdi-account-details-outline</v-icon> + </v-list-item-icon> + <v-list-item-content> + <v-list-item-title> + {{ $t("actions.show_absences") }} + </v-list-item-title> + </v-list-item-content> + </v-list-item> +</template> diff --git a/aleksis/apps/alsijil/frontend/index.js b/aleksis/apps/alsijil/frontend/index.js index 37bde1e72d4ec8c6011256bc3ec614c38f535760..4945f0b980c8b113ea9529cea3f31fa6ee2d57b0 100644 --- a/aleksis/apps/alsijil/frontend/index.js +++ b/aleksis/apps/alsijil/frontend/index.js @@ -1,6 +1,23 @@ import { hasPersonValidator } from "aleksis.core/routeValidators"; import { DateTime } from "luxon"; +export const collectionItems = { + coreGroupActions: [ + { + key: "alsijil-open-coursebook", + component: () => + import("./components/injectables/group_actions/OpenCoursebook.vue"), + isActive: () => true, + }, + { + key: "alsijil-show-absences", + component: () => + import("./components/injectables/group_actions/ShowAbsences.vue"), + isActive: () => true, + }, + ], +}; + export default { meta: { inMenu: true, diff --git a/aleksis/apps/alsijil/frontend/messages/en.json b/aleksis/apps/alsijil/frontend/messages/en.json index 13baa9af4126a3a103c1a6805fd5765f2e3f40ad..34dff10f5cb437b6b904f45b2ca127ef5e8ee0c2 100644 --- a/aleksis/apps/alsijil/frontend/messages/en.json +++ b/aleksis/apps/alsijil/frontend/messages/en.json @@ -140,7 +140,9 @@ }, "actions": { "back_to_overview": "Back to overview", - "open_person_page": "Open detail view for {fullName}" + "open_person_page": "Open detail view for {fullName}", + "open_in_coursebook": "View Coursebook", + "show_absences": "Open absence list" }, "time": { "minutes": "minutes",