diff --git a/sapl/painel/views.py b/sapl/painel/views.py index 18489a6f6..9744a62e9 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -290,7 +290,10 @@ def votante_view(request): @user_passes_test(check_permission) def painel_view(request, pk): - context = {'head_title': str(_('Painel Plenário')), 'sessao_id': pk} + context = {'head_title': str(_('Painel Plenário')), + 'sessao_id': pk, + 'cronometros': Cronometro.objects.all().order_by('ordenacao') + } return render(request, 'painel/index.html', context) @@ -331,9 +334,21 @@ def painel_votacao_view(request): return render(request, 'painel/votacao.html') +CRONOMETRO_STATUS = { + 'start': 'I', + 'reset': 'R', + 'stop': 'S', + 'increment': 'C' +} + @user_passes_test(check_permission) def cronometro_painel(request): - request.session[request.GET['tipo']] = request.GET['action'] + acao = request.GET['action'] + request.session[request.GET['tipo']] = acao + cronometro_id = request.GET['tipo'].split('cronometro_')[1] + cronometro = Cronometro.objects.get(id=cronometro_id) + cronometro.status = CRONOMETRO_STATUS[acao] + cronometro.save() return HttpResponse({}) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index d9a452bc6..90166beae 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -875,12 +875,17 @@ class PainelView(PermissionRequiredForAppCrudMixin, TemplateView): if request.user.is_anonymous(): self.template_name = 'painel/index.html' - # import ipdb; ipdb.set_trace() + # request.session['discurso'] = 'stop' + # request.session['aparte'] = 'stop' + # request.session['ordem'] = 'stop' + # request.session['consideracoes'] = 'stop' - request.session['discurso'] = 'stop' - request.session['aparte'] = 'stop' - request.session['ordem'] = 'stop' - request.session['consideracoes'] = 'stop' + cronometros = Cronometro.objects.all().order_by('ordenacao') + for cronometro in cronometros: + cronometro.status = 'S' # Stop + cronometro.save() + k = 'cronometro_' + str(cronometro.id) + request.session[k] = 'stop' return TemplateView.get(self, request, *args, **kwargs) diff --git a/sapl/templates/sessao/painel.html b/sapl/templates/sessao/painel.html index 5b1226eef..c4e74cbeb 100644 --- a/sapl/templates/sessao/painel.html +++ b/sapl/templates/sessao/painel.html @@ -37,7 +37,7 @@
-
+

@@ -127,52 +127,44 @@ $(document).ready(function(){ let audioAlertFinish = document.getElementById("audio"); {% for cron in cronometros %} - cronometro = "cronometro_" + "{{cron.id}}"; + $('#cronometro_' + "{{cron.id}}").prop('disabled', false); - $('#' + cronometro).prop('disabled', false); - - cronometroStart = '#' + cronometro + '_Start'; - cronometroReset = '#' + cronometro + '_Reset'; - - duracao = {{cron.duracao_cronometro|duration_to_seconds}}; - console.log(cronometro, duracao, cronometroStart, cronometroReset); - - $('#' + cronometro).runner({ + $('#cronometro_' + "{{cron.id}}").runner({ autostart: false, countdown: true, - startAt: duracao * 1000, + startAt: {{cron.duracao_cronometro|duration_to_seconds}} * 1000, stopAt: 0, milliseconds: false }).on('runnerFinish', function(eventObject, info){ - $.get('/painel/cronometro', { tipo: cronometro, action: 'stop' } ); + $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop' } ); audioAlertFinish.play(); - $(cronometroReset).show(); - $('#' + cronometro).runner('stop'); - $(cronometroStart).text('Iniciar'); + $('#cronometro_' + "{{cron.id}}" + '_Reset').show(); + $('#cronometro_' + "{{cron.id}}").runner('stop'); + $('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar'); }) - $(cronometroStart).click(function() { - if ($(cronometroStart).text() == 'Iniciar'){ - $.get('/painel/cronometro', { tipo: cronometro, action: 'start' } ); + $('#cronometro_' + "{{cron.id}}" + '_Start').click(function() { + if ($('#cronometro_' + "{{cron.id}}" + '_Start').text() == 'Iniciar'){ + $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'start' } ); - $(cronometroReset).hide(); - $('#' + cronometro).runner('start'); - $(cronometroStart).text('Parar'); + $('#cronometro_' + "{{cron.id}}" + '_Reset').hide(); + $('#cronometro_' + "{{cron.id}}").runner('start'); + $('#cronometro_' + "{{cron.id}}" + '_Start').text('Parar'); } else{ - $.get('/painel/cronometro', { tipo: cronometro, action: 'stop' } ); + $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'stop' } ); - $(cronometroReset).show(); - $('#' + cronometro).runner('stop'); - $(cronometroStart).text('Iniciar'); + $('#cronometro_' + "{{cron.id}}" + '_Reset').show(); + $('#cronometro_' + "{{cron.id}}").runner('stop'); + $('#cronometro_' + "{{cron.id}}" + '_Start').text('Iniciar'); } }); - $(cronometroReset).click(function() { + $('#cronometro_' + "{{cron.id}}" + '_Reset').click(function() { - $.get('/painel/cronometro', { tipo: cronometro, action: 'reset' } ); + $.get('/painel/cronometro', { tipo: 'cronometro_' + "{{cron.id}}", action: 'reset' } ); - $('#' + cronometro).runner('stop'); - $('#' + cronometro).runner('reset'); + $('#cronometro_' + "{{cron.id}}").runner('stop'); + $('#cronometro_' + "{{cron.id}}").runner('reset'); }); {% endfor %}