Browse Source

Fixes #2123

pull/2134/head
João Pedro Sconetto 7 years ago
parent
commit
d807f835fd
  1. 2
      sapl/audiencia/forms.py
  2. 87
      sapl/sessao/forms.py

2
sapl/audiencia/forms.py

@ -98,7 +98,7 @@ class AudienciaForm(forms.ModelForm):
if self.cleaned_data['hora_inicio'] and self.cleaned_data['hora_fim']:
if (self.cleaned_data['hora_fim'] <
self.cleaned_data['hora_inicio']):
msg = _('A hora de fim não pode ser anterior a hora de ínicio')
msg = _('A hora de fim não pode ser anterior a hora de icio')
raise ValidationError(msg)
return cleaned_data

87
sapl/sessao/forms.py

@ -75,6 +75,8 @@ class SessaoPlenariaForm(ModelForm):
sl = self.cleaned_data['sessao_legislativa']
leg = self.cleaned_data['legislatura']
tipo = self.cleaned_data['tipo']
abertura = self.cleaned_data['data_inicio']
encerramento = self.cleaned_data['data_fim']
error = ValidationError(
"Número de Sessão Plenária já existente "
@ -96,6 +98,91 @@ class SessaoPlenariaForm(ModelForm):
else: # create
raise error
# Condições da verificação
abertura_entre_leg = leg.data_inicio < abertura < leg.data_fim
abertura_entre_sl = sl.data_inicio < abertura < sl.data_fim
if encerramento is not None:
encerramento_entre_leg = leg.data_inicio < encerramento < leg.data_fim
encerramento_entre_sl = sl.data_inicio < encerramento < sl.data_fim
# Verificação das datas de abertura e encerramento da Sessão
# Verificações com a data de encerramento preenchidas
if encerramento is not None:
# Verifica se a data de encerramento é anterior a data de abertura
if encerramento < abertura:
raise ValidationError("A data de encerramento não pode ser "
"anterior a data de abertura.")
# Verifica se a data de abertura está entre a data de início e fim da legislatura
if abertura_entre_leg and encerramento_entre_leg:
if abertura_entre_sl and encerramento_entre_sl:
pass
elif abertura_entre_sl and not encerramento_entre_sl:
raise ValidationError("A data de encerramento deve estar entre "
"as datas de início e fim da Sessão Legislativa.")
elif not abertura_entre_sl and encerramento_entre_sl:
raise ValidationError("A data de abertura deve estar entre as "
"datas de início e fim da Sessão Legislativa.")
elif not abertura_entre_sl and not encerramento_entre_sl:
raise ValidationError("A data de abertura e de encerramento devem estar "
"entre as datas de início e fim da Sessão Legislativa.")
elif abertura_entre_leg and not encerramento_entre_leg:
if abertura_entre_sl and encerramento_entre_sl:
raise ValidationError("A data de encerramento deve estar entre "
"as datas de início e fim da Legislatura.")
elif abertura_entre_sl and not encerramento_entre_sl:
raise ValidationError("A data de encerramento deve estar entre "
"as datas de início e fim tanto da "
"Legislatura quanto da Sessão Legislativa.")
elif not abertura_entre_sl and encerramento_entre_sl:
raise ValidationError("As datas de abertura e encerramento devem "
"estar entre as "
"datas de início e fim tanto Legislatura "
"quanto da Sessão Legislativa.")
elif not abertura_entre_sl and not encerramento_entre_sl:
raise ValidationError("As datas de abertura e encerramento devem "
"estar entre as "
"datas de início e fim tanto Legislatura "
"quanto da Sessão Legislativa.")
elif not abertura_entre_leg and not encerramento_entre_leg:
if abertura_entre_sl and encerramento_entre_sl:
raise ValidationError("As datas de abertura e encerramento devem "
"estar entre as "
"datas de início e fim da Legislatura.")
elif abertura_entre_sl and not encerramento_entre_sl:
raise ValidationError("As datas de abertura e encerramento devem "
"estar entre as "
"datas de início e fim tanto Legislatura "
"quanto da Sessão Legislativa.")
elif not abertura_entre_sl and encerramento_entre_sl:
raise ValidationError("As datas de abertura e encerramento devem "
"estar entre as "
"datas de início e fim tanto Legislatura "
"quanto da Sessão Legislativa.")
elif not abertura_entre_sl and not encerramento_entre_sl:
raise ValidationError("As datas de abertura e encerramento devem "
"estar entre as "
"datas de início e fim tanto Legislatura "
"quanto da Sessão Legislativa.")
# Verificações com a data de encerramento vazia
else:
if abertura_entre_leg:
if abertura_entre_sl:
pass
else:
raise ValidationError("A data de abertura da sessão deve estar "
"entre a data de início e fim da Sessão Legislativa.")
else:
if abertura_entre_sl:
raise ValidationError("A data de abertura da sessão deve estar "
"entre a data de início e fim da Legislatura.")
else:
raise ValidationError("A data de abertura da sessão deve estar "
"entre a data de início e fim tanto da "
"Legislatura quanto da Sessão Legislativa.")
return self.cleaned_data

Loading…
Cancel
Save