Browse Source

Resolve registros de votação ambíguos

pull/2075/head
Marcio Mazza 7 years ago
parent
commit
86ac760c4f
  1. 32
      sapl/legacy/migracao_dados.py

32
sapl/legacy/migracao_dados.py

@ -513,9 +513,10 @@ def checa_registros_votacao_ambiguos_e_remove_nao_usados():
# interrompe migração se houver registros ambíguos
ambiguos = ordem.intersection(expediente)
assert not ambiguos, '''Existe(m) RegistroVotacao ambíguo(s): {}
Corrija os dados originais antes de migrar!'''.format(
ambiguos)
if ambiguos:
warn('registro_votacao_ambiguos',
'Existe(m) RegistroVotacao ambíguo(s): {cod_votacao}',
{'cod_votacao': ambiguos})
# exclui registros não usados (zumbis)
todos = set(primeira_coluna(exec_legado(
@ -1109,6 +1110,18 @@ def adjust_protocolo_antes_salvar(new, old):
{'cod_protocolo': old.cod_protocolo})
ARQUIVO_COMO_RESOLVER_REGISTRO_VOTACAO_AMBIGUO = \
'como_resolver_registro_votacao_ambiguo.yaml'
def get_como_resolver_registro_votacao_ambiguo():
path = DIR_REPO.child(ARQUIVO_COMO_RESOLVER_REGISTRO_VOTACAO_AMBIGUO)
if path.exists():
return yaml.load(path.read_file())
else:
return {}
def adjust_registrovotacao_antes_salvar(new, old):
ordem_dia = OrdemDia.objects.filter(
pk=old.cod_ordem, materia=old.cod_materia)
@ -1119,6 +1132,19 @@ def adjust_registrovotacao_antes_salvar(new, old):
new.ordem = ordem_dia[0]
if not ordem_dia and expediente_materia:
new.expediente = expediente_materia[0]
# registro de votação ambíguo
if ordem_dia and expediente_materia:
como_resolver = get_como_resolver_registro_votacao_ambiguo()
campo = como_resolver[new.id]
if campo.startswith('ordem'):
new.ordem = ordem_dia[0]
elif campo.startswith('expediente'):
new.expediente = expediente_materia[0]
else:
raise Exception('''
Registro de Votação ambíguo: {}
Resolva criando o arquivo {}'''.format(
new.id, ARQUIVO_COMO_RESOLVER_REGISTRO_VOTACAO_AMBIGUO))
def adjust_tipoafastamento(new, old):

Loading…
Cancel
Save