diff --git a/painel/views.py b/painel/views.py index b9652f0a1..f107191d2 100644 --- a/painel/views.py +++ b/painel/views.py @@ -283,11 +283,28 @@ def get_votos_nominal(response, materia): votos_parlamentares = VotoParlamentar.objects.filter( votacao_id=registro.id) + filiacao = Filiacao.objects.filter( + data_desfiliacao__isnull=True, parlamentar__ativo=True) + parlamentar_partido = {} + for f in filiacao: + parlamentar_partido[ + f.parlamentar.nome_parlamentar] = f.partido.sigla + for v in votos_parlamentares: - votos.update({v.parlamentar.id: { - 'parlamentar': v.parlamentar.nome_parlamentar, - 'voto': str(v.voto) - }}) + try: + parlamentar_partido[v.parlamentar.nome_parlamentar] + except KeyError: + votos.update({v.parlamentar.id: { + 'parlamentar': v.parlamentar.nome_parlamentar, + 'voto': str(v.voto), + 'partido': 'Sem Registro' + }}) + else: + votos.update({v.parlamentar.id: { + 'parlamentar': v.parlamentar.nome_parlamentar, + 'voto': str(v.voto), + 'partido': parlamentar_partido[v.parlamentar.nome_parlamentar] + }}) total = (registro.numero_votos_sim + registro.numero_votos_nao + diff --git a/sessao/views.py b/sessao/views.py index e1717f876..fb9784459 100644 --- a/sessao/views.py +++ b/sessao/views.py @@ -1679,49 +1679,51 @@ class VotacaoNominalView(FormMixin, sessao_crud.CrudDetailView): nao_votou += 1 try: - votacao = RegistroVotacao() - votacao.numero_votos_sim = votos_sim - votacao.numero_votos_nao = votos_nao - votacao.numero_abstencoes = abstencoes - votacao.observacao = request.POST['observacao'] - votacao.materia_id = materia_id - votacao.ordem_id = ordem_id - votacao.tipo_resultado_votacao_id = int( - request.POST['resultado_votacao']) - votacao.save() - except: - return self.form_invalid(form) - else: votacao = RegistroVotacao.objects.get( materia_id=materia_id, ordem_id=ordem_id) + except ObjectDoesNotExist: + pass + else: + votacao.delete() + + votacao = RegistroVotacao() + votacao.numero_votos_sim = votos_sim + votacao.numero_votos_nao = votos_nao + votacao.numero_abstencoes = abstencoes + votacao.observacao = request.POST['observacao'] + votacao.materia_id = materia_id + votacao.ordem_id = ordem_id + votacao.tipo_resultado_votacao_id = int( + request.POST['resultado_votacao']) + votacao.save() - for votos in request.POST.getlist('voto_parlamentar'): - v = votos.split(':') - voto = v[0] - parlamentar_id = v[1] + for votos in request.POST.getlist('voto_parlamentar'): + v = votos.split(':') + voto = v[0] + parlamentar_id = v[1] - voto_parlamentar = VotoParlamentar() - if(voto == 'sim'): - voto_parlamentar.voto = 'Sim' - elif(voto == 'nao'): - voto_parlamentar.voto = 'Não' - elif(voto == 'abstencao'): - voto_parlamentar.voto = 'Abstenção' - elif(voto == 'nao_votou'): - voto_parlamentar.voto = 'Não Votou' - voto_parlamentar.parlamentar_id = parlamentar_id - voto_parlamentar.votacao_id = votacao.id - voto_parlamentar.save() + voto_parlamentar = VotoParlamentar() + if(voto == 'sim'): + voto_parlamentar.voto = 'Sim' + elif(voto == 'nao'): + voto_parlamentar.voto = 'Não' + elif(voto == 'abstencao'): + voto_parlamentar.voto = 'Abstenção' + elif(voto == 'nao_votou'): + voto_parlamentar.voto = 'Não Votou' + voto_parlamentar.parlamentar_id = parlamentar_id + voto_parlamentar.votacao_id = votacao.id + voto_parlamentar.save() - ordem = OrdemDia.objects.get( - sessao_plenaria_id=self.object.id, - materia_id=materia_id) - resultado = TipoResultadoVotacao.objects.get( - id=request.POST['resultado_votacao']) - ordem.resultado = resultado.nome - ordem.votacao_aberta = False - ordem.save() + ordem = OrdemDia.objects.get( + sessao_plenaria_id=self.object.id, + materia_id=materia_id) + resultado = TipoResultadoVotacao.objects.get( + id=request.POST['resultado_votacao']) + ordem.resultado = resultado.nome + ordem.votacao_aberta = False + ordem.save() return self.form_valid(form) else: diff --git a/templates/painel/index.html b/templates/painel/index.html index aba9fd8c4..399cea22f 100644 --- a/templates/painel/index.html +++ b/templates/painel/index.html @@ -100,28 +100,42 @@ presentes_ordem_dia = data["presentes_expediente"] } - jQuery.each(presentes_ordem_dia, function(index, parlamentar) { -/* $('
  • ', {text: parlamentar.nome + '/' + parlamentar.partido + ' ' + parlamentar.voto }).appendTo(presentes);*/ - $('
  • ', {text: parlamentar.nome + '/' + parlamentar.partido}).appendTo(presentes); - }); - //console.debug(presentes_ordem_dia) + /*Esse IF faz mostrar o voto de cada parlamentar na votação Nominal*/ + if( (data["tipo_resultado"]=="Aprovado por unanimidade") || (data["tipo_resultado"]=="Aprovado por maioria") || (data["tipo_resultado"]=="Rejeitado")){ + if(data["tipo_votacao"]=="Nominal") { + jQuery.each(data["votos"], function(index, parlamentar) { + $('
  • ', {text: parlamentar.parlamentar + ' / ' + parlamentar.partido + '/ Voto: ' + parlamentar.voto}).appendTo(presentes); + }); + } + } - var votacao = $("#votacao") - if (data["num_presentes_ordem_dia"] != null) { - num_presentes_ordem_dia = data["num_presentes_ordem_dia"]; - } - else if (data["num_presentes_expediente"] != null){ - num_presentes_ordem_dia = data["num_presentes_expediente"] - } + else{ + jQuery.each(presentes_ordem_dia, function(index, parlamentar) { + /* $('
  • ', {text: parlamentar.nome + '/' + parlamentar.partido + ' ' + parlamentar.voto }).appendTo(presentes);*/ + $('
  • ', {text: parlamentar.nome + '/' + parlamentar.partido}).appendTo(presentes); + }); + } + + //console.debug(presentes_ordem_dia) + + var votacao = $("#votacao") + + if (data["num_presentes_ordem_dia"] != null) { + num_presentes_ordem_dia = data["num_presentes_ordem_dia"]; + } + else if (data["num_presentes_expediente"] != null){ + num_presentes_ordem_dia = data["num_presentes_expediente"] + } - votacao.children().remove() - votacao.append("
  • Sim: " + data["numero_votos_sim"] + "
  • ") - votacao.append("
  • Não: " + data["numero_votos_nao"] + "
  • ") - votacao.append("
  • Abstenções: " + data["numero_abstencoes"] + "
  • ") - votacao.append("
  • Presentes: " + num_presentes_ordem_dia + "
  • ") - votacao.append("
  • Total votos: " + data["total_votos"] + "
  • ") + votacao.children().remove() + votacao.append("
  • Sim: " + data["numero_votos_sim"] + "
  • ") + votacao.append("
  • Não: " + data["numero_votos_nao"] + "
  • ") + votacao.append("
  • Abstenções: " + data["numero_abstencoes"] + "
  • ") + votacao.append("
  • Presentes: " + num_presentes_ordem_dia + "
  • ") + votacao.append("
  • Total votos: " + data["total_votos"] + "
  • ") + var discurso_current = data["cronometro_discurso"]; if (discurso_current != discurso_previous) {