from django.db.models.signals import post_save, pre_delete from django.contrib.auth.models import User, Group from django.dispatch import receiver from .models import Profile, Agency, AgencyGroup from django.contrib.auth.models import Permission # SIGNALS FOR USER @receiver(post_save, sender=User) def create_profile(sender, instance, created, **kwargs): if created: Profile.objects.create(user=instance, agency=instance.agency, parent=instance.parent) ''' Wenn ein neuer Nutzer angelegt wird und dies der erste der Agentur ist, erhält dieser automatisch alle verfügbaren Rechte! ''' user_agency = User.objects.filter(profile__agency__pk=instance.agency.pk) if len(user_agency) == 1: tempuser = user_agency[0] temprof = Profile for ele in temprof._meta.permissions: tempperm = Permission.objects.get(codename=ele[0]) tempuser.user_permissions.add(tempperm) #tempuser.profile.func = 'lead' tempuser.save() @receiver(post_save, sender=User) def save_profile(sender, instance, **kwargs): instance.profile.save() # SIGNALS FOR GROUPS ''' @receiver(post_save, sender=Group) def create_group(sender, instance, created, **kwargs): print("NEW GROUP SIGNAL") if created: AgencyGroup.objects.create(group=instance, agency=instance.agency) @receiver(post_save, sender=Group) def save_group(sender, instance, **kwargs): print("GROUP SAVED SIGNAL") #instance.group.save() '''