Skip to content
Snippets Groups Projects
Commit 06c49a63 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Merge branch '932-confidential-issue' into 'master'

Resolve "Synchronisation of AlekSIS and Django groups causes permissions issues"

Closes #932

See merge request !1453
parents 7a573cca 54cbfcd2
No related branches found
No related tags found
1 merge request!1453Resolve "Synchronisation of AlekSIS and Django groups causes permissions issues"
Pipeline #181798 failed
......@@ -60,6 +60,7 @@ Fixed
* [Dev] Foreign keys to ExtensiblePolymorphicModel types were using the wrong manager.
* [Dev] Allow activating more frequent polling for Celery task progress.
* [OIDC] Custom additional claims were not present in userinfo
* Synchronisation of AlekSIS and Django groups caused permissions issues
Removed
~~~~~~~
......
......@@ -577,20 +577,25 @@ class Group(SchoolTermRelatedExtensibleModel):
if force or dirty:
# Synchronise group to Django group with same name
dj_group, _ = DjangoGroup.objects.get_or_create(name=self.name)
dj_group.user_set.set(
list(
self.members.filter(user__isnull=False)
.values_list("user", flat=True)
.union(self.owners.filter(user__isnull=False).values_list("user", flat=True))
dj_group = self.django_group
if dj_group:
dj_group.user_set.set(
list(
self.members.filter(user__isnull=False)
.values_list("user", flat=True)
.union(
self.owners.filter(user__isnull=False).values_list("user", flat=True)
)
)
)
)
dj_group.save()
dj_group.save()
@property
def django_group(self):
"""Get Django group for this group."""
dj_group, _ = DjangoGroup.objects.get_or_create(name=self.name)
dj_group = None
if not self.school_term or self.school_term == SchoolTerm.current:
dj_group, _ = DjangoGroup.objects.get_or_create(name=self.name)
return dj_group
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment