|
|
@ -9,7 +9,9 @@ from parlamentares.models import Parlamentar |
|
|
|
from parlamentares.models import Filiacao |
|
|
|
from sessao.models import SessaoPlenaria, SessaoPlenariaPresenca, PresencaOrdemDia, RegistroVotacao, VotoParlamentar, OrdemDia, PresencaOrdemDia |
|
|
|
|
|
|
|
|
|
|
|
# REST web services |
|
|
|
|
|
|
|
def json_presenca(request): |
|
|
|
presencas = PresencaOrdemDia.objects.filter(sessao_plenaria_id=50) |
|
|
|
parlamentares = [] |
|
|
@ -20,6 +22,7 @@ def json_presenca(request): |
|
|
|
return HttpResponse(parlamentares, content_type='application/json') |
|
|
|
# return JsonResponse(data) # work with python dict |
|
|
|
|
|
|
|
|
|
|
|
#TODO: make this response non cacheable, probably on jQuery site, but check Django too |
|
|
|
#TODO: reduce number of database query hits by means of QuerySet wizardry. |
|
|
|
def json_votacao(request): |
|
|
@ -27,7 +30,8 @@ def json_votacao(request): |
|
|
|
# TODO; tratar o caso de vir vazio |
|
|
|
votacao = RegistroVotacao.objects.filter(ordem_id=104)[0] |
|
|
|
|
|
|
|
# Magic! http://stackoverflow.com/questions/15507171/django-filter-query-foreign-key |
|
|
|
# Magic! |
|
|
|
# http://stackoverflow.com/questions/15507171/django-filter-query-foreign-key |
|
|
|
voto_parlamentar = VotoParlamentar.objects.filter(votacao__ordem__id=140) |
|
|
|
|
|
|
|
ordem_dia = OrdemDia.objects.get(id=104) |
|
|
@ -43,14 +47,18 @@ def json_votacao(request): |
|
|
|
for f in filiacao: |
|
|
|
map[f.parlamentar.nome_parlamentar] = f.partido.sigla |
|
|
|
|
|
|
|
presenca_ordem_dia = PresencaOrdemDia.objects.filter(sessao_plenaria_id = sessaoplenaria_id) |
|
|
|
presenca_ordem_dia = PresencaOrdemDia.objects.filter( |
|
|
|
sessao_plenaria_id=sessaoplenaria_id) |
|
|
|
presentes_ordem_dia = [] |
|
|
|
for p in presenca_ordem_dia: |
|
|
|
nome_parlamentar = p.parlamentar.nome_parlamentar |
|
|
|
presentes_ordem_dia.append(nome_parlamentar + " / " + map[nome_parlamentar]) |
|
|
|
total_votos = votacao.numero_votos_sim + votacao.numero_votos_nao + votacao.numero_abstencoes |
|
|
|
presentes_ordem_dia.append( |
|
|
|
nome_parlamentar + " / " + map[nome_parlamentar]) |
|
|
|
total_votos = votacao.numero_votos_sim + \ |
|
|
|
votacao.numero_votos_nao + votacao.numero_abstencoes |
|
|
|
|
|
|
|
sessao_plenaria_presenca = SessaoPlenariaPresenca.objects.filter(id = sessaoplenaria_id) |
|
|
|
sessao_plenaria_presenca = SessaoPlenariaPresenca.objects.filter( |
|
|
|
id=sessaoplenaria_id) |
|
|
|
presentes_sessao_plenaria = [] |
|
|
|
for p in sessao_plenaria_presenca: |
|
|
|
presentes_sessao_plenaria.append(p.parlamentar.nome_parlamentar) |
|
|
@ -74,13 +82,18 @@ def json_votacao(request): |
|
|
|
} |
|
|
|
return JsonResponse(votacao_json) |
|
|
|
|
|
|
|
|
|
|
|
# UI views |
|
|
|
|
|
|
|
def painel_view(request): |
|
|
|
context = {'head_title': 'Painel Plenário', 'title': '3a. Sessao Ordinária do Município XYZ'} |
|
|
|
context = {'head_title': 'Painel Plenário', |
|
|
|
'title': '3a. Sessao Ordinária do Município XYZ'} |
|
|
|
return render(request, 'painel/index.html', {'context': context}) |
|
|
|
|
|
|
|
|
|
|
|
def painel_parlamentares_view(request): |
|
|
|
return render(request, 'painel/parlamentares.html') |
|
|
|
|
|
|
|
|
|
|
|
def painel_votacao_view(request): |
|
|
|
return render(request, 'painel/votacao.html') |
|
|
|