From 3487a58a31cbfcb104bb49745ca2e38b46afb1a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Cantu=C3=A1ria?= Date: Fri, 3 Jul 2020 12:19:33 -0300 Subject: [PATCH] =?UTF-8?q?Adiciona=20status=20da=20tramita=C3=A7=C3=A3o?= =?UTF-8?q?=20das=20mat=C3=A9rias=20na=20sess=C3=A3o=20plen=C3=A1ria=20e?= =?UTF-8?q?=20seus=20relat=C3=B3rios=20(#3214)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/relatorios/views.py | 4 +- sapl/sessao/views.py | 93 ++++++------------- .../materias_expediente.html | 3 + .../materias_ordemdia.html | 3 + .../blocos_ata/materias_expediente.html | 3 + .../sessao/blocos_ata/materias_ordem_dia.html | 3 + .../blocos_resumo/materias_expediente.html | 5 + .../blocos_resumo/materias_ordem_dia.html | 5 + 8 files changed, 53 insertions(+), 66 deletions(-) diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 02c7d3317..d7e1085a8 100755 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -601,6 +601,7 @@ def get_sessao_plenaria(sessao, casa): str(materia.ano)), "des_numeracao": ' ', "des_turno": get_turno(materia)[0], + "situacao": materia.materiaemtramitacao_set.first().tramitacao.status, "txt_ementa": str(materia.ementa), "materia_observacao": materia.observacao, "ordem_observacao": expediente_materia.observacao, @@ -705,7 +706,8 @@ def get_sessao_plenaria(sessao, casa): "txt_ementa": html.unescape(materia.ementa), "materia_observacao": materia.observacao, "ordem_observacao": html.unescape(votacao.observacao), - "nom_autor": '' + "nom_autor": '', + "situacao": materia.materiaemtramitacao_set.first().tramitacao.status }) autoria = materia.autoria_set.all() diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index cd21af3ef..d3a8372d1 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -239,19 +239,23 @@ def customize_link_materia(context, pk, has_permission, is_expediente): turno = ' ' if tramitacao and tramitacao.tipo_turno: turno = tramitacao.tipo_turno.nome + situacao = MateriaEmTramitacao.objects.select_related("materia", "tramitacao")\ + .filter(materia=materia).first().tramitacao.status title_materia = """%s
Processo: %s
Autor: %s
Protocolo: %s
Turno: %s
+ Situação: %s
""" % (obj.materia.id, url_materia, row[1][0], numeracao if numeracao else '', autor if autor else '', num_protocolo if num_protocolo else '', - turno) + turno, + situacao if situacao else '') # Na linha abaixo, o segundo argumento é None para não colocar # url em toda a string de title_materia @@ -1703,21 +1707,11 @@ def get_expedientes(sessao_plenaria): def get_materias_expediente(sessao_plenaria): - materias = ExpedienteMateria.objects.filter( - sessao_plenaria_id=sessao_plenaria.id) - materias_expediente = [] - for m in materias: - - ementa = m.materia.ementa - titulo = m.materia - numero = m.numero_ordem - + for m in ExpedienteMateria.objects.select_related("materia").filter(sessao_plenaria_id=sessao_plenaria.id): tramitacao = '' - tramitacoes = Tramitacao.objects.filter( - materia=m.materia).order_by('-pk') - for aux_tramitacao in tramitacoes: - if aux_tramitacao.tipo_turno: + for aux_tramitacao in Tramitacao.objects.filter(materia=m.materia).order_by('-pk'): + if aux_tramitacao.turno: tramitacao = aux_tramitacao break @@ -1734,10 +1728,7 @@ def get_materias_expediente(sessao_plenaria): resultado = rp.tipo_de_retirada.descricao resultado_observacao = rp.observacao else: - if m.tipo_votacao == 4: - resultado = _('Matéria lida') - else: - resultado = _('Matéria não votada') + resultado = _('Matéria lida') if m.tipo_votacao == 4 else _('Matéria não votada') resultado_observacao = _(' ') materias_expediente.append({ @@ -1755,8 +1746,7 @@ def get_materias_expediente(sessao_plenaria): 'observacao': m.observacao }) - context = {'materia_expediente': materias_expediente} - return context + return {'materia_expediente': materias_expediente} def get_oradores_expediente(sessao_plenaria): @@ -1824,19 +1814,11 @@ def get_assinaturas(sessao_plenaria): def get_materias_ordem_do_dia(sessao_plenaria): - ordem = OrdemDia.objects.filter(sessao_plenaria_id=sessao_plenaria.id) materias_ordem = [] - for o in ordem: - ementa = o.materia.ementa - ementa_observacao = o.observacao - titulo = o.materia - numero = o.numero_ordem - + for o in OrdemDia.objects.filter(sessao_plenaria_id=sessao_plenaria.id): tramitacao = '' - tramitacoes = Tramitacao.objects.filter( - materia=o.materia).order_by('-pk') - for aux_tramitacao in tramitacoes: - if aux_tramitacao.tipo_turno: + for aux_tramitacao in Tramitacao.objects.filter(materia=o.materia).order_by('-pk'): + if aux_tramitacao.turno: tramitacao = aux_tramitacao break @@ -1854,28 +1836,20 @@ def get_materias_ordem_do_dia(sessao_plenaria): resultado = rp.tipo_de_retirada.descricao resultado_observacao = rp.observacao else: - if o.tipo_votacao == 4: - resultado = _('Matéria lida') - else: - resultado = _('Matéria não votada') + resultado = _('Matéria lida') if o.tipo_votacao == 4 else _('Matéria não votada') resultado_observacao = _(' ') - voto_sim = "" - voto_nao = "" - voto_abstencoes = "" voto_nominal = [] - if o.tipo_votacao == 2: - votos = VotoParlamentar.objects.filter(ordem=o.id) - for voto in votos: - aux_voto = (voto.parlamentar.nome_completo, voto.voto) - voto_nominal.append(aux_voto) - try: - voto = RegistroVotacao.objects.filter(ordem=o.id).last() + for voto in VotoParlamentar.objects.filter(ordem=o.id): + voto_nominal.append((voto.parlamentar.nome_completo, voto.voto)) + + voto = RegistroVotacao.objects.filter(ordem=o.id).last() + if voto: voto_sim = voto.numero_votos_sim voto_nao = voto.numero_votos_nao voto_abstencoes = voto.numero_abstencoes - except AttributeError: + else: voto_sim = " Não Informado" voto_nao = " Não Informado" voto_abstencoes = " Não Informado" @@ -1900,8 +1874,7 @@ def get_materias_ordem_do_dia(sessao_plenaria): 'observacao': o.observacao }) - context = {'materias_ordem': materias_ordem} - return context + return {'materias_ordem': materias_ordem} def get_oradores_ordemdia(sessao_plenaria): @@ -1969,13 +1942,9 @@ class ResumoView(DetailView): context = self.get_context_data(object=self.object) # Votos de Votação Nominal de Matérias Expediente - materias_expediente_votacao_nominal = ExpedienteMateria.objects.filter( - sessao_plenaria_id=self.object.id, - tipo_votacao=2).order_by('-materia') - votacoes = [] - for mevn in materias_expediente_votacao_nominal: - + for mevn in ExpedienteMateria.objects.filter(sessao_plenaria_id=self.object.id, tipo_votacao=2)\ + .order_by('-materia'): votos_materia = [] titulo_materia = mevn.materia registro = RegistroVotacao.objects.filter(expediente=mevn) @@ -1983,11 +1952,10 @@ class ResumoView(DetailView): for vp in VotoParlamentar.objects.filter(votacao=registro).order_by('parlamentar'): votos_materia.append(vp) - dados_votacao = { + votacoes.append({ 'titulo': titulo_materia, 'votos': votos_materia - } - votacoes.append(dados_votacao) + }) context.update({'votos_nominais_materia_expediente': votacoes}) @@ -2021,12 +1989,8 @@ class ResumoView(DetailView): # ===================================================================== # Matérias Ordem do Dia # Votos de Votação Nominal de Matérias Ordem do Dia - materias_ordem_dia_votacao_nominal = OrdemDia.objects.filter( - sessao_plenaria_id=self.object.id, - tipo_votacao=2).order_by('-materia') - votacoes_od = [] - for modvn in materias_ordem_dia_votacao_nominal: + for modvn in OrdemDia.objects.filter(sessao_plenaria_id=self.object.id, tipo_votacao=2).order_by('-materia'): votos_materia_od = [] t_materia = modvn.materia registro_od = RegistroVotacao.objects.filter(ordem=modvn) @@ -2034,11 +1998,10 @@ class ResumoView(DetailView): for vp_od in VotoParlamentar.objects.filter(votacao=registro_od).order_by('parlamentar'): votos_materia_od.append(vp_od) - dados_votacao_od = { + votacoes_od.append({ 'titulo': t_materia, 'votos': votos_materia_od - } - votacoes_od.append(dados_votacao_od) + }) context.update({'votos_nominais_materia_ordem_dia': votacoes_od}) diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html b/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html index 34fcb0c20..90313ba4c 100644 --- a/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html @@ -18,6 +18,9 @@
{{materia.num_ordem}} - {{materia.id_materia}}
Turno: {{materia.des_turno}}
{{materia.num_autores}}: {{materia.nom_autor}}
+ {% if materia.situacao %} +
Situação: {{materia.situacao}}
+ {% endif %}
{{materia.txt_ementa}}
{{materia.ordem_observacao}}
diff --git a/sapl/templates/relatorios/blocos_sessao_plenaria/materias_ordemdia.html b/sapl/templates/relatorios/blocos_sessao_plenaria/materias_ordemdia.html index 1bba14829..5b6d80633 100644 --- a/sapl/templates/relatorios/blocos_sessao_plenaria/materias_ordemdia.html +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/materias_ordemdia.html @@ -16,6 +16,9 @@
{{materia.num_ordem}} - {{materia.id_materia}}
Turno: {{materia.des_turno}}
{{materia.num_autores}}: {{materia.nom_autor}}
+ {% if materia.situacao %} +
Situação: {{materia.situacao}}
+ {% endif %} {{materia.txt_ementa}}
{{materia.ordem_observacao}} diff --git a/sapl/templates/sessao/blocos_ata/materias_expediente.html b/sapl/templates/sessao/blocos_ata/materias_expediente.html index 4a3964993..5b21e200b 100644 --- a/sapl/templates/sessao/blocos_ata/materias_expediente.html +++ b/sapl/templates/sessao/blocos_ata/materias_expediente.html @@ -15,6 +15,9 @@ {% if m.turno %} Turno: {{m.turno}}, {% endif %} + {% if m.situacao %} + Situação: {{m.situacao}}, + {% endif %} {% if m.tipo_votacao %} Tipo: {{m.tipo_votacao}}, Sim: {{ m.voto_sim }}, diff --git a/sapl/templates/sessao/blocos_ata/materias_ordem_dia.html b/sapl/templates/sessao/blocos_ata/materias_ordem_dia.html index 6b38be5e4..c25ce9683 100644 --- a/sapl/templates/sessao/blocos_ata/materias_ordem_dia.html +++ b/sapl/templates/sessao/blocos_ata/materias_ordem_dia.html @@ -15,6 +15,9 @@ {% if m.turno %} Turno: {{m.turno}}, {% endif %} + {% if m.situacao %} + Situação: {{m.situacao}}, + {% endif %} {% if m.tipo_votacao %} Tipo: {{m.tipo_votacao}}, Sim: {{ m.voto_sim }}, diff --git a/sapl/templates/sessao/blocos_resumo/materias_expediente.html b/sapl/templates/sessao/blocos_resumo/materias_expediente.html index 046c15cee..4a8be7c55 100644 --- a/sapl/templates/sessao/blocos_resumo/materias_expediente.html +++ b/sapl/templates/sessao/blocos_resumo/materias_expediente.html @@ -34,6 +34,11 @@
Processo: {{ m.numero_processo }} {% endif %} + + {% if m.situacao %} +
+ Situação: {{ m.situacao }} + {% endif %} {{m.ementa|dont_break_out}}
diff --git a/sapl/templates/sessao/blocos_resumo/materias_ordem_dia.html b/sapl/templates/sessao/blocos_resumo/materias_ordem_dia.html index 886cbe5e2..8960982d0 100644 --- a/sapl/templates/sessao/blocos_resumo/materias_ordem_dia.html +++ b/sapl/templates/sessao/blocos_resumo/materias_ordem_dia.html @@ -35,6 +35,11 @@
Processo: {{ m.numero_processo }} {% endif %} + + {% if m.situacao %} +
+ Situação: {{ m.situacao }} + {% endif %} {{m.ementa|dont_break_out}}
{{m.observacao|dont_break_out}} {{m.resultado}}
{{m.resultado_observacao}}