21 lines
770 B
Python
21 lines
770 B
Python
from django.db.models.signals import post_delete, post_save, pre_save
|
|
from django.dispatch import receiver
|
|
|
|
from vbv_lernwelt.course.models import Course, CourseConfiguration, CourseSessionUser
|
|
|
|
|
|
@receiver(post_save, sender=Course)
|
|
def create_course_configuration(sender, instance, created, **kwargs):
|
|
if created:
|
|
CourseConfiguration.objects.create(course=instance)
|
|
|
|
|
|
@receiver(post_delete, sender=CourseSessionUser, dispatch_uid="delete_sso_roles")
|
|
def delete_sso_roles(sender, instance, **kwargs):
|
|
CourseSessionUser.remove_sso_roles_from_user(instance)
|
|
|
|
|
|
@receiver(pre_save, sender=CourseSessionUser, dispatch_uid="update_sso_roles")
|
|
def update_sso_roles(sender, instance: CourseSessionUser, **kwargs):
|
|
CourseSessionUser.update_sso_roles(instance)
|