diff --git a/sapl/painel/forms.py b/sapl/painel/forms.py new file mode 100644 index 000000000..619a120d3 --- /dev/null +++ b/sapl/painel/forms.py @@ -0,0 +1,14 @@ +from django import forms +from .models import Cronometro + +class CronometroForm(forms.ModelForm): + + class Meta: + model = Cronometro + fields = ['tipo', 'duracao_cronometro', 'ativo', 'ordenacao'] + + def __init__(self, *args, **kwargs): + super(CronometroForm, self).__init__(*args, **kwargs) + self.fields['duracao_cronometro'].widget.attrs['class'] = 'cronometro' + if not self.instance.ordenacao: + self.fields['ordenacao'].initial = Cronometro.objects.last().ordenacao + 1 \ No newline at end of file diff --git a/sapl/painel/migrations/0003_auto_20190603_1033.py b/sapl/painel/migrations/0003_auto_20190603_1033.py index 5a0851e09..7df9c2b83 100644 --- a/sapl/painel/migrations/0003_auto_20190603_1033.py +++ b/sapl/painel/migrations/0003_auto_20190603_1033.py @@ -28,7 +28,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='cronometro', name='duracao_cronometro', - field=models.DurationField(blank=True, null=True, verbose_name='Duração do cronômetro'), + field=models.DurationField(verbose_name='Duração do cronômetro'), ), migrations.AddField( model_name='cronometro', diff --git a/sapl/painel/migrations/0004_auto_20190603_1033.py b/sapl/painel/migrations/0004_auto_20190603_1033.py index 5a167e47c..c89f94c98 100644 --- a/sapl/painel/migrations/0004_auto_20190603_1033.py +++ b/sapl/painel/migrations/0004_auto_20190603_1033.py @@ -9,10 +9,9 @@ def create_default_cronometros(apps, schema_editor): tipos_default = ['Cronômetro do Discurso', 'Cronômetro do Aparte', 'Cronômetro da Ordem', 'Cronômetro de Considerações Finais'] Cronometro = apps.get_model('painel', 'Cronometro') - cont = 1 - for tipo in tipos_default: - Cronometro.objects.get_or_create(tipo=tipo, duracao_cronometro='00:30:00', status='S', ativo=True, ordenacao=cont) - cont += 1 + + for i,tipo in enumerate(tipos_default): + Cronometro.objects.get_or_create(tipo=tipo, duracao_cronometro='00:05:00', status='S', ativo=True, ordenacao=i+1) class Migration(migrations.Migration): diff --git a/sapl/painel/models.py b/sapl/painel/models.py index 0659b15a1..702fb00fe 100644 --- a/sapl/painel/models.py +++ b/sapl/painel/models.py @@ -44,9 +44,7 @@ class Cronometro(models.Model): choices=CRONOMETRO_STATUS, default='S') duracao_cronometro = models.DurationField( - verbose_name=_('Duração do cronômetro'), - blank=True, - null=True) + verbose_name=_('Duração do cronômetro')) tipo = models.CharField( max_length=100, verbose_name=_('Tipo Cronômetro'), diff --git a/sapl/painel/views.py b/sapl/painel/views.py index 4f066b79a..ba1f65493 100644 --- a/sapl/painel/views.py +++ b/sapl/painel/views.py @@ -24,11 +24,17 @@ from sapl.sessao.models import (ExpedienteMateria, OradorExpediente, OrdemDia, VotoParlamentar) from sapl.utils import filiacao_data, get_client_ip, sort_lista_chave +from .forms import CronometroForm from .models import Cronometro VOTACAO_NOMINAL = 2 -CronometroPainelCrud = CrudAux.build(Cronometro, '') +class CronometroPainelCrud(CrudAux): + model = Cronometro + + class BaseMixin(CrudAux.BaseMixin): + form_class = CronometroForm + # FIXME mudar lógica