Skip to content
Snippets Groups Projects
Verified Commit 9f6faa83 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Synchronise group to Django group on saving

parent 23d2c21d
No related branches found
No related tags found
1 merge request!214Resolve "Synchronise AlekSIS groups with Django groups"
Pipeline #1292 failed
......@@ -2,6 +2,7 @@ from datetime import date, datetime
from typing import Optional, Iterable, Union, Sequence, List
from django.contrib.auth import get_user_model
from djang.contrib.auth.models import Group as DjangoGroup
from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.db import models
......@@ -260,6 +261,18 @@ class Group(ExtensibleModel):
def __str__(self) -> str:
return "%s (%s)" % (self.name, self.short_name)
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
# Synchronise group to Django group with same name
dj_group, _ = DjangoGroup.objects.get_or_create(name=self.name)
dj_group.users.set(
list(
self.members.values_list("user", flat=True).union(self.owners.values_list("user", flat=True))
)
)
dj_group.save()
class Activity(ExtensibleModel):
user = models.ForeignKey("Person", on_delete=models.CASCADE, related_name="activities")
......
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