From 05d74edc3e40703b7afb49ab3f51ad3ec8a55443 Mon Sep 17 00:00:00 2001 From: Cesar Carvalho Date: Mon, 26 Nov 2018 16:38:15 -0200 Subject: [PATCH] fix #2380 --- .../migrations/0024_auto_20181126_1534.py | 35 +++++++++++++++++++ sapl/base/models.py | 10 +++--- sapl/base/templatetags/common_tags.py | 7 ++-- sapl/painel/views.py | 1 - sapl/sessao/views.py | 25 ++++++------- sapl/static/js/app.js | 4 +-- 6 files changed, 60 insertions(+), 22 deletions(-) create mode 100644 sapl/base/migrations/0024_auto_20181126_1534.py diff --git a/sapl/base/migrations/0024_auto_20181126_1534.py b/sapl/base/migrations/0024_auto_20181126_1534.py new file mode 100644 index 000000000..2f91af1ea --- /dev/null +++ b/sapl/base/migrations/0024_auto_20181126_1534.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.8 on 2018-11-26 17:34 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('base', '0023_auto_20181105_1804'), + ] + + operations = [ + migrations.AlterField( + model_name='appconfig', + name='cronometro_aparte', + field=models.DurationField(blank=True, null=True, verbose_name='Cronômetro do Aparte'), + ), + migrations.AlterField( + model_name='appconfig', + name='cronometro_consideracoes', + field=models.DurationField(blank=True, null=True, verbose_name='Cronômetro de Considerações Finais'), + ), + migrations.AlterField( + model_name='appconfig', + name='cronometro_discurso', + field=models.DurationField(blank=True, null=True, verbose_name='Cronômetro do Discurso'), + ), + migrations.AlterField( + model_name='appconfig', + name='cronometro_ordem', + field=models.DurationField(blank=True, null=True, verbose_name='Cronômetro da Ordem'), + ), + ] diff --git a/sapl/base/models.py b/sapl/base/models.py index 9153803b8..fd6e01785 100644 --- a/sapl/base/models.py +++ b/sapl/base/models.py @@ -8,6 +8,7 @@ from django.utils.translation import ugettext_lazy as _ #from model_utils import Choices from sapl.utils import (LISTA_DE_UFS, YES_NO_CHOICES, get_settings_auth_user_model, models_with_gr_for_model) +from datetime import timedelta TIPO_DOCUMENTO_ADMINISTRATIVO = (('O', _('Ostensiva')), ('R', _('Restritiva'))) @@ -121,22 +122,23 @@ class AppConfig(models.Model): verbose_name=_('Quem deve assina a ata'), max_length=1, choices=ASSINATURA_ATA_CHOICES, default='T') - cronometro_discurso = models.TimeField( + cronometro_discurso = models.DurationField( + default=timedelta(minutes=40), verbose_name=_('Cronômetro do Discurso'), blank=True, null=True) - cronometro_aparte = models.TimeField( + cronometro_aparte = models.DurationField( verbose_name=_('Cronômetro do Aparte'), blank=True, null=True) - cronometro_ordem = models.TimeField( + cronometro_ordem = models.DurationField( verbose_name=_('Cronômetro da Ordem'), blank=True, null=True) - cronometro_consideracoes = models.TimeField( + cronometro_consideracoes = models.DurationField( verbose_name=_('Cronômetro de Considerações Finais'), blank=True, null=True) diff --git a/sapl/base/templatetags/common_tags.py b/sapl/base/templatetags/common_tags.py index 4251e54da..992bfde0e 100644 --- a/sapl/base/templatetags/common_tags.py +++ b/sapl/base/templatetags/common_tags.py @@ -229,10 +229,11 @@ def cronometro_to_seconds(value): if not AppConfig.attr('cronometro_' + value): return 0 - m, s, x = AppConfig.attr( - 'cronometro_' + value).isoformat().split(':') + # m, s, x = AppConfig.attr( + # 'cronometro_' + value).isoformat().split(':') - return 60 * int(m) + int(s) + # return 60 * int(m) + int(s) + return AppConfig.attr('cronometro_' + value).seconds @register.filter diff --git a/sapl/painel/views.py b/sapl/painel/views.py index 963e53019..333c3771e 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -340,7 +340,6 @@ def cronometro_painel(request): def get_cronometro_status(request, name): logger = logging.getLogger(__name__) username = request.user.username - try: logger.debug("user=" + username + ". Tentando obter cronometro.") cronometro = request.session[name] diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index 2af2b9805..c1903df4e 100755 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -846,18 +846,19 @@ class PainelView(PermissionRequiredForAppCrudMixin, TemplateView): messages.add_message(self.request, messages.ERROR, msg) else: - m, s, x = cronometro_discurso.isoformat().split(':') - cronometro_discurso = int(m) * 60 + int(s) - - m, s, x = cronometro_aparte.isoformat().split(':') - cronometro_aparte = int(m) * 60 + int(s) - - m, s, x = cronometro_ordem.isoformat().split(':') - cronometro_ordem = int(m) * 60 + int(s) - - m, s, x = cronometro_consideracoes.isoformat().split(':') - cronometro_consideracoes = int(m) * 60 + int(s) - + # import ipdb; ipdb.set_trace() + # m, s, x = cronometro_discurso.isoformat().split(':') + # cronometro_discurso = int(m) * 60 + int(s) + cronometro_discurso = cronometro_discurso.seconds + # m, s, x = cronometro_aparte.isoformat().split(':') + # cronometro_aparte = int(m) * 60 + int(s) + cronometro_aparte = cronometro_aparte.seconds + # m, s, x = cronometro_ordem.isoformat().split(':') + # cronometro_ordem = int(m) * 60 + int(s) + cronometro_ordem = cronometro_ordem.seconds + # m, s, x = cronometro_consideracoes.isoformat().split(':') + # cronometro_consideracoes = int(m) * 60 + int(s) + cronometro_consideracoes = cronometro_consideracoes.seconds context = TemplateView.get_context_data(self, **kwargs) context.update({ 'head_title': str(_('Painel Plenário')), diff --git a/sapl/static/js/app.js b/sapl/static/js/app.js index cc9c773ce..cded8c960 100644 --- a/sapl/static/js/app.js +++ b/sapl/static/js/app.js @@ -46,8 +46,8 @@ function refreshMask() { $('.titulo_eleitor').mask("0000.0000.0000.0000", {placeholder:"____.____.____.____"}); $('.dateinput').mask('00/00/0000', {placeholder:"__/__/____"}); $('.hora').mask("00:00", {placeholder:"hh:mm"}); - $('.hora_hms').mask("00:00:00", {placeholder:"hh:mm:ss"}); - $('.cronometro').mask("00:00", {placeholder:"mm:ss"}); + $('.hora_hms').mask("00:00:00", {placeholder:"mm:ss"}); + $('.cronometro').mask("00:00:00", {placeholder:"hh:mm:ss"}); } function autorModal() {