From 9d62b2644d026ff28fca963c2d45cbd0148f55f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Pedro=20Sconetto?= Date: Wed, 8 Aug 2018 15:08:53 -0300 Subject: [PATCH] Fix #2112 --- sapl/parlamentares/forms.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sapl/parlamentares/forms.py b/sapl/parlamentares/forms.py index cab60fcf2..2993e3d3f 100644 --- a/sapl/parlamentares/forms.py +++ b/sapl/parlamentares/forms.py @@ -44,15 +44,15 @@ def validar_datas_legislatura(eleicao, inicio, fim, pk=None): # Verifica se data de eleição < inicio < fim if inicio >= fim or eleicao >= inicio: msg_error = _('A data início deve ser menor que a ' + - 'data fim, e a data eleição deve ser ' + + 'data fim e a data eleição deve ser ' + 'menor que a data início') return (False, msg_error) # Verifica se há alguma data cadastrada no intervalo de tempo desejado - if Legislatura.objects.filter( - data_inicio__range=[inicio, fim]).exclude(pk=pk).exists()\ - or Legislatura.objects.filter( - data_fim__range=[inicio, fim]).exclude(pk=pk).exists(): + intersecao_legislatura = Legislatura.objects.filter( + data_inicio__lte=fim, data_fim__gte=inicio + ).exclude(pk=pk).exists() + if intersecao_legislatura: msg_error = _('Já existe uma legislatura neste intervalo de datas') return (False, msg_error) @@ -120,7 +120,6 @@ class LegislaturaForm(ModelForm): if not self.is_valid(): return self.cleaned_data - # import ipdb; ipdb.set_trace() numero = data['numero'] data_inicio = data['data_inicio'] @@ -132,6 +131,8 @@ class LegislaturaForm(ModelForm): ultima_legislatura = Legislatura.objects.filter(data_inicio__lte=data_inicio ).order_by('-data_inicio').first() + #proxima_legislatura = Legislatura.objects.filter(data_fim__gt=data_fim + # ).order_by('data_fim').first() if ultima_legislatura and ultima_legislatura.numero >= numero: raise ValidationError(_("Número deve ser maior que o da legislatura anterior"))