|
|
@ -7,7 +7,7 @@ from crispy_forms.layout import HTML, Button, Column, Fieldset, Layout, Div |
|
|
|
from django import forms |
|
|
|
from django.core.exceptions import (MultipleObjectsReturned, |
|
|
|
ObjectDoesNotExist, ValidationError) |
|
|
|
from django.db import models |
|
|
|
from django.db import models, transaction |
|
|
|
from django.db.models import Max |
|
|
|
from django.forms import ModelForm |
|
|
|
from django.utils import timezone |
|
|
@ -745,6 +745,32 @@ class TramitacaoAdmForm(ModelForm): |
|
|
|
|
|
|
|
return self.cleaned_data |
|
|
|
|
|
|
|
@transaction.atomic |
|
|
|
def save(self, commit=True): |
|
|
|
tramitacao = super(TramitacaoAdmForm, self).save(commit) |
|
|
|
documento = tramitacao.documento |
|
|
|
lista_tramitacao = [] |
|
|
|
for da in documento.anexados.all(): |
|
|
|
if not da.tramitacaoadministrativo_set.all() \ |
|
|
|
or da.tramitacaoadministrativo_set.last() \ |
|
|
|
.unidade_tramitacao_destino == tramitacao.unidade_tramitacao_local: |
|
|
|
lista_tramitacao.append(TramitacaoAdministrativo( |
|
|
|
status=tramitacao.status, |
|
|
|
documento=da, |
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
class TramitacaoAdmEditForm(TramitacaoAdmForm): |
|
|
|
|
|
|
|