Browse Source

Otimiza criação das tramitações anexadas

pull/2757/head
Cesar Carvalho 7 years ago
parent
commit
bcaa5283e1
  1. 20
      sapl/materia/forms.py
  2. 23
      sapl/protocoloadm/forms.py

20
sapl/materia/forms.py

@ -553,13 +553,25 @@ class TramitacaoForm(ModelForm):
def save(self, commit=True): def save(self, commit=True):
tramitacao = super(TramitacaoForm, self).save(commit) tramitacao = super(TramitacaoForm, self).save(commit)
materia = tramitacao.materia materia = tramitacao.materia
lista_tramitacao = []
for ma in materia.anexadas.all(): for ma in materia.anexadas.all():
if not ma.tramitacao_set.all() \ if not ma.tramitacao_set.all() \
or ma.tramitacao_set.last().unidade_tramitacao_destino == tramitacao.unidade_tramitacao_local: or ma.tramitacao_set.last().unidade_tramitacao_destino == tramitacao.unidade_tramitacao_local:
tramitacao_nova = tramitacao lista_tramitacao.append(Tramitacao(
tramitacao_nova.pk = None status=tramitacao.status,
tramitacao_nova.materia = ma materia=ma,
tramitacao_nova.save() data_tramitacao=tramitacao.data_tramitacao,
unidade_tramitacao_local=tramitacao.unidade_tramitacao_local,
data_encaminhamento=tramitacao.data_encaminhamento,
unidade_tramitacao_destino=tramitacao.unidade_tramitacao_destino,
urgente=tramitacao.urgente,
turno=tramitacao.turno,
texto=tramitacao.texto,
data_fim_prazo=tramitacao.data_fim_prazo,
user=tramitacao.user,
ip=tramitacao.ip
))
Tramitacao.objects.bulk_create(lista_tramitacao)
return tramitacao return tramitacao

23
sapl/protocoloadm/forms.py

@ -749,14 +749,25 @@ class TramitacaoAdmForm(ModelForm):
def save(self, commit=True): def save(self, commit=True):
tramitacao = super(TramitacaoAdmForm, self).save(commit) tramitacao = super(TramitacaoAdmForm, self).save(commit)
documento = tramitacao.documento documento = tramitacao.documento
lista_tramitacao = []
for da in documento.anexados.all(): for da in documento.anexados.all():
if not da.tramitacaoadministrativo_set.all() \ if not da.tramitacaoadministrativo_set.all() \
or da.tramitacaoadministrativo_set.last() \ or da.tramitacaoadministrativo_set.last() \
.unidade_tramitacao_destino == tramitacao.unidade_tramitacao_local: .unidade_tramitacao_destino == tramitacao.unidade_tramitacao_local:
tramitacao_nova = tramitacao lista_tramitacao.append(TramitacaoAdministrativo(
tramitacao_nova.pk = None status=tramitacao.status,
tramitacao_nova.documento = da documento=da,
tramitacao_nova.save() data_tramitacao=tramitacao.data_tramitacao,
unidade_tramitacao_local=tramitacao.unidade_tramitacao_local,
data_encaminhamento=tramitacao.data_encaminhamento,
unidade_tramitacao_destino=tramitacao.unidade_tramitacao_destino,
urgente=tramitacao.urgente,
texto=tramitacao.texto,
data_fim_prazo=tramitacao.data_fim_prazo,
user=tramitacao.user,
ip=tramitacao.ip
))
TramitacaoAdministrativo.objects.bulk_create(lista_tramitacao)
return tramitacao return tramitacao

Loading…
Cancel
Save