Untitled
unknown
plain_text
2 years ago
5.1 kB
4
Indexable
from django.db.models.signals import post_save from django.dispatch import receiver from partidas.models import Partida from partidas.models import Penalty @receiver(post_save, sender=Penalty) def set_penalty_vencedor(sender, instance, **kwargs): time1 = instance.times.all()[0] time2 = instance.times.all()[1] vencedor = None if instance.partida.ativo: if abs(time1.gmcp - time2.gmcp) > 2 and (time1.numero_batida_gmcp == 3 and time2.numero_batida_gmcp == 3): maior = max(time1.gmcp, time2.gmcp) if time1.gmcp == maior: vencedor = time1 else: vencedor = time2 if vencedor: partida = instance.partida partida.vencedor = vencedor partida.ativo = False partida.save() instance.vencedor = vencedor instance.ativo = False instance.save() elif abs(time1.gmcp - time2.gmcp) >= 2 and (time1.numero_batida_gmcp == 4 and time2.numero_batida_gmcp == 4): maior = max(time1.gmcp, time2.gmcp) if time1.gmcp == maior: vencedor = time1 else: vencedor = time2 if vencedor: partida = instance.partida partida.vencedor = vencedor partida.ativo = False partida.save() instance.vencedor = vencedor instance.ativo = False instance.save() elif abs(time1.gmcp - time2.gmcp) >= 2 and (time1.numero_batida_gmcp == 4 or time2.numero_batida_gmcp == 4): if abs(time1.numero_batida_gmcp - instance.qtd_batidas) == 2: if (time1.gmcp + 2) < time2.gmcp: vencedor = time2 elif abs(time1.numero_batida_gmcp - instance.qtd_batidas) == 1: if (time1.gmcp + 1) < time2.gmcp: vencedor = time2 elif abs(time2.numero_batida_gmcp - instance.qtd_batidas) == 2: if (time2.gmcp + 2) < time1.gmcp: vencedor = time1 elif abs(time2.numero_batida_gmcp - instance.qtd_batidas) == 1: if (time2.gmcp + 1) < time1.gmcp: vencedor = time1 if vencedor: partida = instance.partida partida.vencedor = vencedor partida.ativo = False partida.save() instance.vencedor = vencedor instance.ativo = False instance.save() elif abs(time1.gmcp - time2.gmcp) >= 1 and (time1.numero_batida_gmcp == 5 and time2.numero_batida_gmcp == 5): maior = max(time1.gmcp, time2.gmcp) if time1.gmcp == maior: vencedor = time1 else: vencedor = time2 if vencedor: partida = instance.partida partida.vencedor = vencedor partida.ativo = False partida.save() instance.vencedor = vencedor instance.ativo = False instance.save() elif abs(time1.gmcp - time2.gmcp) >= 1 and (time1.numero_batida_gmcp == 5 or time2.numero_batida_gmcp == 5): if abs(time1.numero_batida_gmcp - instance.qtd_batidas) == 1: if (time1.gmcp + 1) < time2.gmcp: vencedor = time2 elif abs(time1.numero_batida_gmcp - instance.qtd_batidas) == 0: if time1.gmcp < time2.gmcp: vencedor = time2 elif abs(time2.numero_batida_gmcp - instance.qtd_batidas) == 1: if (time2.gmcp + 1) < time1.gmcp: vencedor = time1 elif abs(time2.numero_batida_gmcp - instance.qtd_batidas) == 0: if time2.gmcp < time1.gmcp: vencedor = time1 if vencedor: partida = instance.partida partida.vencedor = vencedor partida.ativo = False partida.save() instance.vencedor = vencedor instance.ativo = False instance.save() elif abs(time1.gmcp - time2.gmcp) >= 0 and (time1.numero_batida_gmcp > 4 and time2.numero_batida_gmcp > 4): if not instance.cobranca_alternada: instance.cobranca_alternada = True instance.save() else: if abs(time1.gmcp - time2.gmcp) > 0 and time1.numero_batida_gmcp == time2.numero_batida_gmcp: if time1.gmcp > time2.gmcp: vencedor = time1 elif time2.gmcp > time1.gmcp: vencedor = time2 if vencedor: partida = instance.partida partida.vencedor = vencedor partida.ativo = False partida.save() instance.vencedor = vencedor instance.ativo = False instance.save()
Editor is loading...