Browse Source

Relaxa data de norma e simplifica migração

pull/1663/head
Marcio Mazza 7 years ago
parent
commit
79ccb166ab
  1. 40
      sapl/legacy/migration.py
  2. 20
      sapl/norma/migrations/0011_auto_20180220_1859.py
  3. 3
      sapl/norma/models.py

40
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,
}

20
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'),
),
]

3
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(

Loading…
Cancel
Save