diff options
| author | 2019-10-11 19:26:13 +0100 | |
|---|---|---|
| committer | 2019-10-11 19:26:13 +0100 | |
| commit | f6db7cc458e63a6c88a3142110bb4f744a4c5920 (patch) | |
| tree | aa68e39d909ca83dc08e80f1f11a460fc7fa3a3d /pydis_site | |
| parent | Clarify _apply_groups kwarg (Thanks, @jchristgit) (diff) | |
Simplify signals.py as per @jchristgit's review
Diffstat (limited to 'pydis_site')
| -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 +                ) | 
