diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue index b47ebbfbb1d1cd8219686f05085eb0eeb8f453d3..00ff6b02fe2420d21396c500d20eca9a0f4678b1 100644 --- a/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue +++ b/aleksis/apps/alsijil/frontend/components/coursebook/CoursebookFilters.vue @@ -3,6 +3,7 @@ <v-autocomplete :items="selectable" item-text="name" + :item-value="(item) => `${item.__typename}-${item.id}`" clearable return-object filled diff --git a/aleksis/apps/alsijil/schema/__init__.py b/aleksis/apps/alsijil/schema/__init__.py index 48e1c20c62434cb9154d9e0faa9904dd09c84641..8a567b1bfe19626c5b769b244cf602a0acfe7082 100644 --- a/aleksis/apps/alsijil/schema/__init__.py +++ b/aleksis/apps/alsijil/schema/__init__.py @@ -122,8 +122,10 @@ class Query(graphene.ObjectType): else: raise PermissionDenied() - return Group.objects.filter( - Q(members=person) | Q(owners=person) | Q(parent_groups__owners=person) + return ( + Group.objects.for_current_school_term_or_all() + .filter(Q(members=person) | Q(owners=person) | Q(parent_groups__owners=person)) + .distinct() ) @staticmethod @@ -136,13 +138,15 @@ class Query(graphene.ObjectType): person = info.context.user.person else: raise PermissionDenied() - return Course.objects.filter( - Q(teachers=person) - | Q(groups__members=person) - | Q(groups__owners=person) - | Q(groups__parent_groups__owners=person) - ) + ( + Q(teachers=person) + | Q(groups__members=person) + | Q(groups__owners=person) + | Q(groups__parent_groups__owners=person) + ) + & Q(groups__in=Group.objects.for_current_school_term_or_all()) + ).distinct() @staticmethod def resolve_lessons_for_persons(