diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index 97e0ef9b4..f9731b3db 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -360,7 +360,7 @@ class TramitacaoForm(ModelForm): def __init__(self, *args, **kwargs): super(TramitacaoForm, self).__init__(*args, **kwargs) - self.fields['data_tramitacao'].initial = timezone.now().date() + self.fields['data_tramitacao'].initial = timezone.now() def clean(self): super(TramitacaoForm, self).clean() @@ -392,7 +392,7 @@ class TramitacaoForm(ModelForm): 'destino da última adicionada!') raise ValidationError(msg) - if cleaned_data['data_tramitacao'] > timezone.now().date(): + if cleaned_data['data_tramitacao'] > timezone.now(): msg = _( 'A data de tramitação deve ser ' + 'menor ou igual a data de hoje!') @@ -405,13 +405,13 @@ class TramitacaoForm(ModelForm): raise ValidationError(msg) if data_enc_form: - if data_enc_form < data_tram_form: + if data_enc_form < data_tram_form.date(): msg = _('A data de encaminhamento deve ser ' + 'maior que a data de tramitação!') raise ValidationError(msg) if data_prazo_form: - if data_prazo_form < data_tram_form: + if data_prazo_form < data_tram_form.date(): msg = _('A data fim de prazo deve ser ' + 'maior que a data de tramitação!') raise ValidationError(msg) @@ -424,7 +424,7 @@ class TramitacaoUpdateForm(TramitacaoForm): queryset=UnidadeTramitacao.objects.all(), widget=forms.HiddenInput()) - data_tramitacao = forms.DateField(widget=forms.HiddenInput()) + data_tramitacao = forms.DateTimeField(widget=forms.HiddenInput()) class Meta: model = Tramitacao diff --git a/sapl/materia/migrations/0029_auto_20180509_1722.py b/sapl/materia/migrations/0029_auto_20180509_1722.py new file mode 100644 index 000000000..820c28639 --- /dev/null +++ b/sapl/materia/migrations/0029_auto_20180509_1722.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.13 on 2018-05-09 20:22 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('materia', '0028_auto_20180418_1629'), + ] + + operations = [ + migrations.AlterField( + model_name='tramitacao', + name='data_tramitacao', + field=models.DateTimeField(verbose_name='Data Tramitação'), + ), + ] diff --git a/sapl/materia/models.py b/sapl/materia/models.py index 82aea25dd..64af634c3 100644 --- a/sapl/materia/models.py +++ b/sapl/materia/models.py @@ -904,7 +904,7 @@ class Tramitacao(models.Model): null=True, verbose_name=_('Status')) materia = models.ForeignKey(MateriaLegislativa, on_delete=models.CASCADE) - data_tramitacao = models.DateField(verbose_name=_('Data Tramitação')) + data_tramitacao = models.DateTimeField(verbose_name=_('Data Tramitação')) unidade_tramitacao_local = models.ForeignKey( UnidadeTramitacao, related_name='tramitacoes_origem', @@ -938,4 +938,4 @@ class Tramitacao(models.Model): return _('%(materia)s | %(status)s | %(data)s') % { 'materia': self.materia, 'status': self.status, - 'data': self.data_tramitacao.strftime("%d/%m/%Y")} + 'data': self.data_tramitacao.strftime("%d/%m/%Y/")} diff --git a/sapl/materia/tests/test_materia.py b/sapl/materia/tests/test_materia.py index 4af9df7ea..f41020f2d 100644 --- a/sapl/materia/tests/test_materia.py +++ b/sapl/materia/tests/test_materia.py @@ -1,4 +1,5 @@ import pytest +from datetime import datetime from django.contrib.auth import get_user_model from django.contrib.contenttypes.models import ContentType from django.core.files.uploadedfile import SimpleUploadedFile @@ -283,7 +284,7 @@ def test_tramitacao_submit(admin_client): 'Unidade Destino').pk, 'urgente': True, 'status': status_tramitacao.pk, - 'data_tramitacao': '2016-03-21', + 'data_tramitacao': '2016-03-21 00:00:00', 'data_fim_prazo': '2016-03-22', 'data_encaminhamento': '2016-03-22', 'texto': 'Texto_Teste', diff --git a/sapl/protocoloadm/forms.py b/sapl/protocoloadm/forms.py index 22e649459..4789465a9 100644 --- a/sapl/protocoloadm/forms.py +++ b/sapl/protocoloadm/forms.py @@ -546,7 +546,7 @@ class TramitacaoAdmForm(ModelForm): 'destino da última adicionada!') raise ValidationError(msg) - if self.cleaned_data['data_tramitacao'] > timezone.now().date(): + if self.cleaned_data['data_tramitacao'] > timezone.now(): msg = _( 'A data de tramitação deve ser ' + 'menor ou igual a data de hoje!') @@ -559,13 +559,13 @@ class TramitacaoAdmForm(ModelForm): raise ValidationError(msg) if data_enc_form: - if data_enc_form < data_tram_form: + if data_enc_form < data_tram_form.date(): msg = _('A data de encaminhamento deve ser ' + 'maior que a data de tramitação!') raise ValidationError(msg) if data_prazo_form: - if data_prazo_form < data_tram_form: + if data_prazo_form < data_tram_form.date(): msg = _('A data fim de prazo deve ser ' + 'maior que a data de tramitação!') raise ValidationError(msg) @@ -579,7 +579,7 @@ class TramitacaoAdmEditForm(TramitacaoAdmForm): queryset=UnidadeTramitacao.objects.all(), widget=forms.HiddenInput()) - data_tramitacao = forms.DateField(widget=forms.HiddenInput()) + data_tramitacao = forms.DateTimeField(widget=forms.HiddenInput()) class Meta: model = TramitacaoAdministrativo diff --git a/sapl/protocoloadm/migrations/0005_auto_20180509_1722.py b/sapl/protocoloadm/migrations/0005_auto_20180509_1722.py new file mode 100644 index 000000000..dd24f16b6 --- /dev/null +++ b/sapl/protocoloadm/migrations/0005_auto_20180509_1722.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.13 on 2018-05-09 20:22 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('protocoloadm', '0004_documentoadministrativo_numero_externo'), + ] + + operations = [ + migrations.AlterField( + model_name='tramitacaoadministrativo', + name='data_tramitacao', + field=models.DateTimeField(verbose_name='Data Tramitação'), + ), + ] diff --git a/sapl/protocoloadm/models.py b/sapl/protocoloadm/models.py index 1fd38e720..bc1c97d17 100644 --- a/sapl/protocoloadm/models.py +++ b/sapl/protocoloadm/models.py @@ -267,7 +267,7 @@ class TramitacaoAdministrativo(models.Model): verbose_name=_('Status')) documento = models.ForeignKey(DocumentoAdministrativo, on_delete=models.PROTECT) - data_tramitacao = models.DateField( + data_tramitacao = models.DateTimeField( verbose_name=_('Data Tramitação')) unidade_tramitacao_local = models.ForeignKey( UnidadeTramitacao, diff --git a/sapl/protocoloadm/tests/test_protocoloadm.py b/sapl/protocoloadm/tests/test_protocoloadm.py index f74c4dd7b..672c63fb9 100644 --- a/sapl/protocoloadm/tests/test_protocoloadm.py +++ b/sapl/protocoloadm/tests/test_protocoloadm.py @@ -1,4 +1,4 @@ -from datetime import date, timedelta +from datetime import date, timedelta, datetime import pytest from django.core.urlresolvers import reverse @@ -145,7 +145,7 @@ def test_create_tramitacao(admin_client): unidade_tramitacao_destino=unidade_tramitacao_destino_1, status=status, documento=documento_adm, - data_tramitacao=date(2016, 8, 21)) + data_tramitacao=datetime(2016, 8, 21, 0, 0)) response = admin_client.post( reverse( @@ -155,7 +155,7 @@ def test_create_tramitacao(admin_client): 'unidade_tramitacao_destino': unidade_tramitacao_local_1.pk, 'documento': documento_adm.pk, 'status': status.pk, - 'data_tramitacao': date(2016, 8, 21)}, + 'data_tramitacao': datetime(2016, 8, 21, 0, 0)}, follow=True) msg = force_text(_('A origem da nova tramitação deve ser igual ao ' @@ -173,7 +173,7 @@ def test_create_tramitacao(admin_client): 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk, 'documento': documento_adm.pk, 'status': status.pk, - 'data_tramitacao': date(2016, 8, 20)}, + 'data_tramitacao': datetime(2016, 8, 20, 0, 0)}, follow=True) msg = _('A data da nova tramitação deve ser ' + @@ -191,7 +191,7 @@ def test_create_tramitacao(admin_client): 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk, 'documento': documento_adm.pk, 'status': status.pk, - 'data_tramitacao': date.today() + timedelta( + 'data_tramitacao': datetime.today() + timedelta( days=1)}, follow=True) @@ -210,7 +210,7 @@ def test_create_tramitacao(admin_client): 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk, 'documento': documento_adm.pk, 'status': status.pk, - 'data_tramitacao': date(2016, 8, 21), + 'data_tramitacao': datetime(2016, 8, 21, 0, 0), 'data_encaminhamento': date(2016, 8, 20)}, follow=True) @@ -229,7 +229,7 @@ def test_create_tramitacao(admin_client): 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk, 'documento': documento_adm.pk, 'status': status.pk, - 'data_tramitacao': date(2016, 8, 21), + 'data_tramitacao': datetime(2016, 8, 21, 0, 0), 'data_fim_prazo': date(2016, 8, 20)}, follow=True) @@ -248,12 +248,12 @@ def test_create_tramitacao(admin_client): 'unidade_tramitacao_destino': unidade_tramitacao_destino_2.pk, 'documento': documento_adm.pk, 'status': status.pk, - 'data_tramitacao': date(2016, 8, 21)}, + 'data_tramitacao': datetime(2016, 8, 21, 0, 0)}, follow=True) tramitacao = TramitacaoAdministrativo.objects.last() # Verifica se a tramitacao que obedece as regras de negócios é criada - assert tramitacao.data_tramitacao == date(2016, 8, 21) + assert tramitacao.data_tramitacao.date() == date(2016, 8, 21) @pytest.mark.django_db(transaction=False)