From 329f621cdcbe844c122efe4725ef4710cde3d0ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o?= Date: Tue, 28 May 2019 14:00:08 -0300 Subject: [PATCH] =?UTF-8?q?Refatorar=20c=C3=B3d.=20que=20verifica=20altera?= =?UTF-8?q?=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/materia/views.py | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/sapl/materia/views.py b/sapl/materia/views.py index b19a5d412..5a8a880cd 100644 --- a/sapl/materia/views.py +++ b/sapl/materia/views.py @@ -1257,30 +1257,25 @@ class TramitacaoCrud(MasterDetailCrud): layout_key = 'TramitacaoUpdate' def form_valid(self, form): - objeto_antigo = Tramitacao.objects.get(pk=self.kwargs['pk']) + dict_objeto_antigo = Tramitacao.objects.get(pk=self.kwargs['pk']).__dict__ self.object = form.save() - objeto_novo = self.object + dict_objeto_novo = self.object.__dict__ user = self.request.user + atributos = [ + 'data_tramitacao', 'unidade_tramitacao_destino_id', 'status_id', 'texto', + 'data_encaminhamento', 'data_fim_prazo', 'urgente', 'turno' + ] + # Se não houve qualquer alteração em um dos dados, mantém o usuário e ip - if not( - objeto_antigo.data_tramitacao != objeto_novo.data_tramitacao or \ - objeto_antigo.unidade_tramitacao_destino != objeto_novo.unidade_tramitacao_destino or \ - objeto_antigo.status != objeto_novo.status or \ - objeto_antigo.texto != objeto_novo.texto or \ - objeto_antigo.data_encaminhamento != objeto_novo.data_encaminhamento or \ - objeto_antigo.data_fim_prazo != objeto_novo.data_fim_prazo or \ - objeto_antigo.urgente != objeto_novo.urgente or \ - objeto_antigo.turno != objeto_novo.turno - ): - self.object.user = objeto_antigo.user - self.object.ip = objeto_antigo.ip - else: - self.object.user = user - self.object.ip = get_client_ip(self.request) - self.object.save() + for atributo in atributos: + if dict_objeto_antigo[atributo] != dict_objeto_novo[atributo]: + self.object.user = user + self.object.ip = get_client_ip(self.request) + self.object.save() + break try: self.logger.debug("user=" + user.username + ". Tentando enviar Tramitacao (sender={}, post={}, request={}"