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 %}