Browse Source

Finish Votação Nominal in Painel details and Fix bug in sessao/views

pull/202/head
Eduardo Calil 9 years ago
parent
commit
8dd1e72e95
  1. 25
      painel/views.py
  2. 76
      sessao/views.py
  3. 50
      templates/painel/index.html

25
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 +

76
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:

50
templates/painel/index.html

@ -100,28 +100,42 @@
presentes_ordem_dia = data["presentes_expediente"]
}
jQuery.each(presentes_ordem_dia, function(index, parlamentar) {
/* $('<li />', {text: parlamentar.nome + '/' + parlamentar.partido + ' ' + parlamentar.voto }).appendTo(presentes);*/
$('<li />', {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) {
$('<li />', {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) {
/* $('<li />', {text: parlamentar.nome + '/' + parlamentar.partido + ' ' + parlamentar.voto }).appendTo(presentes);*/
$('<li />', {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("<li>Sim: " + data["numero_votos_sim"] + "</li>")
votacao.append("<li>Não: " + data["numero_votos_nao"] + "</li>")
votacao.append("<li>Abstenções: " + data["numero_abstencoes"] + "</li>")
votacao.append("<li>Presentes: " + num_presentes_ordem_dia + "</li>")
votacao.append("<li>Total votos: " + data["total_votos"] + "</li>")
votacao.children().remove()
votacao.append("<li>Sim: " + data["numero_votos_sim"] + "</li>")
votacao.append("<li>Não: " + data["numero_votos_nao"] + "</li>")
votacao.append("<li>Abstenções: " + data["numero_abstencoes"] + "</li>")
votacao.append("<li>Presentes: " + num_presentes_ordem_dia + "</li>")
votacao.append("<li>Total votos: " + data["total_votos"] + "</li>")
var discurso_current = data["cronometro_discurso"];
if (discurso_current != discurso_previous) {

Loading…
Cancel
Save