diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py index 9b4caff8e..e5d98147b 100644 --- a/sapl/legacy/migration.py +++ b/sapl/legacy/migration.py @@ -567,7 +567,6 @@ class DataMigrator: def __init__(self): self.field_renames, self.model_renames = get_renames() - self.data_mudada = {} self.choice_valida = {} # configura timezone de migração @@ -602,23 +601,7 @@ class DataMigrator: setattr(new, fk_field_name, value) else: value = getattr(old, old_field_name) - # TODO rever esse DateField após as mudança para datas com - # timezone - if field_type == 'DateField' and \ - not field.null and value is None: - # TODO REVER ISSO - descricao = 'A data 1111-11-11 foi colocada no lugar' - problema = 'O valor da data era nulo ou inválido' - warn("O valor do campo %s (%s) do model %s " - "era inválido => %s" % ( - field.name, field_type, - field.model.__name__, descricao)) - value = date(1111, 11, 11) - self.data_mudada['obj'] = new - self.data_mudada['descricao'] = descricao - self.data_mudada['problema'] = problema - self.data_mudada.setdefault('nome_campo', []).\ - append(field.name) + if (field_type in ['CharField', 'TextField'] and value in [None, 'None']): value = '' @@ -752,12 +735,6 @@ class DataMigrator: if ajuste_depois_salvar: ajuste_depois_salvar(new, old) - if self.data_mudada: - with reversion.create_revision(): - save_relation(**self.data_mudada) - self.data_mudada.clear() - reversion.set_comment( - 'Ajuste de data pela migração') # reinicia sequence if deve_ajustar_sequence_ao_final: last_pk = get_last_pk(model) @@ -871,20 +848,6 @@ def adjust_proposicao_antes_salvar(new, old): new.ano = new.data_envio.year -def adjust_proposicao_depois_salvar(new, old): - if not hasattr(old.dat_envio, 'year') or old.dat_envio.year == 1800: - msg = "O valor do campo data_envio (DateField) da model Proposicao"\ - " era inválido" - descricao = 'A data 1111-11-11 foi colocada no lugar' - problema = 'O valor da data era nulo ou inválido' - warn(msg + ' => ' + descricao) - new.data_envio = date(1111, 11, 11) - with reversion.create_revision(): - save_relation(obj=new, problema=problema, - descricao=descricao, eh_stub=False) - reversion.set_comment('Ajuste de data pela migração') - - def adjust_normarelacionada(new, old): tipo = TipoVinculoNormaJuridica.objects.filter(sigla=old.tip_vinculo) assert len(tipo) == 1 @@ -1079,7 +1042,6 @@ AJUSTE_ANTES_SALVAR = { AJUSTE_DEPOIS_SALVAR = { NormaJuridica: adjust_normajuridica_depois_salvar, OrdemDia: adjust_ordemdia_depois_salvar, - Proposicao: adjust_proposicao_depois_salvar, Protocolo: adjust_protocolo_depois_salvar, RegistroVotacao: adjust_registrovotacao_depois_salvar, } diff --git a/sapl/norma/migrations/0011_auto_20180220_1859.py b/sapl/norma/migrations/0011_auto_20180220_1859.py new file mode 100644 index 000000000..a5a101918 --- /dev/null +++ b/sapl/norma/migrations/0011_auto_20180220_1859.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.13 on 2018-02-20 21:59 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('norma', '0010_auto_20180103_1343'), + ] + + operations = [ + migrations.AlterField( + model_name='normajuridica', + name='data', + field=models.DateField(null=True, verbose_name='Data'), + ), + ] diff --git a/sapl/norma/models.py b/sapl/norma/models.py index 589d61adf..b045ea1f9 100644 --- a/sapl/norma/models.py +++ b/sapl/norma/models.py @@ -4,6 +4,7 @@ from django.db import models from django.template import defaultfilters from django.utils.translation import ugettext_lazy as _ from model_utils import Choices + from sapl.compilacao.models import TextoArticulado from sapl.materia.models import MateriaLegislativa from sapl.utils import (RANGE_ANOS, YES_NO_CHOICES, @@ -94,7 +95,7 @@ class NormaJuridica(models.Model): max_length=1, verbose_name=_('Esfera Federação'), choices=ESFERA_FEDERACAO_CHOICES) - data = models.DateField(verbose_name=_('Data')) + data = models.DateField(blank=False, null=True, verbose_name=_('Data')) data_publicacao = models.DateField( blank=True, null=True, verbose_name=_('Data Publicação')) veiculo_publicacao = models.CharField(