def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) sessao = SessaoPlenaria.objects.get(id=kwargs['initial']['id_sessao']) parlamentares_ativos = Parlamentar.objects.filter( ativo=True).order_by('nome_parlamentar') for p in parlamentares_ativos: if verifica_afastamento_parlamentar(p, sessao.data_inicio, sessao.data_fim): parlamentares_ativos = parlamentares_ativos.exclude(id=p.id) self.fields['parlamentar'].queryset = parlamentares_ativos
def test_parlamentar_esta_afastado(): parlamentar = mommy.make(Parlamentar) mandato = mommy.make(Mandato, parlamentar=parlamentar, data_inicio_mandato='2017-01-01', data_fim_mandato='2021-12-31') afastamento = AfastamentoParlamentar.objects.create( mandato=mandato, parlamentar=parlamentar, data_inicio='2017-12-05', data_fim='2017-12-12') assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-13') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-04') assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06', '2017-12-11') assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06', '2017-12-06') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-03', '2017-12-04') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-13', '2017-12-15') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-15', '2017-12-15') afastamento = AfastamentoParlamentar.objects.create( mandato=mandato, parlamentar=parlamentar, data_inicio='2017-12-05') assert AfastamentoParlamentar.objects.all().count() == 2 assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-13') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-04') assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06', '2017-12-11') assert verifica_afastamento_parlamentar(parlamentar, '2017-12-06', '2017-12-06') assert not verifica_afastamento_parlamentar(parlamentar, '2017-12-03', '2017-12-04') assert verifica_afastamento_parlamentar(parlamentar, '2017-12-13', '2017-12-15')