Browse Source

Muda layout do painel

pull/514/head
Eduardo Edson Batista Cordeiro Alves 9 years ago
parent
commit
82b64c70f9
  1. 10
      sapl/painel/views.py
  2. 419
      sapl/templates/painel/index.html
  3. 4
      sapl/templates/sessao/painel.html

10
sapl/painel/views.py

@ -141,7 +141,9 @@ def get_presentes(pk, response, materia):
'numero_votos_nao': 0,
'numero_abstencoes': 0,
'total_votos': 0,
'tipo_resultado': tipo_votacao})
'tipo_resultado': tipo_votacao,
'observacao_materia': materia.observacao,
'materia_legislativa_texto': str(materia.materia)})
return response
@ -220,7 +222,9 @@ def get_presentes_expediente(pk, response, materia):
'numero_votos_nao': 0,
'numero_abstencoes': 0,
'total_votos': 0,
'tipo_resultado': tipo_votacao})
'tipo_resultado': tipo_votacao,
'observacao_materia': materia.observacao,
'materia_legislativa_texto': str(materia.materia)})
return response
@ -255,7 +259,7 @@ def get_votos(response, materia):
'numero_abstencoes': registro.numero_abstencoes,
'total_votos': total,
'tipo_votacao': tipo_votacao,
'tipo_resultado': registro.tipo_resultado_votacao.nome
'tipo_resultado': registro.tipo_resultado_votacao.nome,
})
return response

419
sapl/templates/painel/index.html

@ -5,209 +5,220 @@
<!--[if gt IE 8]><!-->
<html lang="en">
<!--<![endif]-->
<head>
<meta charset="UTF-8">
<!-- TODO: does it need this head_title here? -->
<title>{% block head_title %}{% trans 'SAPL - Sistema de Apoio ao Processo Legislativo' %}{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="{% static 'jquery/dist/jquery.js' %}"></script>
<script type="text/javascript" src="{% static 'jQuery-runner/build/jquery.runner.js' %}"></script>
<STYLE type="text/css">
@media screen {
body {font-size: medium; color: white; line-height: 1em; background: black;}
}
</STYLE>
<script type="text/javascript">
$(document).ready(function() {
//TODO: replace by a fancy jQuery clock
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
function startTime() {
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
$("#relogio").text(h+":"+m+":"+s)
var t = setTimeout(function(){
startTime()
}, 500);
}
startTime();
$('#cronometro_discurso').runner({
autostart: false,
countdown: true,
startAt: 5 * 60 * 1000, // 5 minutes
stopAt: 0,
milliseconds: false
});
$('#cronometro_aparte').runner({
autostart: false,
countdown: true,
startAt: 3 * 60 * 1000, // 3 minutes
stopAt: 0,
milliseconds: false
});
$('#cronometro_ordem').runner({
autostart: false,
countdown: true,
startAt: 2 * 60 * 1000, // 2 minutes
stopAt: 0,
milliseconds: false
});
var discurso_previous = '';
var aparte_previous = '';
var ordem_previous = '';
var counter = 1;
(function poll() {
$.ajax({
url: $("#json_url").val(),
type: "GET",
success: function(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();
if (data["presentes_ordem_dia"] != null) {
presentes_ordem_dia = data["presentes_ordem_dia"];
}
else if (data["presentes_expediente"] != null){
presentes_ordem_dia = data["presentes_expediente"]
<head>
<meta charset="UTF-8">
<!-- TODO: does it need this head_title here? -->
<title>{% block head_title %}{% trans 'SAPL - Sistema de Apoio ao Processo Legislativo' %}{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script type="text/javascript" src="{% static 'jquery/dist/jquery.js' %}"></script>
<script type="text/javascript" src="{% static 'jQuery-runner/build/jquery.runner.js' %}"></script>
<style type="text/css">
@media screen {
body {
background: #2B2B2A;
}
}
</style>
</head>
<body>
<h1 id="title"></h1>
<input id="json_url" type="hidden" value="{% url 'sapl.painel:dados_painel' sessao_id %}">
<h3><font color="#4FA64D"><p align="center"><span id="sessao_plenaria"></span></p></font></h3>
<table style="width:100%">
<tr>
<th style="text-align:center"><font color="white" size="2"><span id="sessao_plenaria_data"></span></font></th>
<th style="text-align:center"><font color="white" size="2"><span id="sessao_plenaria_hora_inicio"></span></font></th>
</tr>
</table>
<h2><font color="red"><p align="center"><span id="message"></span></p></font></h2>
<font color="white"><p align="center">-----------------------------------------------</p></font>
<h3><font color="white"><p align="center"><span id="relogio"></span></p></font></h3>
<font color="white"><p align="center">-----------------------------------------------</p></font>
<h3><font color="#459170"><p align="center">Cronômetros</p></font></h3>
<table style="width:82%">
<tr>
<th style="text-align:center"><font color="white">Discurso: </font></th>
<th style="text-align:center"><font color="white"><span id="cronometro_discurso"></span></font></th>
</tr>
<tr>
<th style="text-align:center"><font color="white">Aparte: </font></th>
<th style="text-align:center"><font color="white"><span id="cronometro_aparte"></span></font></th>
</tr>
<tr>
<th style="text-align:center"><font color="white">Questão de Ordem: </font></th>
<th style="text-align:center"><font color="white"><span id="cronometro_ordem"></span></font></th>
</tr>
</table>
<h3><font color="white"><p align="center">-----------------------------------------------</p></font></h3>
<h3><font color="#459170"><p align="center">Parlamentares e Votos</p></font></h3>
<table style="width:100%">
<tr>
<th style="text-align:center"><font color="white"><span id="parlamentares"></span></font></th>
<th style="text-align:center"><font color="white"><span id="votacao"></span></font></th>
</tr>
</table>
<h3><font color="white"><p align="center">-----------------------------------------------</p></font></h3>
<h3><font color="#459170"><p align="center">Matéria em Votação</p></font></h3>
<table style="width:100%">
<tr><th style="text-align:center"><font color="white"><span id="materia_legislativa_texto"></span></font></th></tr>
<tr><th style="text-align:center"><font color="white"><span id="observacao_materia"></span></font></th></tr>
<tr><th style="text-align:center"><font color="#45919D"><span id="resultado_votacao"></span></font></th></tr>
</table>
</body>
<script type="text/javascript">
$(document).ready(function() {
//TODO: replace by a fancy jQuery clock
function checkTime(i) {
if (i<10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
function startTime() {
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
m = checkTime(m);
s = checkTime(s);
$("#relogio").text(h+":"+m+":"+s)
var t = setTimeout(function(){
startTime()
}, 500);
}
startTime();
$('#cronometro_discurso').runner({
autostart: false,
countdown: true,
startAt: 5 * 60 * 1000, // 5 minutes
stopAt: 0,
milliseconds: false
});
$('#cronometro_aparte').runner({
autostart: false,
countdown: true,
startAt: 3 * 60 * 1000, // 3 minutes
stopAt: 0,
milliseconds: false
});
$('#cronometro_ordem').runner({
autostart: false,
countdown: true,
startAt: 2 * 60 * 1000, // 2 minutes
stopAt: 0,
milliseconds: false
});
var discurso_previous = '';
var aparte_previous = '';
var ordem_previous = '';
var counter = 1;
(function poll() {
$.ajax({
url: $("#json_url").val(),
type: "GET",
success: function(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();
if (data["presentes_ordem_dia"] != null) {
presentes_ordem_dia = data["presentes_ordem_dia"];
}
else if (data["presentes_expediente"] != null){
presentes_ordem_dia = data["presentes_expediente"]
}
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);
});
}
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);
});
}
}else{
jQuery.each(presentes_ordem_dia, function(index, parlamentar) {
$('<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>")
var discurso_current = data["cronometro_discurso"];
if (discurso_current != discurso_previous) {
$('#cronometro_discurso').runner(discurso_current);
discurso_previous = discurso_current;
}
var aparte_current = data["cronometro_aparte"];
if (aparte_current != aparte_previous) {
$('#cronometro_aparte').runner(aparte_current);
aparte_previous = aparte_current;
}
var ordem_current = data["cronometro_ordem"];
if (ordem_current != ordem_previous) {
$('#cronometro_ordem').runner(ordem_current);
ordem_previous = ordem_current;
}
$("#materia_legislativa_texto").text(data["materia_legislativa_texto"])
$("#observacao_materia").text(data["observacao_materia"])
$("#resultado_votacao").text(data["tipo_resultado"])
},
error: function(err) {
console.error(err);
},
dataType: "json",
complete: setTimeout(function() {poll()}, 2000),
timeout: 20000 // TODO: decrease
})
})();
});
</script>
</head>
<body>
<h1 id="title"></h1>
<input id="json_url" type="hidden" value="{% url 'sapl.painel:dados_painel' sessao_id %}">
<h3>
<span id="sessao_plenaria"></span><br/><br/>
<span id="sessao_plenaria_data"></span><br/><br/>
<span id="sessao_plenaria_hora_inicio"></span></br><br/>
<h2 id="message"></h2>
<h2><span id="relogio"></span></h2>
<table>
<tr>
<td>TEMPO DECORRIDO:</td>
<td><span id="tempo-decorrido"></span></td>
</tr>
<tr>
<td>DISCURSO:</td>
<td><span id="cronometro_discurso"></span></td>
</tr>
<tr>
<td>APARTE:</td>
<td><span id="cronometro_aparte"></span></td>
</tr>
<tr>
<td>QUESTÃO DE ORDEM:</td>
<td><span id="cronometro_ordem"></span></td>
</tr>
</table>
<table>
<tr>
<td>
<ul id="parlamentares">
</ul>
</td>
<td>
<ul id="votacao">
</ul>
</td>
</tr>
</table>
<span id="materia_legislativa_texto"></span><br/>
<span id="resultado_votacao"></span><br/>
<span id="observacao_materia"></span>
</h3>
</body>
}else{
jQuery.each(presentes_ordem_dia, function(index, parlamentar) {
$('<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>")
var discurso_current = data["cronometro_discurso"];
if (discurso_current != discurso_previous) {
$('#cronometro_discurso').runner(discurso_current);
discurso_previous = discurso_current;
}
var aparte_current = data["cronometro_aparte"];
if (aparte_current != aparte_previous) {
$('#cronometro_aparte').runner(aparte_current);
aparte_previous = aparte_current;
}
var ordem_current = data["cronometro_ordem"];
if (ordem_current != ordem_previous) {
$('#cronometro_ordem').runner(ordem_current);
ordem_previous = ordem_current;
}
$("#materia_legislativa_texto").text(data["materia_legislativa_texto"])
$("#observacao_materia").text(data["observacao_materia"])
$("#resultado_votacao").text(data["tipo_resultado"])
},
error: function(err) {
console.error(err);
},
dataType: "json",
complete: setTimeout(function() {poll()}, 2000),
timeout: 20000 // TODO: decrease
})
})();
});
</script>
</html>

4
sapl/templates/sessao/painel.html

@ -7,11 +7,11 @@
<div class="row">
<!--<div class="col-md-6"><a href="{% url 'sapl.painel:painel_principal' pk %}" class="btn btn-primary btn-sm active">Iniciar painel presidente</a></div> -->
<div class="col-md-6"><a href="{% url 'sapl.painel:painel_principal' pk %}" class="btn btn-primary btn-sm active">Iniciar painel completo</a></div>
<div class="col-md-6"><a href="" onclick="window.open('{% url 'sapl.painel:painel_principal' pk %}','Comprovante','width=800, height=800, scrollbars=yes')" class="btn btn-primary btn-sm active">Iniciar painel completo</a></div>
<!--<div class="col-md-6"><a href="{% url 'sapl.painel:painel_mensagem' %}" class="btn btn-primary btn-sm active">Iniciar painel mensagem</a></div>
<div class="col-md-6"><a href="{% url 'sapl.painel:painel_parlamentar' %}" class="btn btn-primary btn-sm active">Iniciar painel parlamentares</a></div>
<div class="col-md-6"><a href="{% url 'sapl.painel:painel_votacao' %}" class="btn btn-primary btn-sm active">Iniciar painel votação</a></div> -->
<div class="col-md-6"><a href="{% url 'sapl.painel:painel_controlador' %}" class="btn btn-primary btn-sm active">Controlador Painel</a></div>
<div class="col-md-6"><a href="{% url 'sapl.painel:painel_controlador' %}" target="_blank" class="btn btn-primary btn-sm active">Controlador Painel</a></div>
</div>
<br />
<h1>Operação do Painel Eletrônico</h1>

Loading…
Cancel
Save