|
|
@ -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): |
|
|
|