From 7fcf9173478b4886de9e4368e5864cc44c6a9ce9 Mon Sep 17 00:00:00 2001 From: LeandroRoberto Date: Tue, 6 Mar 2018 09:53:59 -0300 Subject: [PATCH] =?UTF-8?q?ajusta=20campos=20timefield=20em=20reuni=C3=A3o?= =?UTF-8?q?=20de=20comiss=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/comissoes/forms.py | 24 ++++++++++-------- .../migrations/0010_auto_20180306_0918.py | 25 +++++++++++++++++++ sapl/comissoes/models.py | 15 +++++------ sapl/crispy_layout_mixin.py | 2 +- 4 files changed, 47 insertions(+), 19 deletions(-) create mode 100644 sapl/comissoes/migrations/0010_auto_20180306_0918.py diff --git a/sapl/comissoes/forms.py b/sapl/comissoes/forms.py index 642968190..33be2003d 100644 --- a/sapl/comissoes/forms.py +++ b/sapl/comissoes/forms.py @@ -10,7 +10,6 @@ from sapl.comissoes.models import Comissao, Composicao, Participacao, Reuniao from sapl.parlamentares.models import Legislatura, Mandato, Parlamentar - class ParticipacaoCreateForm(forms.ModelForm): parent_pk = forms.CharField(required=False) # widget=forms.HiddenInput()) @@ -71,7 +70,8 @@ class ParticipacaoCreateForm(forms.ModelForm): composicao = Composicao.objects.get(id=self.initial['parent_pk']) participantes = composicao.participacao_set.all() participantes_id = [p.parlamentar.id for p in participantes] - parlamentares = Parlamentar.objects.all().exclude(id__in=participantes_id).order_by('nome_completo') + parlamentares = Parlamentar.objects.all().exclude( + id__in=participantes_id).order_by('nome_completo') parlamentares = [p for p in parlamentares if p.ativo] lista = [] @@ -154,18 +154,20 @@ class ReuniaoForm(ModelForm): class Meta: model = Reuniao exclude = ['cod_andamento_reuniao'] + widgets = { + 'hora_fim': forms.TimeInput(format='%H:%M'), + 'hora_inicio': forms.TimeInput(format='%H:%M'), + } def clean(self): super(ReuniaoForm, self).clean() - if self.cleaned_data['hora_fim']: - if (self.cleaned_data['hora_fim'] < - self.cleaned_data['hora_inicio']): - msg = _('A hora de término da reunião não pode ser menor que a de início') - raise ValidationError(msg) - return self.cleaned_data - - - + if self.errors: + return + if self.cleaned_data['hora_fim'] < self.cleaned_data['hora_inicio']: + msg = _('A hora de término da reunião não pode ' + 'ser menor que a de início') + raise ValidationError(msg) + return self.cleaned_data diff --git a/sapl/comissoes/migrations/0010_auto_20180306_0918.py b/sapl/comissoes/migrations/0010_auto_20180306_0918.py new file mode 100644 index 000000000..b2dd48f87 --- /dev/null +++ b/sapl/comissoes/migrations/0010_auto_20180306_0918.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.13 on 2018-03-06 12:18 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('comissoes', '0009_auto_20180301_1011'), + ] + + operations = [ + migrations.AlterField( + model_name='reuniao', + name='hora_fim', + field=models.TimeField(verbose_name='Horário de Término (hh:mm)'), + ), + migrations.AlterField( + model_name='reuniao', + name='hora_inicio', + field=models.TimeField(verbose_name='Horário de Início (hh:mm)'), + ), + ] diff --git a/sapl/comissoes/models.py b/sapl/comissoes/models.py index 88dfaee22..882fe8638 100644 --- a/sapl/comissoes/models.py +++ b/sapl/comissoes/models.py @@ -1,7 +1,8 @@ -import reversion from django.db import models from django.utils.translation import ugettext_lazy as _ from model_utils import Choices +import reversion + from sapl.base.models import Autor from sapl.parlamentares.models import Parlamentar from sapl.utils import (YES_NO_CHOICES, SaplGenericRelation, @@ -213,19 +214,19 @@ class Reuniao(models.Model): tema = models.CharField( max_length=100, verbose_name=_('Tema da Reunião')) data = models.DateField(verbose_name=_('Data')) - hora_inicio = models.CharField( - max_length=5, verbose_name=_('Horário de Início (hh:mm)')) - hora_fim = models.CharField( - max_length=5, verbose_name=_('Horário de Término (hh:mm)')) + hora_inicio = models.TimeField( + verbose_name=_('Horário de Início (hh:mm)')) + hora_fim = models.TimeField( + verbose_name=_('Horário de Término (hh:mm)')) local_reuniao = models.CharField( max_length=100, blank=True, verbose_name=_('Local da Reunião')) observacao = models.TextField( max_length=150, blank=True, verbose_name=_('Observação')) url_audio = models.URLField( - max_length=150, blank=True, + max_length=150, blank=True, verbose_name=_('URL do Arquivo de Áudio (Formatos MP3 / AAC)')) url_video = models.URLField( - max_length=150, blank=True, + max_length=150, blank=True, verbose_name=_('URL do Arquivo de Vídeo (Formatos MP4 / FLV / WebM)')) upload_pauta = models.FileField( blank=True, null=True, diff --git a/sapl/crispy_layout_mixin.py b/sapl/crispy_layout_mixin.py index e582ba6c1..0adc1c679 100644 --- a/sapl/crispy_layout_mixin.py +++ b/sapl/crispy_layout_mixin.py @@ -96,7 +96,7 @@ def get_field_display(obj, fieldname): if value is None: display = '' - elif 'date' in str_type_from_value: + elif '.date' in str_type_from_value: display = formats.date_format(value, "SHORT_DATE_FORMAT") elif 'bool' in str_type_from_value: display = _('Sim') if value else _('Não')