From 1b390ae397dd1680d3a3408668f73a97bbf96fb1 Mon Sep 17 00:00:00 2001 From: Cesar Carvalho Date: Fri, 5 Jul 2019 09:29:12 -0300 Subject: [PATCH] =?UTF-8?q?Fix=20#2052=20-=20Cria=20op=C3=A7=C3=A3o=20de?= =?UTF-8?q?=20mostrar=20os=20votos=20no=20painel=20durante=20votacao?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/painel/forms.py | 3 +- ...painelconfig_mostrar_votos_antecedencia.py | 20 ++++++++++ sapl/painel/models.py | 5 +++ sapl/painel/views.py | 7 +++- sapl/templates/painel/index.html | 38 ++++++++++++++----- sapl/templates/painel/layouts.yaml | 1 + 6 files changed, 62 insertions(+), 12 deletions(-) create mode 100644 sapl/painel/migrations/0009_painelconfig_mostrar_votos_antecedencia.py diff --git a/sapl/painel/forms.py b/sapl/painel/forms.py index 008243ee1..0845dfd5d 100644 --- a/sapl/painel/forms.py +++ b/sapl/painel/forms.py @@ -22,7 +22,8 @@ class ConfiguracoesPainelForm(forms.ModelForm): 'disparo_cronometro', 'tempo_disparo_antecedencia', 'tempo_disparo_termino', - 'exibir_nome_casa'] + 'exibir_nome_casa', + 'mostrar_votos_antecedencia'] def __init__(self, *args, **kwargs): super(ConfiguracoesPainelForm, self).__init__(*args, **kwargs) diff --git a/sapl/painel/migrations/0009_painelconfig_mostrar_votos_antecedencia.py b/sapl/painel/migrations/0009_painelconfig_mostrar_votos_antecedencia.py new file mode 100644 index 000000000..420ef2cd1 --- /dev/null +++ b/sapl/painel/migrations/0009_painelconfig_mostrar_votos_antecedencia.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.20 on 2019-07-08 16:27 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('painel', '0008_painelconfig_exibir_nome_casa'), + ] + + operations = [ + migrations.AddField( + model_name='painelconfig', + name='mostrar_votos_antecedencia', + field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Mostrar votos informados antes do fim da votação?'), + ), + ] diff --git a/sapl/painel/models.py b/sapl/painel/models.py index d3420e284..12d5e2d0b 100644 --- a/sapl/painel/models.py +++ b/sapl/painel/models.py @@ -94,6 +94,11 @@ class PainelConfig(models.Model): verbose_name=_('Exibir nome da Casa Legislativa no painel?'), choices=YES_NO_CHOICES, default=True) + mostrar_votos_antecedencia = models.BooleanField( + default=False, + choices=YES_NO_CHOICES, + verbose_name=_('Mostrar votos informados antes do fim da votação?')) + class Meta: verbose_name = _('Configurações do Painel') verbose_name_plural = _('Configurações do Painel') diff --git a/sapl/painel/views.py b/sapl/painel/views.py index b42bcfc78..e253d270f 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -535,8 +535,11 @@ def get_votos(response, materia): for i, p in enumerate(response['presentes']): try: logger.info("Tentando obter votos do parlamentar (id={}).".format(p['parlamentar_id'])) - if votos_parlamentares.get(parlamentar_id=p['parlamentar_id']).voto: - response['presentes'][i]['voto'] = 'Voto Informado' + vot_parl = votos_parlamentares.get(parlamentar_id=p['parlamentar_id']).voto + if vot_parl: + response['presentes'][i]['voto'] = vot_parl + else: + response['presentes'][i]['voto'] = '' except ObjectDoesNotExist: logger.error("Votos do parlamentar (id={}) não encontrados. Retornado vazio." .format(p['parlamentar_id'])) diff --git a/sapl/templates/painel/index.html b/sapl/templates/painel/index.html index 4e146ba0a..0587042d5 100644 --- a/sapl/templates/painel/index.html +++ b/sapl/templates/painel/index.html @@ -245,16 +245,36 @@ var oradores_list = data["oradores"]; var presentes_list = data["presentes"]; - if (data["status_painel"] == true) { + // Se painel está aberto + if (data["status_painel"]) { presentes.append(''); $.each(presentes_list, function (index, parlamentar) { - - if (parlamentar.voto == 'Voto Informado'){ - $('#parlamentares_list').append('') + // Parlamentar já votou? + if (parlamentar.voto){ + // Se a votação já foi finalizada, mostra todos os votos + if (data['tipo_resultado']){ + $('#parlamentares_list').append(''); + } + // Senão verifica a configuração desejada + else{ + {% if painel_config.mostrar_votos_antecedencia %} + $('#parlamentares_list').append(''); + {% else %} + $('#parlamentares_list').append(''); + {% endif %} + } } else{ $('#parlamentares_list').append('
' + - parlamentar.nome + - ' ' + - parlamentar.partido + ' ' - + '
' + + parlamentar.nome + + ' ' + + parlamentar.partido + ' ' + + show_voto(parlamentar.voto) + '
' + + parlamentar.nome + + ' ' + + parlamentar.partido + ' ' + + show_voto(parlamentar.voto) + '
' + + parlamentar.nome + + ' ' + + parlamentar.partido + ' ' + + '
' + parlamentar.nome + @@ -358,7 +378,7 @@ $("#observacao_materia").text(''); } - if (data['tipo_resultado'] && data['status_painel'] == true){ + if (data['tipo_resultado'] && data['status_painel']){ $("#resultado_votacao").text(data["tipo_resultado"]); $("#resultado_votacao").css("color", "#45919D"); var resultado_votacao_upper = $("#resultado_votacao").text().toUpperCase(); diff --git a/sapl/templates/painel/layouts.yaml b/sapl/templates/painel/layouts.yaml index 1cf29ee0d..50b1f42de 100644 --- a/sapl/templates/painel/layouts.yaml +++ b/sapl/templates/painel/layouts.yaml @@ -8,3 +8,4 @@ PainelConfig: - cronometro_ordem - disparo_cronometro:6 tempo_disparo_antecedencia:6 - tempo_disparo_termino:6 exibir_nome_casa:6 + - mostrar_votos_antecedencia