diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 0d541ce52..272f6629a 100755 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -508,6 +508,10 @@ def is_empty(value): return True if not txt.strip() else False +# Tipo de Votação +LEITURA = 4 + + def get_sessao_plenaria(sessao, casa): inf_basicas_dic = { "num_sessao_plen": str(sessao.numero), @@ -626,18 +630,37 @@ def get_sessao_plenaria(sessao, casa): else: dic_expediente_materia["nom_autor"] = 'Desconhecido' - resultados = expediente_materia.registrovotacao_set.all() - if resultados: - for i in resultados: + retirada_pauta = expediente_materia.retiradapauta_set.first() + resultado_votacao = expediente_materia.registrovotacao_set.first() + resultado_leitura = expediente_materia.registroleitura_set.first() + + if retirada_pauta: + dic_expediente_materia.update({ + "nom_resultado": retirada_pauta.tipo_de_retirada.descricao, + "votacao_observacao": retirada_pauta.observacao + }) + elif expediente_materia.tipo_votacao != LEITURA: + if resultado_votacao: dic_expediente_materia.update({ - "nom_resultado": i.tipo_resultado_votacao.nome, - "votacao_observacao": i.observacao + "nom_resultado": resultado_votacao.tipo_resultado_votacao.nome, + "votacao_observacao": resultado_votacao.observacao + }) + else: + dic_expediente_materia.update({ + "nom_resultado": 'Matéria não votada', + "votacao_observacao": ' ' }) else: - dic_expediente_materia.update({ - "nom_resultado": 'Matéria não votada', - "votacao_observacao": ' ' - }) + if resultado_leitura: + dic_expediente_materia.update({ + "nom_resultado": "Matéria Lida", + "votacao_observacao": resultado_leitura.observacao + }) + else: + dic_expediente_materia.update({ + "nom_resultado": 'Matéria não lida', + "votacao_observacao": ' ' + }) lst_expediente_materia.append(dic_expediente_materia) # Lista dos votos nominais das matérias do Expediente @@ -657,7 +680,8 @@ def get_sessao_plenaria(sessao, casa): lst_expediente_materia_vot_nom.append({ "titulo": titulo_materia, - "votos": votos_materia + # votos = 0 representa matéria retirada da pauta + "votos": votos_materia if not mevn.retiradapauta_set.first() else 0 }) # Lista dos oradores do Expediente @@ -724,14 +748,26 @@ def get_sessao_plenaria(sessao, casa): dic_votacao["nom_autor"] = 'Desconhecido' dic_votacao["votacao_observacao"] = ' ' - resultados = votacao.registrovotacao_set.all() - if resultados: - for i in resultados: - dic_votacao["nom_resultado"] = i.tipo_resultado_votacao.nome - if i.observacao: - dic_votacao["votacao_observacao"] = i.observacao + + retirada_pauta = votacao.retiradapauta_set.first() + resultado_votacao = votacao.registrovotacao_set.first() + resultado_leitura = votacao.registroleitura_set.first() + + if retirada_pauta: + dic_votacao["nom_resultado"] = retirada_pauta.tipo_de_retirada.descricao + dic_votacao["votacao_observacao"] = retirada_pauta.observacao + elif votacao.tipo_votacao != LEITURA: + if resultado_votacao: + dic_votacao["nom_resultado"] = resultado_votacao.tipo_resultado_votacao.nome + dic_votacao["votacao_observacao"] = resultado_votacao.observacao + else: + dic_votacao["nom_resultado"] = "Matéria não votada" else: - dic_votacao["nom_resultado"] = "Matéria não votada" + if resultado_leitura: + dic_votacao["nom_resultado"] = "Matéria Lida" + dic_votacao["votacao_observacao"] = resultado_leitura.observacao + else: + dic_votacao["nom_resultado"] = "Matéria não lida" lst_votacao.append(dic_votacao) # Lista dos votos nominais das matérias da Ordem do Dia @@ -751,7 +787,8 @@ def get_sessao_plenaria(sessao, casa): lst_votacao_vot_nom.append({ "titulo": t_materia, - "votos": votos_materia_od + # votos = 0 representa matéria retirada da pauta + "votos": votos_materia_od if not modvn.retiradapauta_set.first() else 0 }) # Lista dos oradores da Ordem do Dia diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 7f67e82e8..2ba120fc5 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -200,6 +200,10 @@ def abrir_votacao(request, pk, spk): return HttpResponseRedirect(success_url) +# Tipo de Votação +LEITURA = 4 + + def customize_link_materia(context, pk, has_permission, is_expediente): for i, row in enumerate(context['rows']): materia = context['object_list'][i].materia @@ -243,8 +247,10 @@ def customize_link_materia(context, pk, has_permission, is_expediente): exist_retirada = obj.retiradapauta_set.filter(materia=obj.materia).exists() exist_leitura = obj.registroleitura_set.filter(materia=obj.materia).exists() - if (obj.tipo_votacao != 4 and not exist_resultado and not exist_retirada) or\ - (obj.tipo_votacao == 4 and not exist_leitura): + if ( + (obj.tipo_votacao != LEITURA and not exist_resultado and not exist_retirada) or + (obj.tipo_votacao == LEITURA and not exist_leitura and not exist_retirada) + ): if obj.votacao_aberta: url = '' if is_expediente: @@ -1928,17 +1934,27 @@ def get_materias_expediente(sessao_plenaria): tramitacao = aux_tramitacao break + rp = m.retiradapauta_set.first() rv = m.registrovotacao_set.first() - rp = m.retiradapauta_set.filter(materia=m.materia).first() - if rv: - resultado = rv.tipo_resultado_votacao.nome - resultado_observacao = rv.observacao - elif rp: + rl = m.registroleitura_set.first() + + if rp: resultado = rp.tipo_de_retirada.descricao resultado_observacao = rp.observacao + elif m.tipo_votacao != LEITURA: + if rv: + resultado = rv.tipo_resultado_votacao.nome + resultado_observacao = rv.observacao + else: + resultado = _('Matéria não votada') + resultado_observacao = _(' ') else: - resultado = _('Matéria lida') if m.tipo_votacao == 4 else _('Matéria não votada') - resultado_observacao = _(' ') + if rl: + resultado = _('Matéria Lida') + resultado_observacao = rl.observacao + else: + resultado = _('Matéria não lida') + resultado_observacao = _(' ') materia_em_tramitacao = m.materia.materiaemtramitacao_set.first() materias_expediente.append({ @@ -2033,17 +2049,27 @@ def get_materias_ordem_do_dia(sessao_plenaria): break # Verificar resultado - rv = o.registrovotacao_set.filter(materia=o.materia).first() - rp = o.retiradapauta_set.filter(materia=o.materia).first() - if rv: - resultado = rv.tipo_resultado_votacao.nome - resultado_observacao = rv.observacao - elif rp: + rp = o.retiradapauta_set.first() + rv = o.registrovotacao_set.first() + rl = o.registroleitura_set.first() + + if rp: resultado = rp.tipo_de_retirada.descricao resultado_observacao = rp.observacao + elif o.tipo_votacao != LEITURA: + if rv: + resultado = rv.tipo_resultado_votacao.nome + resultado_observacao = rv.observacao + else: + resultado = _('Matéria não votada') + resultado_observacao = _(' ') else: - resultado = _('Matéria lida') if o.tipo_votacao == 4 else _('Matéria não votada') - resultado_observacao = _(' ') + if rl: + resultado = _('Matéria Lida') + resultado_observacao = rl.observacao + else: + resultado = _('Matéria não lida') + resultado_observacao = _(' ') voto_nominal = [] if o.tipo_votacao == 2: @@ -2078,7 +2104,7 @@ def get_materias_ordem_do_dia(sessao_plenaria): 'voto_nao': voto_nao, 'voto_abstencoes': voto_abstencoes, 'voto_nominal': voto_nominal, - 'observacao': o.observacao + 'observacao': o.observacao }) return {'materias_ordem': materias_ordem} @@ -2161,7 +2187,8 @@ class ResumoView(DetailView): votacoes.append({ 'titulo': titulo_materia, - 'votos': votos_materia + # votos = 0 representa matéria retirada da pauta + 'votos': votos_materia if not mevn.retiradapauta_set.first() else 0 }) context.update({'votos_nominais_materia_expediente': votacoes}) @@ -2207,7 +2234,8 @@ class ResumoView(DetailView): votacoes_od.append({ 'titulo': t_materia, - 'votos': votos_materia_od + # votos = 0 representa matéria retirada da pauta + 'votos': votos_materia_od if not modvn.retiradapauta_set.first() else 0 }) 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 2cdfd9f3b..972cfaec6 100644 --- a/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html +++ b/sapl/templates/relatorios/blocos_sessao_plenaria/materias_expediente.html @@ -1,34 +1,31 @@ - {% load common_tags %} - -
| Matéria | +Ementa | +Resultado da Votação | +|||
|---|---|---|---|---|---|
| Matéria | -Ementa | -Resultado da Votação | +
+
|
+
+
+ {{ materia.txt_ementa }}
+ {% if materia.ordem_observacao %}
+ Obs.: {{ materia.ordem_observacao }} {% endif %} + |
+ {{ materia.nom_resultado }} |
-
|
-
-
- {{materia.txt_ementa}}
- {% if materia.ordem_observacao %}
- Obs.: {{materia.ordem_observacao}} {% endif %} - |
- {{materia.nom_resultado}} | -
| Matéria | -Votos | -|
|---|---|---|
| {{expediente_materia_vot_nom.titulo}} | +Matéria | +Votos | +
| {{ expediente_materia_vot_nom.titulo }} |
- {% if expediente_materia_vot_nom.votos %}
+ {% if expediente_materia_vot_nom.votos == 0 %}
+ Matéria retirada + {% elif expediente_materia_vot_nom.votos %}
|
| Matéria | -Votos | -|
|---|---|---|
| {{votacao_vot_nom.titulo}} | +Matéria | +Votos | +
| {{ votacao_vot_nom.titulo }} |
- {% if votacao_vot_nom.votos %}
+ {% if votacao_vot_nom.votos == 0 %}
+ Matéria retirada + {% elif votacao_vot_nom.votos %}
|
| Matéria | -Votos | -
|---|
| {{ m.titulo }} | - {% if m.votos %} -
- {% for v in m.votos %}
- |
- {% else %}
- Matéria não votada | - {% endif %} +Matéria | +Votos |
|---|