from django.conf import settings
from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver
from rest_framework.authtoken.models import Token
from . import models
[docs]
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
    #    if created:
    #        Token.objects.create(user=instance)
    pass 
[docs]
@receiver(post_save, sender=models.Organization)
def init_organization_quest(sender, instance=None, created=False, **kwargs):
    pass 
#    if created:
#        team = models.Team.objects.create(name=instance.name, organization=instance)
#        team.admins.add()
#        quest = models.Quest.objects.create(name=instance.name, organization=instance)
#        models.Map.objects.create(name=instance.name, quest=quest)
[docs]
@receiver(post_delete, sender=models.Map)
def delete_quests_without_maps(sender, instance=None, created=False, **kwargs):
    if len(instance.quest.maps.all()) < 1:
        print("deleted map %s and quest %s has no more maps!!" % (instance.name, instance.quest.name))
        instance.quest.delete()