From 2f733ee5213472f9598593bd437d004a65bc4963 Mon Sep 17 00:00:00 2001 From: Michael Bauer <michael-bauer@posteo.de> Date: Fri, 16 Feb 2024 11:29:21 +0100 Subject: [PATCH 1/2] Resolve groups for owner Group owner does not necessary (= by default) have the core.view_group permission, but should be able to view his groups anyway. --- aleksis/apps/cursus/schema.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/aleksis/apps/cursus/schema.py b/aleksis/apps/cursus/schema.py index 986be05..3c10b2a 100644 --- a/aleksis/apps/cursus/schema.py +++ b/aleksis/apps/cursus/schema.py @@ -144,7 +144,9 @@ class CourseType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType): @staticmethod def resolve_groups(root, info, **kwargs): - return get_objects_for_user(info.context.user, "core.view_group", root.groups.all()) + by_permission = get_objects_for_user(info.context.user, "core.view_group", root.groups.all()) + by_ownership = info.context.user.person.owner_of.all() & root.groups.all() + return by_permission | by_ownership @staticmethod def resolve_course_id(root, info, **kwargs): -- GitLab From 78bc5ba120b7ae4b52247435371be367d9e93d06 Mon Sep 17 00:00:00 2001 From: Michael Bauer <michael-bauer@posteo.de> Date: Fri, 16 Feb 2024 12:20:15 +0100 Subject: [PATCH 2/2] Reformat --- aleksis/apps/cursus/schema.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/aleksis/apps/cursus/schema.py b/aleksis/apps/cursus/schema.py index 3c10b2a..48ff689 100644 --- a/aleksis/apps/cursus/schema.py +++ b/aleksis/apps/cursus/schema.py @@ -144,7 +144,9 @@ class CourseType(PermissionsTypeMixin, DjangoFilterMixin, DjangoObjectType): @staticmethod def resolve_groups(root, info, **kwargs): - by_permission = get_objects_for_user(info.context.user, "core.view_group", root.groups.all()) + by_permission = get_objects_for_user( + info.context.user, "core.view_group", root.groups.all() + ) by_ownership = info.context.user.person.owner_of.all() & root.groups.all() return by_permission | by_ownership -- GitLab