Browse Source

Adiciona status da tramitação das matérias na sessão plenária e seus relatórios (#3214)

pull/3367/head
Vinícius Cantuária 5 years ago
committed by João Rodrigues
parent
commit
3487a58a31
  1. 4
      sapl/relatorios/views.py
  2. 91
      sapl/sessao/views.py
  3. 3
      sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html
  4. 3
      sapl/templates/relatorios/blocos_sessao_plenaria/materias_ordemdia.html
  5. 3
      sapl/templates/sessao/blocos_ata/materias_expediente.html
  6. 3
      sapl/templates/sessao/blocos_ata/materias_ordem_dia.html
  7. 5
      sapl/templates/sessao/blocos_resumo/materias_expediente.html
  8. 5
      sapl/templates/sessao/blocos_resumo/materias_ordem_dia.html

4
sapl/relatorios/views.py

@ -601,6 +601,7 @@ def get_sessao_plenaria(sessao, casa):
str(materia.ano)), str(materia.ano)),
"des_numeracao": ' ', "des_numeracao": ' ',
"des_turno": get_turno(materia)[0], "des_turno": get_turno(materia)[0],
"situacao": materia.materiaemtramitacao_set.first().tramitacao.status,
"txt_ementa": str(materia.ementa), "txt_ementa": str(materia.ementa),
"materia_observacao": materia.observacao, "materia_observacao": materia.observacao,
"ordem_observacao": expediente_materia.observacao, "ordem_observacao": expediente_materia.observacao,
@ -705,7 +706,8 @@ def get_sessao_plenaria(sessao, casa):
"txt_ementa": html.unescape(materia.ementa), "txt_ementa": html.unescape(materia.ementa),
"materia_observacao": materia.observacao, "materia_observacao": materia.observacao,
"ordem_observacao": html.unescape(votacao.observacao), "ordem_observacao": html.unescape(votacao.observacao),
"nom_autor": '' "nom_autor": '',
"situacao": materia.materiaemtramitacao_set.first().tramitacao.status
}) })
autoria = materia.autoria_set.all() autoria = materia.autoria_set.all()

91
sapl/sessao/views.py

@ -239,19 +239,23 @@ def customize_link_materia(context, pk, has_permission, is_expediente):
turno = ' ' turno = ' '
if tramitacao and tramitacao.tipo_turno: if tramitacao and tramitacao.tipo_turno:
turno = tramitacao.tipo_turno.nome turno = tramitacao.tipo_turno.nome
situacao = MateriaEmTramitacao.objects.select_related("materia", "tramitacao")\
.filter(materia=materia).first().tramitacao.status
title_materia = """<a id=id%s href=%s>%s</a> </br> title_materia = """<a id=id%s href=%s>%s</a> </br>
<b>Processo:</b> %s </br> <b>Processo:</b> %s </br>
<b>Autor:</b> %s </br> <b>Autor:</b> %s </br>
<b>Protocolo:</b> %s </br> <b>Protocolo:</b> %s </br>
<b>Turno:</b> %s </br> <b>Turno:</b> %s </br>
<b>Situação:</b> %s </br>
""" % (obj.materia.id, """ % (obj.materia.id,
url_materia, url_materia,
row[1][0], row[1][0],
numeracao if numeracao else '', numeracao if numeracao else '',
autor if autor else '', autor if autor else '',
num_protocolo if num_protocolo else '', num_protocolo if num_protocolo else '',
turno) turno,
situacao if situacao else '')
# Na linha abaixo, o segundo argumento é None para não colocar # Na linha abaixo, o segundo argumento é None para não colocar
# url em toda a string de title_materia # url em toda a string de title_materia
@ -1703,21 +1707,11 @@ def get_expedientes(sessao_plenaria):
def get_materias_expediente(sessao_plenaria): def get_materias_expediente(sessao_plenaria):
materias = ExpedienteMateria.objects.filter(
sessao_plenaria_id=sessao_plenaria.id)
materias_expediente = [] materias_expediente = []
for m in materias: for m in ExpedienteMateria.objects.select_related("materia").filter(sessao_plenaria_id=sessao_plenaria.id):
ementa = m.materia.ementa
titulo = m.materia
numero = m.numero_ordem
tramitacao = '' tramitacao = ''
tramitacoes = Tramitacao.objects.filter( for aux_tramitacao in Tramitacao.objects.filter(materia=m.materia).order_by('-pk'):
materia=m.materia).order_by('-pk') if aux_tramitacao.turno:
for aux_tramitacao in tramitacoes:
if aux_tramitacao.tipo_turno:
tramitacao = aux_tramitacao tramitacao = aux_tramitacao
break break
@ -1734,10 +1728,7 @@ def get_materias_expediente(sessao_plenaria):
resultado = rp.tipo_de_retirada.descricao resultado = rp.tipo_de_retirada.descricao
resultado_observacao = rp.observacao resultado_observacao = rp.observacao
else: else:
if m.tipo_votacao == 4: resultado = _('Matéria lida') if m.tipo_votacao == 4 else _('Matéria não votada')
resultado = _('Matéria lida')
else:
resultado = _('Matéria não votada')
resultado_observacao = _(' ') resultado_observacao = _(' ')
materias_expediente.append({ materias_expediente.append({
@ -1755,8 +1746,7 @@ def get_materias_expediente(sessao_plenaria):
'observacao': m.observacao 'observacao': m.observacao
}) })
context = {'materia_expediente': materias_expediente} return {'materia_expediente': materias_expediente}
return context
def get_oradores_expediente(sessao_plenaria): def get_oradores_expediente(sessao_plenaria):
@ -1824,19 +1814,11 @@ def get_assinaturas(sessao_plenaria):
def get_materias_ordem_do_dia(sessao_plenaria): def get_materias_ordem_do_dia(sessao_plenaria):
ordem = OrdemDia.objects.filter(sessao_plenaria_id=sessao_plenaria.id)
materias_ordem = [] materias_ordem = []
for o in ordem: for o in OrdemDia.objects.filter(sessao_plenaria_id=sessao_plenaria.id):
ementa = o.materia.ementa
ementa_observacao = o.observacao
titulo = o.materia
numero = o.numero_ordem
tramitacao = '' tramitacao = ''
tramitacoes = Tramitacao.objects.filter( for aux_tramitacao in Tramitacao.objects.filter(materia=o.materia).order_by('-pk'):
materia=o.materia).order_by('-pk') if aux_tramitacao.turno:
for aux_tramitacao in tramitacoes:
if aux_tramitacao.tipo_turno:
tramitacao = aux_tramitacao tramitacao = aux_tramitacao
break break
@ -1854,28 +1836,20 @@ def get_materias_ordem_do_dia(sessao_plenaria):
resultado = rp.tipo_de_retirada.descricao resultado = rp.tipo_de_retirada.descricao
resultado_observacao = rp.observacao resultado_observacao = rp.observacao
else: else:
if o.tipo_votacao == 4: resultado = _('Matéria lida') if o.tipo_votacao == 4 else _('Matéria não votada')
resultado = _('Matéria lida')
else:
resultado = _('Matéria não votada')
resultado_observacao = _(' ') resultado_observacao = _(' ')
voto_sim = ""
voto_nao = ""
voto_abstencoes = ""
voto_nominal = [] voto_nominal = []
if o.tipo_votacao == 2: if o.tipo_votacao == 2:
votos = VotoParlamentar.objects.filter(ordem=o.id) for voto in VotoParlamentar.objects.filter(ordem=o.id):
for voto in votos: voto_nominal.append((voto.parlamentar.nome_completo, voto.voto))
aux_voto = (voto.parlamentar.nome_completo, voto.voto)
voto_nominal.append(aux_voto)
try:
voto = RegistroVotacao.objects.filter(ordem=o.id).last() voto = RegistroVotacao.objects.filter(ordem=o.id).last()
if voto:
voto_sim = voto.numero_votos_sim voto_sim = voto.numero_votos_sim
voto_nao = voto.numero_votos_nao voto_nao = voto.numero_votos_nao
voto_abstencoes = voto.numero_abstencoes voto_abstencoes = voto.numero_abstencoes
except AttributeError: else:
voto_sim = " Não Informado" voto_sim = " Não Informado"
voto_nao = " Não Informado" voto_nao = " Não Informado"
voto_abstencoes = " Não Informado" voto_abstencoes = " Não Informado"
@ -1900,8 +1874,7 @@ def get_materias_ordem_do_dia(sessao_plenaria):
'observacao': o.observacao 'observacao': o.observacao
}) })
context = {'materias_ordem': materias_ordem} return {'materias_ordem': materias_ordem}
return context
def get_oradores_ordemdia(sessao_plenaria): def get_oradores_ordemdia(sessao_plenaria):
@ -1969,13 +1942,9 @@ class ResumoView(DetailView):
context = self.get_context_data(object=self.object) context = self.get_context_data(object=self.object)
# Votos de Votação Nominal de Matérias Expediente # 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 = [] 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 = [] votos_materia = []
titulo_materia = mevn.materia titulo_materia = mevn.materia
registro = RegistroVotacao.objects.filter(expediente=mevn) registro = RegistroVotacao.objects.filter(expediente=mevn)
@ -1983,11 +1952,10 @@ class ResumoView(DetailView):
for vp in VotoParlamentar.objects.filter(votacao=registro).order_by('parlamentar'): for vp in VotoParlamentar.objects.filter(votacao=registro).order_by('parlamentar'):
votos_materia.append(vp) votos_materia.append(vp)
dados_votacao = { votacoes.append({
'titulo': titulo_materia, 'titulo': titulo_materia,
'votos': votos_materia 'votos': votos_materia
} })
votacoes.append(dados_votacao)
context.update({'votos_nominais_materia_expediente': votacoes}) context.update({'votos_nominais_materia_expediente': votacoes})
@ -2021,12 +1989,8 @@ class ResumoView(DetailView):
# ===================================================================== # =====================================================================
# Matérias Ordem do Dia # Matérias Ordem do Dia
# Votos de Votação Nominal de 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 = [] 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 = [] votos_materia_od = []
t_materia = modvn.materia t_materia = modvn.materia
registro_od = RegistroVotacao.objects.filter(ordem=modvn) 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'): for vp_od in VotoParlamentar.objects.filter(votacao=registro_od).order_by('parlamentar'):
votos_materia_od.append(vp_od) votos_materia_od.append(vp_od)
dados_votacao_od = { votacoes_od.append({
'titulo': t_materia, 'titulo': t_materia,
'votos': votos_materia_od 'votos': votos_materia_od
} })
votacoes_od.append(dados_votacao_od)
context.update({'votos_nominais_materia_ordem_dia': votacoes_od}) context.update({'votos_nominais_materia_ordem_dia': votacoes_od})

3
sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html

@ -18,6 +18,9 @@
<dt><b>{{materia.num_ordem}} -</b> {{materia.id_materia}}</dt> <dt><b>{{materia.num_ordem}} -</b> {{materia.id_materia}}</dt>
<dt style="text-align: left;"><b>Turno:</b> {{materia.des_turno}}</dt> <dt style="text-align: left;"><b>Turno:</b> {{materia.des_turno}}</dt>
<dt style="text-align: left;"><b>{{materia.num_autores}}: </b>{{materia.nom_autor}}</dt> <dt style="text-align: left;"><b>{{materia.num_autores}}: </b>{{materia.nom_autor}}</dt>
{% if materia.situacao %}
<dt style="text-align: left;"><b>Situação: </b>{{materia.situacao}}</dt>
{% endif %}
</dl> </dl>
</td> </td>
<td style="width:60%"><div style="margin:10px">{{materia.txt_ementa}}<br>{{materia.ordem_observacao}}</div></td> <td style="width:60%"><div style="margin:10px">{{materia.txt_ementa}}<br>{{materia.ordem_observacao}}</div></td>

3
sapl/templates/relatorios/blocos_sessao_plenaria/materias_ordemdia.html

@ -16,6 +16,9 @@
<dt><b>{{materia.num_ordem}} -</b> {{materia.id_materia}}</dt> <dt><b>{{materia.num_ordem}} -</b> {{materia.id_materia}}</dt>
<dt style="text-align: left;"><b>Turno:</b> {{materia.des_turno}}</dt> <dt style="text-align: left;"><b>Turno:</b> {{materia.des_turno}}</dt>
<dt style="text-align: left;"><b>{{materia.num_autores}}: </b>{{materia.nom_autor}}</dt> <dt style="text-align: left;"><b>{{materia.num_autores}}: </b>{{materia.nom_autor}}</dt>
{% if materia.situacao %}
<dt style="text-align: left;"><b>Situação: </b>{{materia.situacao}}</dt>
{% endif %}
</dl> </dl>
</td> </td>
<td style="width:60%">{{materia.txt_ementa}} <br>{{materia.ordem_observacao}}</td> <td style="width:60%">{{materia.txt_ementa}} <br>{{materia.ordem_observacao}}</td>

3
sapl/templates/sessao/blocos_ata/materias_expediente.html

@ -15,6 +15,9 @@
{% if m.turno %} {% if m.turno %}
Turno: {{m.turno}}, Turno: {{m.turno}},
{% endif %} {% endif %}
{% if m.situacao %}
Situação: {{m.situacao}},
{% endif %}
{% if m.tipo_votacao %} {% if m.tipo_votacao %}
Tipo: {{m.tipo_votacao}}, Tipo: {{m.tipo_votacao}},
Sim: {{ m.voto_sim }}, Sim: {{ m.voto_sim }},

3
sapl/templates/sessao/blocos_ata/materias_ordem_dia.html

@ -15,6 +15,9 @@
{% if m.turno %} {% if m.turno %}
Turno: {{m.turno}}, Turno: {{m.turno}},
{% endif %} {% endif %}
{% if m.situacao %}
Situação: {{m.situacao}},
{% endif %}
{% if m.tipo_votacao %} {% if m.tipo_votacao %}
Tipo: {{m.tipo_votacao}}, Tipo: {{m.tipo_votacao}},
Sim: {{ m.voto_sim }}, Sim: {{ m.voto_sim }},

5
sapl/templates/sessao/blocos_resumo/materias_expediente.html

@ -34,6 +34,11 @@
<br /> <br />
<b>Processo:</b> {{ m.numero_processo }} <b>Processo:</b> {{ m.numero_processo }}
{% endif %} {% endif %}
{% if m.situacao %}
<br />
<b>Situação:</b> {{ m.situacao }}
{% endif %}
</td> </td>
<td> <td>
{{m.ementa|dont_break_out}}<br/> {{m.ementa|dont_break_out}}<br/>

5
sapl/templates/sessao/blocos_resumo/materias_ordem_dia.html

@ -35,6 +35,11 @@
<br /> <br />
<b>Processo:</b> {{ m.numero_processo }} <b>Processo:</b> {{ m.numero_processo }}
{% endif %} {% endif %}
{% if m.situacao %}
<br />
<b>Situação:</b> {{ m.situacao }}
{% endif %}
</td> </td>
<td>{{m.ementa|dont_break_out}}</b><br/>{{m.observacao|dont_break_out}}</td> <td>{{m.ementa|dont_break_out}}</b><br/>{{m.observacao|dont_break_out}}</td>
<td><b>{{m.resultado}}</b><br/>{{m.resultado_observacao}}</td> <td><b>{{m.resultado}}</b><br/>{{m.resultado_observacao}}</td>

Loading…
Cancel
Save