From df58837755abb87e558172fafb7ab7f7607fc48a Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Thu, 19 Oct 2017 16:16:12 -0200 Subject: [PATCH 1/2] Corrige PEP 8 --- sapl/base/forms.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 6043c6c37..b2063e6fe 100644 --- a/sapl/base/forms.py +++ b/sapl/base/forms.py @@ -643,7 +643,7 @@ class LoginForm(AuthenticationForm): class ConfiguracoesAppForm(ModelForm): mostrar_brasao_painel = forms.BooleanField( - help_text=_('Sugerimos fortemente que faça o upload de imagens com '\ + help_text=_('Sugerimos fortemente que faça o upload de imagens com ' 'o fundo transparente.'), label=_('Mostrar brasão da Casa no painel?'), required=False) @@ -652,7 +652,7 @@ class ConfiguracoesAppForm(ModelForm): model = AppConfig fields = ['documentos_administrativos', 'sequencia_numeracao', - #'painel_aberto', # TODO: a ser implementado na versão 3.2 + # 'painel_aberto', # TODO: a ser implementado na versão 3.2 'texto_articulado_proposicao', 'texto_articulado_materia', 'texto_articulado_norma', @@ -669,8 +669,8 @@ class ConfiguracoesAppForm(ModelForm): self.fields['cronometro_ordem'].widget.attrs['class'] = 'cronometro' def clean_mostrar_brasao_painel(self): - mostrar_brasao_painel = self.cleaned_data.get('mostrar_brasao_painel', - False) + mostrar_brasao_painel = self.cleaned_data.get( + 'mostrar_brasao_painel', False) casa = CasaLegislativa.objects.first() if not casa: From 5f11ca2da92e51c58bf5aa27e4ac7ef5fb2994b7 Mon Sep 17 00:00:00 2001 From: Marcio Mazza Date: Thu, 19 Oct 2017 16:13:47 -0200 Subject: [PATCH 2/2] =?UTF-8?q?Migra=20vincula=C3=A7=C3=A3o=20de=20autores?= =?UTF-8?q?=20que=20s=C3=A3o=20partidos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/legacy/migration.py | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/sapl/legacy/migration.py b/sapl/legacy/migration.py index b9e7765f4..230e25b30 100644 --- a/sapl/legacy/migration.py +++ b/sapl/legacy/migration.py @@ -4,8 +4,9 @@ from functools import lru_cache from subprocess import PIPE, call import pkg_resources -import reversion import yaml + +import reversion from django.apps import apps from django.apps.config import AppConfig from django.contrib.auth import get_user_model @@ -15,7 +16,6 @@ from django.core.exceptions import ObjectDoesNotExist from django.db import connections, transaction from django.db.models import Count, Max from django.db.models.base import ModelBase - from sapl.base.models import AppConfig as AppConf from sapl.base.models import (Autor, CasaLegislativa, ProblemaMigracao, TipoAutor) @@ -28,7 +28,7 @@ from sapl.materia.models import (AcompanhamentoMateria, Proposicao, from sapl.norma.models import (AssuntoNorma, NormaJuridica, NormaRelacionada, TipoVinculoNormaJuridica) from sapl.parlamentares.models import (Legislatura, Mandato, Parlamentar, - TipoAfastamento) + Partido, TipoAfastamento) from sapl.protocoloadm.models import (DocumentoAdministrativo, Protocolo, StatusTramitacaoAdministrativo) from sapl.sessao.models import ExpedienteMateria, OrdemDia, RegistroVotacao @@ -687,24 +687,28 @@ def adjust_normajuridica_depois_salvar(new, old): pass # ignora assuntos inexistentes -def adjust_autor(new, old): - if old.cod_parlamentar: +def vincula_autor(new, old, model_relacionado, campo_relacionado, campo_nome): + pk_rel = getattr(old, campo_relacionado) + if pk_rel: try: - new.autor_related = Parlamentar.objects.get(pk=old.cod_parlamentar) + new.autor_related = model_relacionado.objects.get(pk=pk_rel) except ObjectDoesNotExist: # ignoramos o autor órfão - raise ForeignKeyFaltando('Parlamentar inexiste para autor') + raise ForeignKeyFaltando('{} inexiste para autor'.format( + model_relacionado._meta.verbose_name)) else: - new.nome = new.autor_related.nome_parlamentar + new.nome = getattr(new.autor_related, campo_nome) + return True - elif old.cod_comissao: - try: - new.autor_related = Comissao.objects.get(pk=old.cod_comissao) - except ObjectDoesNotExist: - # ignoramos o autor órfão - raise ForeignKeyFaltando('Comissao inexiste para autor') - else: - new.nome = new.autor_related.nome + +def adjust_autor(new, old): + for args in [ + # essa ordem é importante + (Parlamentar, 'cod_parlamentar', 'nome_parlamentar'), + (Comissao, 'cod_comissao', 'nome'), + (Partido, 'cod_partido', 'nome')]: + if vincula_autor(new, old, *args): + break if old.col_username: user_model = get_user_model()