From 04e313ed18d9ff1df126dea0bdd05b067833ad6c Mon Sep 17 00:00:00 2001 From: Cesar Carvalho Date: Thu, 4 Jul 2019 17:33:53 -0300 Subject: [PATCH] =?UTF-8?q?Verifica=20se=20assuntos=20s=C3=A3o=20diferente?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/norma/views.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sapl/norma/views.py b/sapl/norma/views.py index 9c9dbf998..8d9a62eaa 100644 --- a/sapl/norma/views.py +++ b/sapl/norma/views.py @@ -263,10 +263,14 @@ class NormaCrud(Crud): return initial def form_valid(self, form): - dict_objeto_antigo = NormaJuridica.objects.get( + norma_antiga = NormaJuridica.objects.get( pk=self.kwargs['pk'] - ).__dict__ - + ) + + # Feito desta forma para que sejam materializados os assuntos antigos + assuntos_antigos = set(norma_antiga.assuntos.all()) + + dict_objeto_antigo = norma_antiga.__dict__ self.object = form.save() dict_objeto_novo = self.object.__dict__ @@ -283,6 +287,13 @@ class NormaCrud(Crud): self.object.ip = get_client_ip(self.request) self.object.save() break + + # Campo Assuntos não veio no __dict__, então é comparado separadamente + assuntos_novos = set(self.object.assuntos.all()) + if assuntos_antigos != assuntos_novos: + self.object.user = self.request.user + self.object.ip = get_client_ip(self.request) + self.object.save() return super().form_valid(form)