Skip to content
Snippets Groups Projects
Commit 014b21a6 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Merge branch '228-substitution-teacher-can-t-see-any-persons-in-the-lesson-view' into 'master'

Resolve "Substitution teacher can't see any persons in the lesson view"

Closes #228

See merge request !307
parents 2ac67421 3517b2c0
No related branches found
No related tags found
1 merge request!307Resolve "Substitution teacher can't see any persons in the lesson view"
Pipeline #91016 passed
...@@ -13,7 +13,12 @@ Changed ...@@ -13,7 +13,12 @@ Changed
~~~~~~~ ~~~~~~~
* Use new icon set inside of models and templates * Use new icon set inside of models and templates
Fixed
~~~~~
* Extra marks and excused absences were counted multiple times in some class register views. * Extra marks and excused absences were counted multiple times in some class register views.
* Substitution teachers couldn't see any persons in the person list of a substituted lesson.
`2.1.1`_ - 2022-09-01 `2.1.1`_ - 2022-09-01
--------------------- ---------------------
......
...@@ -236,15 +236,14 @@ def register_object( ...@@ -236,15 +236,14 @@ def register_object(
if not request.user.has_perm( if not request.user.has_perm(
"alsijil.view_register_object_personalnote_rule", register_object "alsijil.view_register_object_personalnote_rule", register_object
): ):
persons = Person.objects.filter(pk=request.user.person.pk) persons = Person.objects.filter(
Q(pk=request.user.person.pk)
| Q(person__member_of__in=request.user.person.owner_of.all())
).distinct()
else: else:
persons = Person.objects.all() persons = Person.objects.all()
persons_qs = ( persons_qs = register_object.get_personal_notes(persons, wanted_week).distinct()
register_object.get_personal_notes(persons, wanted_week)
.filter(person__member_of__in=request.user.person.owner_of.all())
.distinct()
)
# Annotate group roles # Annotate group roles
if show_group_roles: if show_group_roles:
...@@ -798,16 +797,12 @@ def my_students(request: HttpRequest) -> HttpResponse: ...@@ -798,16 +797,12 @@ def my_students(request: HttpRequest) -> HttpResponse:
new_groups = [] new_groups = []
for group in relevant_groups: for group in relevant_groups:
persons = ( persons = group.generate_person_list_with_class_register_statistics(
group.generate_person_list_with_class_register_statistics( group.members.prefetch_related(
group.members.prefetch_related( "primary_group__owners",
"primary_group__owners", Prefetch("member_of", queryset=relevant_groups, to_attr="member_of_prefetched"),
Prefetch("member_of", queryset=relevant_groups, to_attr="member_of_prefetched"),
)
) )
.filter(member_of__in=request.user.person.owner_of.all()) ).distinct()
.distinct()
)
persons_for_group = [] persons_for_group = []
for person in persons: for person in persons:
person.set_object_permission_checker(checker) person.set_object_permission_checker(checker)
......
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