|
@ -1,4 +1,3 @@ |
|
|
import json |
|
|
|
|
|
|
|
|
|
|
|
from django.core import serializers |
|
|
from django.core import serializers |
|
|
from django.http import HttpResponse, JsonResponse |
|
|
from django.http import HttpResponse, JsonResponse |
|
@ -17,22 +16,25 @@ def json_presenca(request): |
|
|
parlamentares = [] |
|
|
parlamentares = [] |
|
|
for p in presencas: |
|
|
for p in presencas: |
|
|
parlamentares.append(p.parlamentar) |
|
|
parlamentares.append(p.parlamentar) |
|
|
#parlamentares = serializers.serialize('json', Parlamentar.objects.all()) |
|
|
# parlamentares = serializers.serialize('json', Parlamentar.objects.all()) |
|
|
parlamentares = serializers.serialize('json', parlamentares) |
|
|
parlamentares = serializers.serialize('json', parlamentares) |
|
|
return HttpResponse(parlamentares, content_type='application/json') |
|
|
return HttpResponse(parlamentares, content_type='application/json') |
|
|
# return JsonResponse(data) # work with python dict |
|
|
# return JsonResponse(data) # work with python dict |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#TODO: make this response non cacheable, probably on jQuery site, but check Django too |
|
|
# TODO: make this response non cacheable, |
|
|
#TODO: reduce number of database query hits by means of QuerySet wizardry. |
|
|
# probably on jQuery site, but check Django too |
|
|
|
|
|
# TODO: reduce number of database query hits by means |
|
|
|
|
|
# of QuerySet wizardry. |
|
|
def json_votacao(request): |
|
|
def json_votacao(request): |
|
|
# TODO: se tentar usar objects.get(ordem_id = 104 ocorre a msg: 'RegistroVotacao' object does not support indexing |
|
|
# TODO: se tentar usar objects.get(ordem_id = 104 |
|
|
|
|
|
# ocorre a msg: 'RegistroVotacao' object does not support indexing |
|
|
# TODO; tratar o caso de vir vazio |
|
|
# TODO; tratar o caso de vir vazio |
|
|
votacao = RegistroVotacao.objects.filter(ordem_id=104)[0] |
|
|
votacao = RegistroVotacao.objects.filter(ordem_id=104)[0] |
|
|
|
|
|
|
|
|
# Magic! |
|
|
# Magic! |
|
|
# http://stackoverflow.com/questions/15507171/django-filter-query-foreign-key |
|
|
# http://stackoverflow.com/questions/15507171/django-filter-query-foreign-key |
|
|
voto_parlamentar = VotoParlamentar.objects.filter(votacao__ordem__id=140) |
|
|
# voto_parlamentar = VotoParlamentar.objects.filter(votacao__ordem__id=140) |
|
|
|
|
|
|
|
|
ordem_dia = OrdemDia.objects.get(id=104) |
|
|
ordem_dia = OrdemDia.objects.get(id=104) |
|
|
|
|
|
|
|
@ -40,7 +42,8 @@ def json_votacao(request): |
|
|
|
|
|
|
|
|
sessao_plenaria = SessaoPlenaria.objects.get(id=sessaoplenaria_id) |
|
|
sessao_plenaria = SessaoPlenaria.objects.get(id=sessaoplenaria_id) |
|
|
|
|
|
|
|
|
# Pra recuperar o partido do parlamentar tem que fazer OUTRA query, deve ter uma |
|
|
# Pra recuperar o partido do parlamentar |
|
|
|
|
|
# tem que fazer OUTRA query, deve ter uma |
|
|
# forma de fazer isso na base do join de data models. |
|
|
# forma de fazer isso na base do join de data models. |
|
|
filiacao = Filiacao.objects.filter(data_desfiliacao__isnull=True) |
|
|
filiacao = Filiacao.objects.filter(data_desfiliacao__isnull=True) |
|
|
map = {} |
|
|
map = {} |
|
@ -65,18 +68,20 @@ def json_votacao(request): |
|
|
|
|
|
|
|
|
presentes = len(presentes_sessao_plenaria) |
|
|
presentes = len(presentes_sessao_plenaria) |
|
|
|
|
|
|
|
|
|
|
|
tipo_resultado = votacao.tipo_resultado_votacao.nome.upper() |
|
|
|
|
|
|
|
|
votacao_json = {"sessao_plenaria": str(sessao_plenaria), |
|
|
votacao_json = {"sessao_plenaria": str(sessao_plenaria), |
|
|
"sessao_plenaria_data": sessao_plenaria.data_inicio, |
|
|
"sessao_plenaria_data": sessao_plenaria.data_inicio, |
|
|
"sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio, |
|
|
"sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio, |
|
|
"materia_legislativa_texto": ordem_dia.materia.ementa, |
|
|
"materia_legislativa_texto": ordem_dia.materia.ementa, |
|
|
"observacao_materia": ordem_dia.materia.observacao, |
|
|
"observacao_materia": ordem_dia.materia.observacao, |
|
|
"tipo_votacao": ordem_dia.tipo_votacao, # TODO: verbose name |
|
|
"tipo_votacao": ordem_dia.tipo_votacao, |
|
|
"numero_votos_sim": votacao.numero_votos_sim, |
|
|
"numero_votos_sim": votacao.numero_votos_sim, |
|
|
"numero_votos_nao": votacao.numero_votos_nao, |
|
|
"numero_votos_nao": votacao.numero_votos_nao, |
|
|
"numero_abstencoes": votacao.numero_abstencoes, |
|
|
"numero_abstencoes": votacao.numero_abstencoes, |
|
|
"total_votos": total_votos, |
|
|
"total_votos": total_votos, |
|
|
"presentes": presentes, |
|
|
"presentes": presentes, |
|
|
"tipo_resultado": votacao.tipo_resultado_votacao.nome.upper(), |
|
|
"tipo_resultado": tipo_resultado, |
|
|
"presentes_ordem_dia": presentes_ordem_dia, |
|
|
"presentes_ordem_dia": presentes_ordem_dia, |
|
|
"presentes_sessao_plenaria": presentes_sessao_plenaria, |
|
|
"presentes_sessao_plenaria": presentes_sessao_plenaria, |
|
|
} |
|
|
} |
|
|