|
@ -1256,18 +1256,29 @@ class TramitacaoCrud(MasterDetailCrud): |
|
|
|
|
|
|
|
|
layout_key = 'TramitacaoUpdate' |
|
|
layout_key = 'TramitacaoUpdate' |
|
|
|
|
|
|
|
|
def get_initial(self): |
|
|
|
|
|
initial = super(UpdateView, self).get_initial() |
|
|
|
|
|
initial['ip'] = get_client_ip(self.request) |
|
|
|
|
|
initial['user'] = self.request.user |
|
|
|
|
|
return initial |
|
|
|
|
|
|
|
|
|
|
|
def form_valid(self, form): |
|
|
def form_valid(self, form): |
|
|
|
|
|
dict_objeto_antigo = Tramitacao.objects.get(pk=self.kwargs['pk']).__dict__ |
|
|
|
|
|
|
|
|
self.object = form.save() |
|
|
self.object = form.save() |
|
|
username = self.request.user.username |
|
|
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 |
|
|
|
|
|
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: |
|
|
try: |
|
|
self.logger.debug("user=" + username + ". Tentando enviar Tramitacao (sender={}, post={}, request={}" |
|
|
self.logger.debug("user=" + user.username + ". Tentando enviar Tramitacao (sender={}, post={}, request={}" |
|
|
.format(Tramitacao, self.object, self.request)) |
|
|
.format(Tramitacao, self.object, self.request)) |
|
|
tramitacao_signal.send(sender=Tramitacao, |
|
|
tramitacao_signal.send(sender=Tramitacao, |
|
|
post=self.object, |
|
|
post=self.object, |
|
@ -1276,7 +1287,7 @@ class TramitacaoCrud(MasterDetailCrud): |
|
|
msg = _('Tramitação atualizada, mas e-mail de acompanhamento ' |
|
|
msg = _('Tramitação atualizada, mas e-mail de acompanhamento ' |
|
|
'de matéria não enviado. Há problemas na configuração ' |
|
|
'de matéria não enviado. Há problemas na configuração ' |
|
|
'do e-mail.') |
|
|
'do e-mail.') |
|
|
self.logger.warning('user=' + username + '. Tramitação atualizada, mas e-mail de acompanhamento ' |
|
|
self.logger.warning('user=' + user.username + '. Tramitação atualizada, mas e-mail de acompanhamento ' |
|
|
'de matéria não enviado. Há problemas na configuração ' |
|
|
'de matéria não enviado. Há problemas na configuração ' |
|
|
'do e-mail.') |
|
|
'do e-mail.') |
|
|
messages.add_message(self.request, messages.WARNING, msg) |
|
|
messages.add_message(self.request, messages.WARNING, msg) |
|
|