Browse Source

Cronometro da ordem parando os demais

pull/2861/head
Cesar Carvalho 7 years ago
parent
commit
4d5303f3c1
  1. 3
      sapl/painel/views.py
  2. 5
      sapl/sessao/views.py
  3. 81
      sapl/templates/sessao/painel.html

3
sapl/painel/views.py

@ -338,7 +338,8 @@ def votante_view(request):
def painel_view(request, pk): def painel_view(request, pk):
context = {'head_title': str(_('Painel Plenário')), context = {'head_title': str(_('Painel Plenário')),
'sessao_id': pk, 'sessao_id': pk,
'cronometros': Cronometro.objects.filter(ativo=True).order_by('ordenacao') 'cronometros': Cronometro.objects.filter(ativo=True).order_by('ordenacao'),
'painel_config': PainelConfig.objects.first()
} }
return render(request, 'painel/index.html', context) return render(request, 'painel/index.html', context)

5
sapl/sessao/views.py

@ -33,7 +33,7 @@ from sapl.materia.forms import filtra_tramitacao_status
from sapl.materia.models import (Autoria, TipoMateriaLegislativa, from sapl.materia.models import (Autoria, TipoMateriaLegislativa,
Tramitacao) Tramitacao)
from sapl.materia.views import MateriaLegislativaPesquisaView from sapl.materia.views import MateriaLegislativaPesquisaView
from sapl.painel.models import Cronometro from sapl.painel.models import Cronometro, PainelConfig
from sapl.parlamentares.models import (Filiacao, Legislatura, Mandato, from sapl.parlamentares.models import (Filiacao, Legislatura, Mandato,
Parlamentar, SessaoLegislativa) Parlamentar, SessaoLegislativa)
from sapl.sessao.apps import AppConfig from sapl.sessao.apps import AppConfig
@ -1097,7 +1097,8 @@ class PainelView(PermissionRequiredForAppCrudMixin, TemplateView):
'sessao_id': kwargs['pk'], 'sessao_id': kwargs['pk'],
'root_pk': kwargs['pk'], 'root_pk': kwargs['pk'],
'sessaoplenaria': SessaoPlenaria.objects.get(pk=kwargs['pk']), 'sessaoplenaria': SessaoPlenaria.objects.get(pk=kwargs['pk']),
'cronometros': cronometros}) 'cronometros': cronometros,
'painel_config': PainelConfig.objects.first()})
tipo_sessao = sessao.tipo tipo_sessao = sessao.tipo
if tipo_sessao.nome == "Solene": if tipo_sessao.nome == "Solene":

81
sapl/templates/sessao/painel.html

@ -82,8 +82,8 @@ function switch_painel(aberto) {
function checkTime(i) { function checkTime(i) {
if (i<10) { if (i<10) {
i = "0" + i i = "0" + i;
}; }
return i; return i;
} }
@ -96,12 +96,12 @@ function startTime() {
s = checkTime(s); s = checkTime(s);
$("#relogio").text(h+":"+m+":"+s) $("#relogio").text(h+":"+m+":"+s)
let t = setTimeout(function(){ let t = setTimeout(function(){
startTime() startTime();
},500); },500);
} }
$(document).ready(function(){ $(document).ready(function(){
let pk_sessao = {{root_pk}}; let pk_sessao = parseInt("{{root_pk}}");
let botao_abrir = $('#id_abrir_painel'); let botao_abrir = $('#id_abrir_painel');
let botao_fechar = $('#id_fechar_painel'); let botao_fechar = $('#id_fechar_painel');
@ -111,16 +111,16 @@ $(document).ready(function(){
dataType: 'json', dataType: 'json',
url: "{% url 'sapl.painel:verifica_painel' %}", url: "{% url 'sapl.painel:verifica_painel' %}",
error: function () { error: function () {
alert("Erro ao verificar o Painel"); alert("Erro ao verificar o Painel");
}, },
success: function (data) { success: function (data) {
if (data['status']) { if (data['status']) {
botao_abrir.hide(); botao_abrir.hide();
botao_fechar.show(); botao_fechar.show();
} else { } else {
botao_abrir.show(); botao_abrir.show();
botao_fechar.hide(); botao_fechar.hide();
} }
}, },
}); });
@ -133,7 +133,7 @@ $(document).ready(function(){
$('#cronometro_' + "{{cron.id}}").runner({ $('#cronometro_' + "{{cron.id}}").runner({
autostart: false, autostart: false,
countdown: true, countdown: true,
startAt: {{cron.duracao_cronometro|duration_to_seconds}} * 1000, startAt: parseInt("{{cron.duracao_cronometro|duration_to_seconds}}") * 1000,
stopAt: 0, stopAt: 0,
milliseconds: false milliseconds: false
}).on('runnerFinish', function(eventObject, info){ }).on('runnerFinish', function(eventObject, info){
@ -144,26 +144,47 @@ $(document).ready(function(){
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar'); $('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar');
}) })
$('#cronometro_' + "{{cron.id}}" + '_Start').click(function() { {% if painel_config.cronometro_ordem and cron.tipo == "Cronômetro da Questão de Ordem" %}
if ($('#cronometro_' + "{{cron.id}}" + '_Start').text() == 'Iniciar'){ $('#cronometro_' + "{{cron.id}}" + '_Start').click(function() {
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'start' } ); if ($('#cronometro_' + "{{cron.id}}" + '_Start').text() == 'Iniciar'){
{% for c in cronometros %}
$('#cronometro_' + "{{cron.id}}" + '_Reset').hide(); {% if c.tipo == "Cronômetro da Questão de Ordem" %}
$('#cronometro_' + "{{cron.id}}").runner('start'); $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{c.id}}", action: 'start' } );
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Parar'); $('#cronometro_' + "{{c.id}}" + '_Reset').hide();
} else{ $('#cronometro_' + "{{c.id}}").runner('start');
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop' } ); $('#cronometro_' + "{{c.id}}" + '_Start').text('Parar');
{% else %}
$('#cronometro_' + "{{cron.id}}" + '_Reset').show(); $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{c.id}}", action: 'stop' } );
$('#cronometro_' + "{{cron.id}}").runner('stop'); $('#cronometro_' + "{{c.id}}" + '_Reset').show();
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar'); $('#cronometro_' + "{{c.id}}").runner('stop');
} $('#cronometro_' + "{{c.id}}" + '_Start').text('Iniciar');
}); {% endif %}
{% endfor %}
} else{
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop' } );
$('#cronometro_' + "{{cron.id}}" + '_Reset').show();
$('#cronometro_' + "{{cron.id}}").runner('stop');
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar');
}
});
{% else %}
$('#cronometro_' + "{{cron.id}}" + '_Start').click(function() {
if ($('#cronometro_' + "{{cron.id}}" + '_Start').text() == 'Iniciar'){
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'start' } );
$('#cronometro_' + "{{cron.id}}" + '_Reset').hide();
$('#cronometro_' + "{{cron.id}}").runner('start');
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Parar');
} else{
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop' } );
$('#cronometro_' + "{{cron.id}}" + '_Reset').show();
$('#cronometro_' + "{{cron.id}}").runner('stop');
$('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar');
}
});
{% endif %}
$('#cronometro_' + "{{cron.id}}" + '_Reset').click(function() { $('#cronometro_' + "{{cron.id}}" + '_Reset').click(function() {
$.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'reset' } ); $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'reset' } );
$('#cronometro_' + "{{cron.id}}").runner('stop'); $('#cronometro_' + "{{cron.id}}").runner('stop');
$('#cronometro_' + "{{cron.id}}").runner('reset'); $('#cronometro_' + "{{cron.id}}").runner('reset');
}); });

Loading…
Cancel
Save