Browse Source

Ajusta problema de objetos marcados pra exclusão

Signed-off-by: Luciano Almeida <mdiebr@gmail.com>
pull/827/head
Luciano Almeida 8 years ago
parent
commit
41674d7232
  1. 32
      sapl/legacy/migration.py

32
sapl/legacy/migration.py

@ -12,8 +12,8 @@ from django.db.models.base import ModelBase
from model_mommy import mommy from model_mommy import mommy
from model_mommy.mommy import foreign_key_required, make from model_mommy.mommy import foreign_key_required, make
from sapl.base.models import Autor, ProblemaMigracao, TipoAutor from sapl.base.models import Autor, ProblemaMigracao
from sapl.comissoes.models import Composicao, Participacao from sapl.comissoes.models import Comissao, Composicao, Participacao
from sapl.materia.models import (Proposicao, StatusTramitacao, TipoDocumento, from sapl.materia.models import (Proposicao, StatusTramitacao, TipoDocumento,
TipoMateriaLegislativa, TipoProposicao, TipoMateriaLegislativa, TipoProposicao,
Tramitacao) Tramitacao)
@ -338,16 +338,18 @@ class DataMigrator:
self._do_migrate(obj) self._do_migrate(obj)
# exclude logically deleted in legacy base # exclude logically deleted in legacy base
info('Deletando models com ind_excluido...') info('Deletando models com ind_excluido...')
for obj in self.to_delete: while self.to_delete:
try: for obj in self.to_delete:
obj.delete() try:
except ProtectedError: obj.delete()
msg = 'A entrada de PK %s da model %s não pode ser excluida' %\ self.to_delete.remove(obj)
(obj.pk, obj._meta.model_name) except ProtectedError:
descricao = 'Um ou mais objetos protegidos ' msg = 'A entrada de PK %s da model %s não pode ser ' \
warn(msg + ' => ' + descricao) 'excluida' % (obj.pk, obj._meta.model_name)
save_relation(obj=obj, problema=msg, descricao = 'Um ou mais objetos protegidos '
descricao=descricao, eh_stub=False) warn(msg + ' => ' + descricao)
save_relation(obj=obj, problema=msg,
descricao=descricao, eh_stub=False)
info('Deletando stubs desnecessários...') info('Deletando stubs desnecessários...')
while self.delete_stubs(): while self.delete_stubs():
@ -532,7 +534,11 @@ def adjust_normajuridica_depois_salvar(new, old):
def adjust_autor(new, old): def adjust_autor(new, old):
new.autor_related = TipoAutor.objects.get(pk=old.tip_autor) if old.cod_parlamentar:
new.autor_related = Parlamentar.objects.get(pk=old.cod_parlamentar)
elif old.cod_comissao:
new.autor_related = Comissao.objects.get(pk=old.cod_comissao)
if old.col_username: if old.col_username:
if not User.objects.filter(username=old.col_username).exists(): if not User.objects.filter(username=old.col_username).exists():
user = User(username=old.col_username, password=12345) user = User(username=old.col_username, password=12345)

Loading…
Cancel
Save