diff options
Diffstat (limited to 'pydis_site/apps')
-rw-r--r-- | pydis_site/apps/home/signals.py | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/pydis_site/apps/home/signals.py b/pydis_site/apps/home/signals.py index f0be3db2..1d094d50 100644 --- a/pydis_site/apps/home/signals.py +++ b/pydis_site/apps/home/signals.py @@ -146,14 +146,10 @@ class SignalListener: except RoleMapping.DoesNotExist: continue # No mapping exists - remove_groups = [ - mapping.group for mapping in mappings if mapping.group not in new_groups - ] + account.user.groups.add( + group for group in new_groups if group not in current_groups + ) - add_groups = [group for group in new_groups if group not in current_groups] - - if remove_groups: - account.user.groups.remove(*remove_groups) - - if add_groups: - account.user.groups.add(*add_groups) + account.user.groups.remove( + mapping.group for mapping in mappings if mapping.group not in new_groups + ) |