Browse Source

Fix #2052 - Cria opção de mostrar os votos no painel durante votacao (#2882)

pull/2883/head
Cesar Augusto de Carvalho 6 years ago
committed by Edward
parent
commit
436e72be98
  1. 3
      sapl/painel/forms.py
  2. 20
      sapl/painel/migrations/0009_painelconfig_mostrar_votos_antecedencia.py
  3. 5
      sapl/painel/models.py
  4. 7
      sapl/painel/views.py
  5. 30
      sapl/templates/painel/index.html
  6. 1
      sapl/templates/painel/layouts.yaml

3
sapl/painel/forms.py

@ -22,7 +22,8 @@ class ConfiguracoesPainelForm(forms.ModelForm):
'disparo_cronometro', 'disparo_cronometro',
'tempo_disparo_antecedencia', 'tempo_disparo_antecedencia',
'tempo_disparo_termino', 'tempo_disparo_termino',
'exibir_nome_casa'] 'exibir_nome_casa',
'mostrar_votos_antecedencia']
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(ConfiguracoesPainelForm, self).__init__(*args, **kwargs) super(ConfiguracoesPainelForm, self).__init__(*args, **kwargs)

20
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?'),
),
]

5
sapl/painel/models.py

@ -94,6 +94,11 @@ class PainelConfig(models.Model):
verbose_name=_('Exibir nome da Casa Legislativa no painel?'), verbose_name=_('Exibir nome da Casa Legislativa no painel?'),
choices=YES_NO_CHOICES, default=True) 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: class Meta:
verbose_name = _('Configurações do Painel') verbose_name = _('Configurações do Painel')
verbose_name_plural = _('Configurações do Painel') verbose_name_plural = _('Configurações do Painel')

7
sapl/painel/views.py

@ -535,8 +535,11 @@ def get_votos(response, materia):
for i, p in enumerate(response['presentes']): for i, p in enumerate(response['presentes']):
try: try:
logger.info("Tentando obter votos do parlamentar (id={}).".format(p['parlamentar_id'])) logger.info("Tentando obter votos do parlamentar (id={}).".format(p['parlamentar_id']))
if votos_parlamentares.get(parlamentar_id=p['parlamentar_id']).voto: vot_parl = votos_parlamentares.get(parlamentar_id=p['parlamentar_id']).voto
response['presentes'][i]['voto'] = 'Voto Informado' if vot_parl:
response['presentes'][i]['voto'] = vot_parl
else:
response['presentes'][i]['voto'] = ''
except ObjectDoesNotExist: except ObjectDoesNotExist:
logger.error("Votos do parlamentar (id={}) não encontrados. Retornado vazio." logger.error("Votos do parlamentar (id={}) não encontrados. Retornado vazio."
.format(p['parlamentar_id'])) .format(p['parlamentar_id']))

30
sapl/templates/painel/index.html

@ -245,16 +245,36 @@
var oradores_list = data["oradores"]; var oradores_list = data["oradores"];
var presentes_list = data["presentes"]; var presentes_list = data["presentes"];
if (data["status_painel"] == true) { // Se painel está aberto
if (data["status_painel"]) {
presentes.append('<table id="parlamentares_list">'); presentes.append('<table id="parlamentares_list">');
$.each(presentes_list, function (index, parlamentar) { $.each(presentes_list, function (index, parlamentar) {
// Parlamentar já votou?
if (parlamentar.voto == 'Voto Informado'){ if (parlamentar.voto){
// Se a votação já foi finalizada, mostra todos os votos
if (data['tipo_resultado']){
$('#parlamentares_list').append('<tr><td style="padding-right:20px; color:white" >' +
parlamentar.nome +
'</td> <td style="padding-right:20px; color:white">' +
parlamentar.partido + '</td> <td style="padding-right:20px; color:white">'
+ show_voto(parlamentar.voto) + '</td></tr>');
}
// Senão verifica a configuração desejada
else{
{% if painel_config.mostrar_votos_antecedencia %}
$('#parlamentares_list').append('<tr><td style="padding-right:20px; color:yellow" >' +
parlamentar.nome +
'</td> <td style="padding-right:20px; color:yellow">' +
parlamentar.partido + '</td> <td style="padding-right:20px; color:yellow">'
+ show_voto(parlamentar.voto) + '</td></tr>');
{% else %}
$('#parlamentares_list').append('<tr><td style="padding-right:20px; color:yellow" >' + $('#parlamentares_list').append('<tr><td style="padding-right:20px; color:yellow" >' +
parlamentar.nome + parlamentar.nome +
'</td> <td style="padding-right:20px; color:yellow">' + '</td> <td style="padding-right:20px; color:yellow">' +
parlamentar.partido + '</td> <td style="padding-right:20px; color:yellow">' parlamentar.partido + '</td> <td style="padding-right:20px; color:yellow">'
+ '</td></tr>') + '</td></tr>');
{% endif %}
}
} else{ } else{
$('#parlamentares_list').append('<tr> <td style="padding-right:20px">' + $('#parlamentares_list').append('<tr> <td style="padding-right:20px">' +
parlamentar.nome + parlamentar.nome +
@ -358,7 +378,7 @@
$("#observacao_materia").text(''); $("#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").text(data["tipo_resultado"]);
$("#resultado_votacao").css("color", "#45919D"); $("#resultado_votacao").css("color", "#45919D");
var resultado_votacao_upper = $("#resultado_votacao").text().toUpperCase(); var resultado_votacao_upper = $("#resultado_votacao").text().toUpperCase();

1
sapl/templates/painel/layouts.yaml

@ -8,3 +8,4 @@ PainelConfig:
- cronometro_ordem - cronometro_ordem
- disparo_cronometro:6 tempo_disparo_antecedencia:6 - disparo_cronometro:6 tempo_disparo_antecedencia:6
- tempo_disparo_termino:6 exibir_nome_casa:6 - tempo_disparo_termino:6 exibir_nome_casa:6
- mostrar_votos_antecedencia

Loading…
Cancel
Save