Redirect all signals from admin proxy models.

This commit is contained in:
Adarnof
2018-02-23 14:44:12 -05:00
parent 7a9bb0c84b
commit 814b2da0ca
4 changed files with 64 additions and 27 deletions

View File

@@ -3,10 +3,9 @@ import logging
from .models import CharacterOwnership, UserProfile, get_guest_state, State
from django.contrib.auth.models import User
from django.db.models import Q
from django.db.models.signals import post_save, pre_delete, m2m_changed, pre_save
from django.db.models.signals import pre_save, post_save, pre_delete, m2m_changed
from django.dispatch import receiver, Signal
from esi.models import Token
from allianceauth.authentication.admin import User as AdminUser
from allianceauth.eveonline.models import EveCharacter
@@ -67,6 +66,7 @@ def reassess_on_profile_save(sender, instance, created, *args, **kwargs):
instance.assign_state()
@receiver(post_save, sender=User)
def create_required_models(sender, instance, created, *args, **kwargs):
# ensure all users have a model
if created:
@@ -74,10 +74,6 @@ def create_required_models(sender, instance, created, *args, **kwargs):
UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_required_models, sender=User)
post_save.connect(create_required_models, sender=AdminUser)
@receiver(post_save, sender=Token)
def record_character_ownership(sender, instance, created, *args, **kwargs):
if created:
@@ -132,6 +128,7 @@ def validate_main_character_token(sender, instance, *args, **kwargs):
profile.save()
@receiver(pre_save, sender=User)
def assign_state_on_active_change(sender, instance, *args, **kwargs):
# set to guest state if inactive, assign proper state if reactivated
if instance.pk:
@@ -147,10 +144,6 @@ def assign_state_on_active_change(sender, instance, *args, **kwargs):
instance.profile.save(update_fields=['state'])
pre_save.connect(assign_state_on_active_change, sender=User)
pre_save.connect(assign_state_on_active_change, sender=AdminUser)
@receiver(post_save, sender=EveCharacter)
def check_state_on_character_update(sender, instance, *args, **kwargs):
# if this is a main character updating, check that user's state