Skip to content
Snippets Groups Projects

Resolve "graphql API login listener error"

Merged Jonathan Séguin requested to merge 158-graphql-api-login-listener-error into master
1 file
+ 2
2
Compare changes
  • Side-by-side
  • Inline
+ 2
2
@@ -3,10 +3,12 @@ from django.db.models.signals import post_save, post_delete
from django.contrib.auth.signals import user_logged_in
from django.dispatch import receiver
from django_auth_ldap.backend import LDAPBackend, populate_user
from django.db import transaction
from .models import Profile, Lab
@receiver(user_logged_in)
@transaction.atomic
def user_login(sender, user, **kwargs):
""" User logged in (any method)
Update user association with IRIC labs. External lab associations are to be managed manually.
@@ -25,12 +27,10 @@ def user_login(sender, user, **kwargs):
if hasattr(user, 'ldapuser') or azuread_groups:
user.profile.labs.remove(*Lab.objects.filter(ldap__startswith='iric-'))
if hasattr(user, 'ldapuser'):
user.profile.labs.add(*Lab.objects.filter(ldap__in=user.ldap_user.group_names))
elif azuread_groups:
user.profile.labs.add(*Lab.objects.filter(ldap__in=azuread_groups))
user.profile.save()
Loading