aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/home/signals.py
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site/apps/home/signals.py')
-rw-r--r--pydis_site/apps/home/signals.py16
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
+ )