From 89786942e75000b897b12ac3868cb293633e5290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Rodrigues?= Date: Tue, 10 Sep 2019 17:08:36 -0300 Subject: [PATCH] =?UTF-8?q?Refatora=20a=20fun=C3=A7=C3=A3o=20lista=5Fmater?= =?UTF-8?q?ias=5Fcomissao?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/comissoes/views.py | 21 +++++++--------- .../comissoes/materias_em_tramitacao.html | 24 ++++++++++++------- 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/sapl/comissoes/views.py b/sapl/comissoes/views.py index 0b5ca756d..0a80c0311 100644 --- a/sapl/comissoes/views.py +++ b/sapl/comissoes/views.py @@ -18,11 +18,12 @@ from sapl.comissoes.forms import (ComissaoForm, ComposicaoForm, DocumentoAcessorioCreateForm, DocumentoAcessorioEditForm, ParticipacaoCreateForm, ParticipacaoEditForm, - PeriodoForm, ReuniaoForm, PautaReuniaoForm) + PautaReuniaoForm, PeriodoForm, ReuniaoForm) from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, MasterDetailCrud, PermissionRequiredForAppCrudMixin) -from sapl.materia.models import MateriaLegislativa, Tramitacao, PautaReuniao +from sapl.materia.models import (MateriaLegislativa, Tramitacao, PautaReuniao, + MateriaEmTramitacao) from .models import (CargoComissao, Comissao, Composicao, DocumentoAcessorio, Participacao, Periodo, Reuniao, TipoComissao) @@ -166,15 +167,11 @@ class ComissaoCrud(Crud): def lista_materias_comissao(comissao_pk): - ts = Tramitacao.objects.order_by( - 'materia_id', '-data_tramitacao', '-id').annotate( - comissao=F('unidade_tramitacao_destino__comissao')).distinct( - 'materia').values_list('materia', 'comissao') - - ts = [m for (m,c) in ts if c == int(comissao_pk)] - - materias = MateriaLegislativa.objects.filter( - pk__in=ts).order_by('tipo', '-ano', '-numero') + materias = list( + MateriaEmTramitacao.objects.filter( + tramitacao__unidade_tramitacao_destino__comissao=comissao_pk + ).order_by('materia__tipo', '-materia__ano', '-materia__numero') + ) return materias @@ -190,7 +187,7 @@ class MateriasTramitacaoListView(ListView): context = super( MateriasTramitacaoListView, self).get_context_data(**kwargs) context['object'] = Comissao.objects.get(id=self.kwargs['pk']) - context['qtde'] = self.object_list.count() + context['qtde'] = len(self.object_list) return context diff --git a/sapl/templates/comissoes/materias_em_tramitacao.html b/sapl/templates/comissoes/materias_em_tramitacao.html index 759ff7e20..2e60f2efc 100644 --- a/sapl/templates/comissoes/materias_em_tramitacao.html +++ b/sapl/templates/comissoes/materias_em_tramitacao.html @@ -11,16 +11,22 @@ {% block detail_content %}
- {{comissao}} - Há {{qtde}} matéria(s) em tramitação nesta unidade.

- {% for materia in page_obj %} - - {{materia.tipo.sigla}} {{materia.numero}} {{materia.ano}} - {{materia.tipo}} + {{ comissao }} + Há {{ qtde }} matéria(s) em tramitação nesta unidade.

+ {% for materia_em_tramitacao in page_obj %} +
+ {{ materia_em_tramitacao.materia.tipo.sigla }} {{ materia_em_tramitacao.materia.numero }} + {{ materia_em_tramitacao.materia.ano }} - {{ materia_em_tramitacao.materia.tipo }}
- {{materia}}
- Autor: {{materia.autoria_set.first.autor.nome}}
- Situação: {{materia.tramitacao_set.last.status.descricao}}
- Data Fim Prazo da Última Tramitação: {% if materia.tramitacao_set.last.data_fim_prazo %} {{materia.tramitacao_set.last.data_fim_prazo}} {% else %} Não definida. {% endif %}
+ {{ materia_em_tramitacao.materia }}
+ Autor: {{ materia_em_tramitacao.materia.autoria_set.first.autor.nome }}
+ Situação: {{ materia_em_tramitacao.tramitacao.status.descricao }}
+ Data Fim Prazo da Última Tramitação: + {% if materia_em_tramitacao.tramitacao.data_fim_prazo %} + {{ materia_em_tramitacao.tramitacao.data_fim_prazo }} + {% else %} + Não definida. + {% endif %}

{% endfor %}