diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue index e9559ac971bc834dadb96f8f7554004268de84a2..a07172dc5834feb68eeab69cd522774c52279256 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonInformation.vue @@ -26,7 +26,13 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; > {{ documentation.course?.name }} </span> - <div :class="{ 'd-flex align-center flex-wrap gap': true, 'justify-center': largeGrid, 'justify-start': !largeGrid }"> + <div + :class="{ + 'd-flex align-center flex-wrap gap': true, + 'justify-center': largeGrid, + 'justify-start': !largeGrid, + }" + > <subject-chip v-if="documentation.subject" :subject="documentation.subject" @@ -36,7 +42,8 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; <subject-chip v-if=" documentation?.lessonEvent?.amends?.subject && - documentation.lessonEvent.amends.subject.id !== documentation.subject.id + documentation.lessonEvent.amends.subject.id !== + documentation.subject.id " :subject="documentation.lessonEvent.amends.subject" v-bind="compact ? dialogActivator.attrs : {}" @@ -45,7 +52,12 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; disabled /> </div> - <div :class="{ 'd-flex align-center flex-wrap gap': true, 'justify-end': !largeGrid }"> + <div + :class="{ + 'd-flex align-center flex-wrap gap': true, + 'justify-end': !largeGrid, + }" + > <person-chip v-for="teacher in documentation.teachers" :key="documentation.id + '-teacher-' + teacher.id" @@ -56,6 +68,7 @@ import PersonChip from "aleksis.core/components/person/PersonChip.vue"; /> <person-chip v-for="teacher in amendedTeachers" + :key="documentation.id + '-amendedTeacher-' + teacher.id" :person="teacher" no-link v-bind="compact ? dialogActivator.attrs : {}" diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue index 7e3cc8841d95ff49f22943c99fba58ea90dfff25..cee9d5136fa39fbe0138de6d0ca71a1ae8727e9f 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue @@ -54,16 +54,20 @@ :loading="loading" > <template #append> - <v-tooltip bottom> - <template v-slot:activator="{ on, attrs }"> - <v-scroll-x-transition> - <v-icon v-if="appendIcon" :color="appendIconColor" v-on="on" v-bind="attrs">{{ - appendIcon - }}</v-icon> - </v-scroll-x-transition> - </template> - <span>{{ appendIconTooltip }}</span> - </v-tooltip> + <v-tooltip bottom> + <template v-slot:activator="{ on, attrs }"> + <v-scroll-x-transition> + <v-icon + v-if="appendIcon" + :color="appendIconColor" + v-on="on" + v-bind="attrs" + >{{ appendIcon }}</v-icon + > + </v-scroll-x-transition> + </template> + <span>{{ appendIconTooltip }}</span> + </v-tooltip> </template> </v-text-field> <div @@ -255,7 +259,12 @@ export default { }, appendIconTooltip() { return ( - { $success: this.$t("alsijil.coursebook.summary.topic.status.success"), $error: this.$t("alsijil.coursebook.summary.topic.status.error", { error: this.topicError }) }[this.appendIcon] || "" + { + $success: this.$t("alsijil.coursebook.summary.topic.status.success"), + $error: this.$t("alsijil.coursebook.summary.topic.status.error", { + error: this.topicError, + }), + }[this.appendIcon] || "" ); }, }, diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py index 7045b2d03803550d9c20d89d0ffbf5ecd0eb969e..b7fa4d04a23df031ff479870c17cf5f1a3d53446 100644 --- a/aleksis/apps/alsijil/rules.py +++ b/aleksis/apps/alsijil/rules.py @@ -12,8 +12,8 @@ from aleksis.core.util.predicates import ( from .util.predicates import ( can_edit_documentation, - can_view_documentation, can_view_any_documentation, + can_view_documentation, has_lesson_group_object_perm, has_person_group_object_perm, has_personal_note_group_perm, diff --git a/aleksis/apps/alsijil/util/predicates.py b/aleksis/apps/alsijil/util/predicates.py index c81468053383ef0a545f9467787ae37127bfd5bb..33bda1e7d5a586ff759eaf83f4b231ed43bf08c5 100644 --- a/aleksis/apps/alsijil/util/predicates.py +++ b/aleksis/apps/alsijil/util/predicates.py @@ -1,7 +1,7 @@ from typing import Any, Union from django.contrib.auth.models import User -from django.db.models import Prefetch, Q +from django.db.models import Q from django.utils.timezone import localdate, localtime from rules import predicate