From e4ff476a5e8c060f2c60dc1a6e7a7e0ac75f461d Mon Sep 17 00:00:00 2001 From: Victor Fabre Date: Mon, 19 Nov 2018 09:35:21 -0200 Subject: [PATCH] Retirada de pauta quase completo --- sapl/sessao/forms.py | 13 ++++++++----- sapl/sessao/views.py | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/sapl/sessao/forms.py b/sapl/sessao/forms.py index 71a1f3474..ebfcf1e85 100644 --- a/sapl/sessao/forms.py +++ b/sapl/sessao/forms.py @@ -241,12 +241,10 @@ class RetiradaPautaForm(ModelForm): super(RetiradaPautaForm, self).__init__( *args, **kwargs) - if self.instance: + if self.instance.pk: setOrdem = set(ordens) setExpediente = set(expedientes) - - presencas = SessaoPlenariaPresenca.objects.filter( q).order_by('parlamentar__nome_parlamentar') presentes = [p.parlamentar for p in presencas] @@ -267,9 +265,14 @@ class RetiradaPautaForm(ModelForm): sessao_plenaria = self.instance.sessao_plenaria if self.cleaned_data['data'] < sessao_plenaria.data_inicio: - raise ValidationError(_("Data de retirada de pauta anterior à abertura da Sessão")) + raise ValidationError(_("Data de retirada de pauta anterior à abertura da Sessão.")) if sessao_plenaria.data_fim and self.cleaned_data['data'] > sessao_plenaria.data_fim: - raise ValidationError(_("Data de retirada de pauta posterior ao encerramento da Sessão")) + raise ValidationError(_("Data de retirada de pauta posterior ao encerramento da Sessão.")) + + if self.cleaned_data['ordem'] and self.cleaned_data['ordem'].registrovotacao_set.exists(): + raise ValidationError(_("Essa matéria já foi votada, portanto não pode ser retirada de pauta.")) + elif self.cleaned_data['expediente'] and self.cleaned_data['expediente'].registrovotacao_set.exists(): + raise ValidationError(_("Essa matéria já foi votada, portanto não pode ser retirada de pauta.")) return self.cleaned_data diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 6a341dc5d..36fa8d1a8 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -219,7 +219,9 @@ def customize_link_materia(context, pk, has_permission, is_expediente): exist_resultado = obj.registrovotacao_set.filter( materia=obj.materia).exists() - if not exist_resultado: + exist_retirada = obj.retiradapauta_set.filter( + materia=obj.materia).exists() + if not exist_resultado and not exist_retirada: if obj.votacao_aberta: url = '' if is_expediente: @@ -292,6 +294,19 @@ def customize_link_materia(context, pk, has_permission, is_expediente): resultado = btn_abrir else: resultado = '''Não há resultado''' + + elif exist_retirada: + retirada = obj.retiradapauta_set.filter( + materia_id=obj.materia_id).last() + retirada_descricao = retirada.tipo_de_retirada.descricao + retirada_observacao = retirada.observacao + url = reverse('sapl.sessao:retiradapauta_detail', + kwargs={'pk': retirada.id}) + resultado = ('%s
%s
' % + (url, + retirada_descricao, + retirada_observacao)) + else: resultado = obj.registrovotacao_set.filter( materia_id=obj.materia_id).last()