Browse Source

Refatora a função lista_materias_comissao

pull/2965/head
João Rodrigues 6 years ago
parent
commit
89786942e7
  1. 21
      sapl/comissoes/views.py
  2. 24
      sapl/templates/comissoes/materias_em_tramitacao.html

21
sapl/comissoes/views.py

@ -18,11 +18,12 @@ from sapl.comissoes.forms import (ComissaoForm, ComposicaoForm,
DocumentoAcessorioCreateForm, DocumentoAcessorioCreateForm,
DocumentoAcessorioEditForm, DocumentoAcessorioEditForm,
ParticipacaoCreateForm, ParticipacaoEditForm, ParticipacaoCreateForm, ParticipacaoEditForm,
PeriodoForm, ReuniaoForm, PautaReuniaoForm) PautaReuniaoForm, PeriodoForm, ReuniaoForm)
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux,
MasterDetailCrud, MasterDetailCrud,
PermissionRequiredForAppCrudMixin) 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, from .models import (CargoComissao, Comissao, Composicao, DocumentoAcessorio,
Participacao, Periodo, Reuniao, TipoComissao) Participacao, Periodo, Reuniao, TipoComissao)
@ -166,15 +167,11 @@ class ComissaoCrud(Crud):
def lista_materias_comissao(comissao_pk): def lista_materias_comissao(comissao_pk):
ts = Tramitacao.objects.order_by( materias = list(
'materia_id', '-data_tramitacao', '-id').annotate( MateriaEmTramitacao.objects.filter(
comissao=F('unidade_tramitacao_destino__comissao')).distinct( tramitacao__unidade_tramitacao_destino__comissao=comissao_pk
'materia').values_list('materia', 'comissao') ).order_by('materia__tipo', '-materia__ano', '-materia__numero')
)
ts = [m for (m,c) in ts if c == int(comissao_pk)]
materias = MateriaLegislativa.objects.filter(
pk__in=ts).order_by('tipo', '-ano', '-numero')
return materias return materias
@ -190,7 +187,7 @@ class MateriasTramitacaoListView(ListView):
context = super( context = super(
MateriasTramitacaoListView, self).get_context_data(**kwargs) MateriasTramitacaoListView, self).get_context_data(**kwargs)
context['object'] = Comissao.objects.get(id=self.kwargs['pk']) context['object'] = Comissao.objects.get(id=self.kwargs['pk'])
context['qtde'] = self.object_list.count() context['qtde'] = len(self.object_list)
return context return context

24
sapl/templates/comissoes/materias_em_tramitacao.html

@ -11,16 +11,22 @@
{% block detail_content %} {% block detail_content %}
<fieldset> <fieldset>
<legend>{{comissao}}</legend> <legend>{{ comissao }}</legend>
<b>Há {{qtde}} matéria(s) em tramitação nesta unidade.</b> <br><br> <b>Há {{ qtde }} matéria(s) em tramitação nesta unidade.</b> <br><br>
{% for materia in page_obj %} {% for materia_em_tramitacao in page_obj %}
<b><a href="{% url 'sapl.materia:materialegislativa_detail' materia.id %}"> <b><a href="{% url 'sapl.materia:materialegislativa_detail' materia_em_tramitacao.materia.id %}">
{{materia.tipo.sigla}} {{materia.numero}} {{materia.ano}} - {{materia.tipo}} {{ materia_em_tramitacao.materia.tipo.sigla }} {{ materia_em_tramitacao.materia.numero }}
{{ materia_em_tramitacao.materia.ano }} - {{ materia_em_tramitacao.materia.tipo }}
</b></a><br> </b></a><br>
{{materia}}<br> {{ materia_em_tramitacao.materia }}<br>
<b>Autor: </b>{{materia.autoria_set.first.autor.nome}}<br> <b>Autor: </b>{{ materia_em_tramitacao.materia.autoria_set.first.autor.nome }}<br>
<b>Situação: </b>{{materia.tramitacao_set.last.status.descricao}}<br> <b>Situação: </b>{{ materia_em_tramitacao.tramitacao.status.descricao }}<br>
<b>Data Fim Prazo da Última Tramitação: </b>{% if materia.tramitacao_set.last.data_fim_prazo %} {{materia.tramitacao_set.last.data_fim_prazo}} {% else %} Não definida. {% endif %}<br> <b>Data Fim Prazo da Última Tramitação: </b>
{% if materia_em_tramitacao.tramitacao.data_fim_prazo %}
{{ materia_em_tramitacao.tramitacao.data_fim_prazo }}
{% else %}
Não definida.
{% endif %}<br>
<br> <br>
{% endfor %} {% endfor %}
</fieldset> </fieldset>

Loading…
Cancel
Save