|
|
@ -20,7 +20,7 @@ from sapl.base.models import AppConfig |
|
|
from sapl.compilacao.views import IntegracaoTaView |
|
|
from sapl.compilacao.views import IntegracaoTaView |
|
|
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, |
|
|
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, |
|
|
MasterDetailCrud, make_pagination) |
|
|
MasterDetailCrud, make_pagination) |
|
|
from sapl.utils import show_results_filter_set |
|
|
from sapl.utils import show_results_filter_set, get_client_ip |
|
|
|
|
|
|
|
|
from .forms import (AnexoNormaJuridicaForm, NormaFilterSet, NormaJuridicaForm, |
|
|
from .forms import (AnexoNormaJuridicaForm, NormaFilterSet, NormaJuridicaForm, |
|
|
NormaPesquisaSimplesForm, NormaRelacionadaForm, AutoriaNormaForm) |
|
|
NormaPesquisaSimplesForm, NormaRelacionadaForm, AutoriaNormaForm) |
|
|
@ -217,20 +217,24 @@ class NormaCrud(Crud): |
|
|
return self.search_url |
|
|
return self.search_url |
|
|
|
|
|
|
|
|
def get_initial(self): |
|
|
def get_initial(self): |
|
|
username = self.request.user.username |
|
|
initial = super().get_initial() |
|
|
|
|
|
|
|
|
|
|
|
initial['user'] = self.request.user |
|
|
|
|
|
initial['ip'] = get_client_ip(self.request) |
|
|
|
|
|
|
|
|
|
|
|
username = self.request.user.username |
|
|
try: |
|
|
try: |
|
|
self.logger.debug( |
|
|
self.logger.debug( |
|
|
'user=' + username + '. Tentando obter objeto de modelo da esfera da federação.') |
|
|
'user=' + username + '. Tentando obter objeto de modelo da esfera da federação.') |
|
|
esfera = sapl.base.models.AppConfig.objects.last( |
|
|
esfera = sapl.base.models.AppConfig.objects.last( |
|
|
).esfera_federacao |
|
|
).esfera_federacao |
|
|
self.initial['esfera_federacao'] = esfera |
|
|
initial['esfera_federacao'] = esfera |
|
|
except: |
|
|
except: |
|
|
self.logger.error( |
|
|
self.logger.error( |
|
|
'user=' + username + '. Erro ao obter objeto de modelo da esfera da federação.') |
|
|
'user=' + username + '. Erro ao obter objeto de modelo da esfera da federação.') |
|
|
pass |
|
|
pass |
|
|
self.initial['complemento'] = False |
|
|
initial['complemento'] = False |
|
|
return self.initial |
|
|
return initial |
|
|
|
|
|
|
|
|
layout_key = 'NormaJuridicaCreate' |
|
|
layout_key = 'NormaJuridicaCreate' |
|
|
|
|
|
|
|
|
@ -249,7 +253,7 @@ class NormaCrud(Crud): |
|
|
layout_key = 'NormaJuridicaCreate' |
|
|
layout_key = 'NormaJuridicaCreate' |
|
|
|
|
|
|
|
|
def get_initial(self): |
|
|
def get_initial(self): |
|
|
initial = super(UpdateView, self).get_initial() |
|
|
initial = super().get_initial() |
|
|
norma = NormaJuridica.objects.get(id=self.kwargs['pk']) |
|
|
norma = NormaJuridica.objects.get(id=self.kwargs['pk']) |
|
|
if norma.materia: |
|
|
if norma.materia: |
|
|
initial['tipo_materia'] = norma.materia.tipo |
|
|
initial['tipo_materia'] = norma.materia.tipo |
|
|
@ -258,6 +262,30 @@ class NormaCrud(Crud): |
|
|
initial['esfera_federacao'] = norma.esfera_federacao |
|
|
initial['esfera_federacao'] = norma.esfera_federacao |
|
|
return initial |
|
|
return initial |
|
|
|
|
|
|
|
|
|
|
|
def form_valid(self, form): |
|
|
|
|
|
dict_objeto_antigo = NormaJuridica.objects.get( |
|
|
|
|
|
pk=self.kwargs['pk'] |
|
|
|
|
|
).__dict__ |
|
|
|
|
|
|
|
|
|
|
|
self.object = form.save() |
|
|
|
|
|
dict_objeto_novo = self.object.__dict__ |
|
|
|
|
|
|
|
|
|
|
|
atributos = ['tipo_id', 'numero', 'ano', 'data', 'esfera_federacao', |
|
|
|
|
|
'complemento', 'materia_id', 'numero', |
|
|
|
|
|
'data_publicacao', 'data_vigencia', |
|
|
|
|
|
'veiculo_publicacao', 'pagina_inicio_publicacao', |
|
|
|
|
|
'pagina_fim_publicacao', 'ementa', 'indexacao', |
|
|
|
|
|
'observacao', 'texto_integral'] |
|
|
|
|
|
|
|
|
|
|
|
for atributo in atributos: |
|
|
|
|
|
if dict_objeto_antigo[atributo] != dict_objeto_novo[atributo]: |
|
|
|
|
|
self.object.user = self.request.user |
|
|
|
|
|
self.object.ip = get_client_ip(self.request) |
|
|
|
|
|
self.object.save() |
|
|
|
|
|
break |
|
|
|
|
|
|
|
|
|
|
|
return super().form_valid(form) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def recuperar_norma(request): |
|
|
def recuperar_norma(request): |
|
|
logger = logging.getLogger(__name__) |
|
|
logger = logging.getLogger(__name__) |
|
|
|