Browse Source

Refatorar cód. que verifica alterações

pull/2797/head
João 7 years ago
parent
commit
6c0362420f
  1. 55
      sapl/materia/views.py

55
sapl/materia/views.py

@ -1622,43 +1622,28 @@ class MateriaLegislativaCrud(Crud):
form_class = MateriaLegislativaForm form_class = MateriaLegislativaForm
def form_valid(self, form): def form_valid(self, form):
objeto_antigo = MateriaLegislativa.objects.get(pk=self.kwargs['pk']) dict_objeto_antigo = MateriaLegislativa.objects.get(
pk=self.kwargs['pk']
).__dict__
self.object = form.save() self.object = form.save()
objeto_novo = self.object dict_objeto_novo = self.object.__dict__
if not( atributos = [
objeto_antigo.tipo != objeto_novo.tipo or \ 'tipo_id', 'ano', 'numero', 'data_apresentacao', 'numero_protocolo',
objeto_antigo.ano != objeto_novo.ano or \ 'tipo_apresentacao', 'texto_original', 'apelido', 'dias_prazo', 'polemica',
objeto_antigo.numero != objeto_novo.numero or \ 'objeto', 'regime_tramitacao_id', 'em_tramitacao', 'data_fim_prazo',
objeto_antigo.data_apresentacao != objeto_novo.data_apresentacao or \ 'data_publicacao', 'complementar', 'tipo_origem_externa_id',
objeto_antigo.numero_protocolo != objeto_novo.numero_protocolo or \ 'numero_origem_externa', 'ano_origem_externa', 'local_origem_externa_id',
objeto_antigo.tipo_apresentacao != objeto_novo.tipo_apresentacao or \ 'data_origem_externa', 'ementa', 'indexacao', 'observacao'
objeto_antigo.texto_original != objeto_novo.texto_original or \ ]
objeto_antigo.apelido != objeto_novo.apelido or \
objeto_antigo.dias_prazo != objeto_novo.dias_prazo or \ for atributo in atributos:
objeto_antigo.polemica != objeto_novo.polemica or \ if dict_objeto_antigo[atributo] != dict_objeto_novo[atributo]:
objeto_antigo.objeto != objeto_novo.objeto or \ self.object.user = self.request.user
objeto_antigo.regime_tramitacao != objeto_novo.regime_tramitacao or \ self.object.ip = get_client_ip(self.request)
objeto_antigo.em_tramitacao != objeto_novo.em_tramitacao or \ self.object.save()
objeto_antigo.data_fim_prazo != objeto_novo.data_fim_prazo or \ break
objeto_antigo.data_publicacao != objeto_novo.data_publicacao or \
objeto_antigo.complementar != objeto_novo.complementar or \
objeto_antigo.tipo_origem_externa != objeto_novo.tipo_origem_externa or \
objeto_antigo.numero_origem_externa != objeto_novo.numero_origem_externa or \
objeto_antigo.ano_origem_externa != objeto_novo.ano_origem_externa or \
objeto_antigo.local_origem_externa != objeto_novo.local_origem_externa or \
objeto_antigo.data_origem_externa != objeto_novo.data_origem_externa or \
objeto_antigo.ementa != objeto_novo.ementa or \
objeto_antigo.indexacao != objeto_novo.indexacao or \
objeto_antigo.observacao != objeto_novo.observacao
):
self.object.user = objeto_antigo.user
self.object.ip = objeto_antigo.ip
else:
self.object.user = self.request.user
self.object.ip = get_client_ip(self.request)
self.object.save()
if Anexada.objects.filter(materia_principal=self.kwargs['pk']).exists(): if Anexada.objects.filter(materia_principal=self.kwargs['pk']).exists():
materia = MateriaLegislativa.objects.get(pk=self.kwargs['pk']) materia = MateriaLegislativa.objects.get(pk=self.kwargs['pk'])

Loading…
Cancel
Save