diff --git a/compilacao/migrations/0030_auto_20151203_1114.py b/compilacao/migrations/0030_auto_20151203_1114.py new file mode 100644 index 000000000..27b47f052 --- /dev/null +++ b/compilacao/migrations/0030_auto_20151203_1114.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('compilacao', '0029_auto_20151201_1611'), + ] + + operations = [ + migrations.AlterField( + model_name='tipodispositivo', + name='relacoes_diretas_pai_filho', + field=models.ManyToManyField(to='compilacao.TipoDispositivo', related_name='+', through='compilacao.TipoDispositivoRelationship'), + ), + ] diff --git a/painel/models.py b/painel/models.py index 9f23dd2ed..026e6dfdb 100644 --- a/painel/models.py +++ b/painel/models.py @@ -13,6 +13,8 @@ class Painel(models.Model): data_painel = models.DateField(verbose_name='Data painel') mostrar = models.CharField(max_length=1, choices=PAINEL_TYPES, default='C') + def __str__(self): + return str(self.aberto) + ":" + self.data_painel.strftime("%d/%m/%Y") class Cronometro(models.Model): diff --git a/painel/views.py b/painel/views.py index 59d90ec98..186854b2c 100644 --- a/painel/views.py +++ b/painel/views.py @@ -1,5 +1,6 @@ from datetime import date +import datetime from django.core.exceptions import ObjectDoesNotExist from django.http import HttpResponse, JsonResponse from django.shortcuts import render @@ -14,8 +15,6 @@ from sessao.models import (OrdemDia, PresencaOrdemDia, RegistroVotacao, from .models import Cronometro -# VotoParlamentar) - cronometro_painel_crud = build_crud( Cronometro, '', [ @@ -47,8 +46,8 @@ def controlador_painel(request): def painel_view(request, pk): - context = {'head_title': 'Painel Plenário', 'sessao_id': pk} - return render(request, 'painel/index.html', {'context': context}) + context = {'head_title': 'Painel Plenário', 'sessao_id': pk} + return render(request, 'painel/index.html', context) def painel_mensagem_view(request): @@ -81,6 +80,30 @@ def get_dados_painel(request, pk): sessao_plenaria_id = pk sessao_plenaria = SessaoPlenaria.objects.get(id=sessao_plenaria_id) + status_painel = "FECHADO" + + try: + painel = Painel.objects.get(data_painel=datetime.date.today()) + + if painel.aberto: + status_painel = "ABERTO" + else: + response = {"sessao_plenaria": str(sessao_plenaria), + "sessao_plenaria_data": sessao_plenaria.data_inicio.strftime("%d/%m/%Y"), + "sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio, + "status_painel": status_painel, + } + return JsonResponse(response) + + except ObjectDoesNotExist: + response = {"sessao_plenaria": str(sessao_plenaria), + "sessao_plenaria_data": sessao_plenaria.data_inicio.strftime("%d/%m/%Y"), + "sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio, + "status_painel": status_painel, + } + return JsonResponse(response) + + # # 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. @@ -158,27 +181,28 @@ def get_dados_painel(request, pk): cronometro_aparte = get_cronometro_status(request, 'aparte') cronometro_ordem = get_cronometro_status(request, 'ordem') - votacao_json = {"sessao_plenaria": str(sessao_plenaria), - "sessao_plenaria_data": sessao_plenaria.data_inicio, - "sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio, - "materia_titulo": materia_titulo, - "materia_legislativa_texto": materia_legislativa_texto, - "materia_observacao": materia_observacao, - "tipo_votacao": tipo_votacao, - "presentes_ordem_dia": presentes_ordem_dia, - "num_presentes_ordem_dia": num_presentes_ordem_dia, - "presentes_sessao_plenaria": presentes_sessao_plenaria, - "num_presentes_sessao_plenaria": num_presentes_sessao_plen, - "votacao_aberta": votacao_aberta, - "numero_votos_sim": numero_votos_sim, - "numero_votos_nao": numero_votos_nao, - "numero_abstencoes": numero_abstencoes, - "total_votos": total_votos, - "tipo_resultado": tipo_resultado, - "votos": votos, - "cronometro_aparte": cronometro_aparte, - "cronometro_discurso": cronometro_discurso, - "cronometro_ordem": cronometro_ordem, - } - - return JsonResponse(votacao_json) + response = {"sessao_plenaria": str(sessao_plenaria), + "sessao_plenaria_data": sessao_plenaria.data_inicio.strftime("%d/%m/%Y"), + "sessao_plenaria_hora_inicio": sessao_plenaria.hora_inicio, + "materia_titulo": materia_titulo, + "materia_legislativa_texto": materia_legislativa_texto, + "materia_observacao": materia_observacao, + "tipo_votacao": tipo_votacao, + "presentes_ordem_dia": presentes_ordem_dia, + "num_presentes_ordem_dia": num_presentes_ordem_dia, + "presentes_sessao_plenaria": presentes_sessao_plenaria, + "num_presentes_sessao_plenaria": num_presentes_sessao_plen, + "votacao_aberta": votacao_aberta, + "numero_votos_sim": numero_votos_sim, + "numero_votos_nao": numero_votos_nao, + "numero_abstencoes": numero_abstencoes, + "total_votos": total_votos, + "tipo_resultado": tipo_resultado, + "votos": votos, + "cronometro_aparte": cronometro_aparte, + "cronometro_discurso": cronometro_discurso, + "cronometro_ordem": cronometro_ordem, + "status_painel": status_painel, + } + + return JsonResponse(response) diff --git a/templates/painel/index.html b/templates/painel/index.html index 99994de2d..d54f8d33e 100644 --- a/templates/painel/index.html +++ b/templates/painel/index.html @@ -79,10 +79,16 @@ type: "GET", success: function(data) { - //TODO: json spitted out is very complex, have to simplify/flat it - //TODO: probably building it by hand on REST side - console.debug(data) + $("#sessao_plenaria").text(data["sessao_plenaria"]) + $("#sessao_plenaria_data").text("Data Início: " + data["sessao_plenaria_data"]) + $("#sessao_plenaria_hora_inicio").text("Hora Início: " + data["sessao_plenaria_hora_inicio"]) + + if (data["status_painel"] === "FECHADO") { + $("#message").text("PAINEL ENCONTRA-SE FECHADO"); + return; + } + var presentes = $("#parlamentares"); presentes.children().remove(); @@ -93,7 +99,7 @@ $('
', {text: parlamentar.nome + '/' + parlamentar.partido}).appendTo(presentes); }); - //console.debug(presentes_ordem_dia) + //console.debug(presentes_ordem_dia) var votacao = $("#votacao") votacao.children().remove() @@ -103,14 +109,6 @@ votacao.append("