Correct main character reset on token invalidation.

Correct interpretation of missing SERVICES_MIGRATED setting.
Remove legacy api sync celerybeat scheduled task.
This commit is contained in:
Adarnof 2017-06-13 20:34:39 -04:00
parent 7ab88dd663
commit 23bfc3d34a
3 changed files with 6 additions and 11 deletions

View File

@ -620,9 +620,3 @@ if 'services.modules.teamspeak3' in INSTALLED_APPS:
'task': 'services.modules.teamspeak3.tasks.run_ts3_group_update',
'schedule': crontab(minute='*/30'),
}
if 'services.modules.seat' in INSTALLED_APPS:
CELERYBEAT_SCHEDULE['run_seat_api_sync'] = {
'task': 'services.modules.seat.tasks.run_api_sync',
'schedule': crontab(minute='*/30'),
}

View File

@ -23,7 +23,7 @@ def optional_dependencies():
dependencies = []
# Skip adding module dependencies if the settings specifies that services have been migrated
if not hasattr(settings, 'SERVICES_MIGRATED') or settings.SERVICES_MIGRATED:
if getattr(settings, 'SERVICES_MIGRATED', True):
return dependencies
if 'services.modules.xenforo' in installed_apps:

View File

@ -98,11 +98,12 @@ def validate_main_character(sender, instance, *args, **kwargs):
@receiver(pre_delete, sender=Token)
def validate_main_character_token(sender, instance, *args, **kwargs):
if UserProfile.objects.filter(main_character__character_id=instance.character_id):
if not Token.objects.filter(character_id=instance.character_id).filter(user=instance.user).exists():
if UserProfile.objects.filter(main_character__character_id=instance.character_id).exists():
profile = UserProfile.objects.get(main_character__character_id=instance.character_id)
if not Token.objects.filter(character_id=instance.character_id).filter(user=profile.user).exclude(pk=instance.pk).exists():
# clear main character as we can no longer verify ownership
instance.user.profile.main_character = None
instance.user.profile.save()
profile.main_character = None
profile.save()
@receiver(post_save, sender=User)