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',
'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)

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

7
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']))

30
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('<table id="parlamentares_list">');
$.each(presentes_list, function (index, parlamentar) {
if (parlamentar.voto == 'Voto Informado'){
// Parlamentar já votou?
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" >' +
parlamentar.nome +
'</td> <td style="padding-right:20px; color:yellow">' +
parlamentar.partido + '</td> <td style="padding-right:20px; color:yellow">'
+ '</td></tr>')
+ '</td></tr>');
{% endif %}
}
} else{
$('#parlamentares_list').append('<tr> <td style="padding-right:20px">' +
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();

1
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

Loading…
Cancel
Save