Browse Source

Fix #2665 - Tramitar matérias anexadas junto com as matérias anexadoras (#2674)

pull/2579/head
Cesar Augusto de Carvalho 6 years ago
committed by Cesar Carvalho
parent
commit
0ac3540066
  1. 19
      sapl/materia/views.py

19
sapl/materia/views.py

@ -3,6 +3,7 @@ import os
import shutil import shutil
import tempfile import tempfile
import weasyprint import weasyprint
import itertools
from datetime import datetime from datetime import datetime
from random import choice from random import choice
@ -2249,8 +2250,18 @@ class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
# issue https://github.com/interlegis/sapl/issues/1123 # issue https://github.com/interlegis/sapl/issues/1123
# TODO: usar Form # TODO: usar Form
urgente = request.POST['urgente'] == 'True' urgente = request.POST['urgente'] == 'True'
flag_error = False flag_error = False
for materia_id in marcadas:
materias_principais = [m for m in MateriaLegislativa.objects.filter(id__in=marcadas)]
materias_anexadas = [m.anexadas.all() for m in MateriaLegislativa.objects.filter(id__in=marcadas) if m.anexadas.all()]
materias_anexadas = list(itertools.chain.from_iterable(materias_anexadas))
tramitacao_local = int(request.POST['unidade_tramitacao_local'])
materias_anexadas = list(filter(lambda ma : not ma.tramitacao_set.all() or \
ma.tramitacao_set.last().unidade_tramitacao_destino.id == tramitacao_local,
materias_anexadas))
materias = set(materias_principais + materias_anexadas)
for materia in materias:
try: try:
data_tramitacao = tz.localize(datetime.strptime( data_tramitacao = tz.localize(datetime.strptime(
request.POST['data_tramitacao'], "%d/%m/%Y")) request.POST['data_tramitacao'], "%d/%m/%Y"))
@ -2260,7 +2271,7 @@ class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
return self.get(request, self.kwargs) return self.get(request, self.kwargs)
t = Tramitacao( t = Tramitacao(
materia_id=materia_id, materia=materia,
data_tramitacao=data_tramitacao, data_tramitacao=data_tramitacao,
data_encaminhamento=data_encaminhamento, data_encaminhamento=data_encaminhamento,
data_fim_prazo=data_fim_prazo, data_fim_prazo=data_fim_prazo,
@ -2294,7 +2305,7 @@ class PrimeiraTramitacaoEmLoteView(PermissionRequiredMixin, FilterView):
status = StatusTramitacao.objects.get(id=request.POST['status']) status = StatusTramitacao.objects.get(id=request.POST['status'])
for materia in MateriaLegislativa.objects.filter(id__in=marcadas): for materia in materias:
if status.indicador == 'F': if status.indicador == 'F':
materia.em_tramitacao = False materia.em_tramitacao = False
elif self.primeira_tramitacao: elif self.primeira_tramitacao:

Loading…
Cancel
Save