Ensure autogroups are removed if new state has config

This commit is contained in:
Adarnof 2018-04-07 20:59:00 -04:00
parent ef9284030b
commit ad1fd633b1

View File

@ -38,14 +38,13 @@ class AutogroupsConfigManager(models.Manager):
"""
if state is None:
state = user.profile.state
configs = self.filter(states=state)
if configs:
[config.update_group_membership_for_user(user) for config in configs]
else:
# No config for this user's state. Remove all managed groups.
for config in self.all():
config.remove_user_from_alliance_groups(user)
config.remove_user_from_corp_groups(user)
for config in self.filter(states=state):
# grant user new groups for their state
config.update_group_membership_for_user(user)
for config in self.exclude(states=state):
# ensure user does not have groups from previous state
config.remove_user_from_alliance_groups(user)
config.remove_user_from_corp_groups(user)
class AutogroupsConfig(models.Model):