diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index c6e429afe..f4ffb03a0 100644 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -563,7 +563,7 @@ def get_sessao_plenaria(sessao, casa): str(numeracao.numero_materia) + '/' + str( numeracao.ano_materia)) - turno, _ = get_turno(dic_expediente_materia, materia) + turno, _ = get_turno(dic_expediente_materia, materia, sessao.data_inicio) dic_expediente_materia["des_turno"] = turno @@ -666,7 +666,7 @@ def get_sessao_plenaria(sessao, casa): '/' + str(numeracao.ano_materia)) - turno, _ = get_turno(dic_votacao, materia) + turno, _ = get_turno(dic_votacao, materia, sessao.data_inicio) dic_votacao["des_turno"] = turno @@ -737,10 +737,12 @@ def get_sessao_plenaria(sessao, casa): lst_oradores) -def get_turno(dic, materia): +def get_turno(dic, materia, sessao_data_inicio): descricao_turno = ' ' descricao_tramitacao = ' ' - tramitacao = Tramitacao.objects.filter(materia=materia, turno__isnull=False + tramitacao = Tramitacao.objects.filter(materia=materia, + turno__isnull=False, + data_tramitacao__lte=sessao_data_inicio, ).exclude(turno__exact='' ).select_related( 'materia', @@ -1060,7 +1062,7 @@ def get_pauta_sessao(sessao, casa): elif autoria is None: dic_expediente_materia["nom_autor"] = 'Desconhecido' - turno, tramitacao = get_turno(dic_expediente_materia, materia) + turno, tramitacao = get_turno(dic_expediente_materia, materia, sessao.data_inicio) dic_expediente_materia["des_turno"] = turno dic_expediente_materia["des_situacao"] = tramitacao @@ -1109,7 +1111,7 @@ def get_pauta_sessao(sessao, casa): elif autoria is None: dic_votacao["nom_autor"] = 'Desconhecido' - turno, tramitacao = get_turno(dic_expediente_materia, materia) + turno, tramitacao = get_turno(dic_expediente_materia, materia, sessao.data_inicio) dic_votacao["des_turno"] = turno dic_votacao["des_situacao"] = tramitacao lst_votacao.append(dic_votacao) diff --git a/sapl/sessao/views.py b/sapl/sessao/views.py index a633cead0..cdbd0a18d 100644 --- a/sapl/sessao/views.py +++ b/sapl/sessao/views.py @@ -157,7 +157,7 @@ def abrir_votacao(request, pk, spk): reverse('sapl.sessao:' + redirect_url, kwargs={'pk': spk})) -def customize_link_materia(context): +def customize_link_materia(context, pk): for i, row in enumerate(context['rows']): materia = context['object_list'][i].materia url_materia = reverse('sapl.materia:materialegislativa_detail', @@ -168,7 +168,11 @@ def customize_link_materia(context): autor = autoria.autor if autoria else None num_protocolo = materia.numero_protocolo - tramitacao = Tramitacao.objects.filter(materia=materia, turno__isnull=False + data_inicio_sessao = SessaoPlenaria.objects.get(id=pk).data_inicio + + tramitacao = Tramitacao.objects.filter(materia=materia, + turno__isnull=False, + data_tramitacao__lte=data_inicio_sessao ).exclude(turno__exact='' ).select_related( 'materia', @@ -179,7 +183,7 @@ def customize_link_materia(context): turno = ' ' if tramitacao is not None: for t in Tramitacao.TURNO_CHOICES: - if t[0] == tramitacao.turno: + if t[0] == tramitacao.turno: turno = t[1] break @@ -265,8 +269,7 @@ class MateriaOrdemDiaCrud(MasterDetailCrud): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - - return customize_link_materia(context) + return customize_link_materia(context, self.kwargs['pk']) def get_rows(self, object_list): for obj in object_list: @@ -397,7 +400,7 @@ class ExpedienteMateriaCrud(MasterDetailCrud): def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) - return customize_link_materia(context) + return customize_link_materia(context, self.kwargs['pk']) def get_rows(self, object_list): for obj in object_list: