Browse Source

Fix 2754 - Tramita os anexados ao DocAdm principal

pull/2757/head
Cesar Carvalho 7 years ago
committed by João
parent
commit
16b1f68a98
  1. 17
      sapl/protocoloadm/forms.py
  2. 4
      sapl/protocoloadm/views.py

17
sapl/protocoloadm/forms.py

@ -7,7 +7,7 @@ from crispy_forms.layout import HTML, Button, Column, Fieldset, Layout, Div
from django import forms from django import forms
from django.core.exceptions import (MultipleObjectsReturned, from django.core.exceptions import (MultipleObjectsReturned,
ObjectDoesNotExist, ValidationError) ObjectDoesNotExist, ValidationError)
from django.db import models from django.db import models, transaction
from django.db.models import Max from django.db.models import Max
from django.forms import ModelForm from django.forms import ModelForm
from django.utils import timezone from django.utils import timezone
@ -745,6 +745,21 @@ class TramitacaoAdmForm(ModelForm):
return self.cleaned_data return self.cleaned_data
@transaction.atomic
def save(self, commit=True):
tramitacao = super(TramitacaoAdmForm, self).save(commit)
documento = tramitacao.documento
for da in documento.anexados.all():
if not da.tramitacaoadministrativo_set.all() \
or da.tramitacaoadministrativo_set.last() \
.unidade_tramitacao_destino == tramitacao.unidade_tramitacao_local:
tramitacao_nova = tramitacao
tramitacao_nova.pk = None
tramitacao_nova.documento = da
tramitacao_nova.save()
return tramitacao
class TramitacaoAdmEditForm(TramitacaoAdmForm): class TramitacaoAdmEditForm(TramitacaoAdmForm):

4
sapl/protocoloadm/views.py

@ -1103,6 +1103,10 @@ class TramitacaoAdmCrud(MasterDetailCrud):
form_class = TramitacaoAdmForm form_class = TramitacaoAdmForm
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
def get_success_url(self):
return reverse('sapl.protocoloadm:tramitacaoadministrativo_list', kwargs={
'pk': self.kwargs['pk']})
def get_initial(self): def get_initial(self):
initial = super(CreateView, self).get_initial() initial = super(CreateView, self).get_initial()
local = DocumentoAdministrativo.objects.get( local = DocumentoAdministrativo.objects.get(

Loading…
Cancel
Save