From 81590282a7cd1c42e8ef37683f4cd8446ce79387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ses=C3=B3stris=20Vieira?= Date: Wed, 6 Dec 2023 11:24:18 -0300 Subject: [PATCH] =?UTF-8?q?Melhorias=20na=20listagem=20de=20=C3=93rgaos=20?= =?UTF-8?q?Atendidos.=20Gertiq=20#160529?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/servicos/casas_atendidas.html | 48 +++++++++++++++++-- sigi/apps/servicos/views.py | 18 ++++++- 2 files changed, 61 insertions(+), 5 deletions(-) diff --git a/sigi/apps/servicos/templates/servicos/casas_atendidas.html b/sigi/apps/servicos/templates/servicos/casas_atendidas.html index e9ac877..f904987 100644 --- a/sigi/apps/servicos/templates/servicos/casas_atendidas.html +++ b/sigi/apps/servicos/templates/servicos/casas_atendidas.html @@ -5,6 +5,13 @@ + {% trans "Órgãos Legislativos atendidos pelo Interlegis" %} @@ -100,6 +107,7 @@
{% if srv.casa_legislativa.convenio_set.all %} +
{% trans "Convênios" %}
@@ -136,12 +144,43 @@
{% endif %} + {% if srv.casa_legislativa.oficinas %} +
{% trans "Oficinas realizadas" %}
+
+ + + + + + + {% for oficina in srv.casa_legislativa.oficinas %} + + + + + + {% endfor %} +
{% trans "Período" %}{% trans "Nome" %}{% trans "Participantes" %}
+ {% blocktranslate with inicio=oficina.data_inicio|date:"SHORT_DATE_FORMAT" termino=oficina.data_termino|date:"SHORT_DATE_FORMAT" %} + {{ inicio }} a {{ termino}} + {% endblocktranslate %} + {{ oficina.nome }}{{ oficina.total_participantes|default:"-" }}
+
+ {% endif %} + +
{% trans "Serviços Interlegis" %}
+ + + + + + + - - - + {% endifchanged %} @@ -154,6 +193,9 @@

-

{% endif %} + + + {% endfor %}
{% trans "Tipo de serviço" %}{% trans "Data de instalação" %}{% trans "URL de acesso" %}{% trans "Última verificação" %}{% trans "Última utilização" %}
{% trans "Tipo de serviço" %}{% trans "Data de instalação" %}{% trans "URL de acesso" %}{% trans "Data" %} + {% trans "Resultado" %}
{{ srv.data_verificacao|default:"-" }}{{ srv.get_resultado_verificacao_display }}{{ srv.data_ultimo_uso|default:"-" }}
diff --git a/sigi/apps/servicos/views.py b/sigi/apps/servicos/views.py index ce9c2b8..caadb6a 100644 --- a/sigi/apps/servicos/views.py +++ b/sigi/apps/servicos/views.py @@ -1,5 +1,5 @@ import csv -from django.db.models import Q +from django.db.models import Q, Prefetch from django.http import HttpResponse from django.shortcuts import render from django.utils.translation import gettext as _ @@ -9,6 +9,7 @@ from import_export import resources from import_export.fields import Field from sigi.apps.casas.models import Orgao from sigi.apps.contatos.models import UnidadeFederativa +from sigi.apps.eventos.models import Evento from sigi.apps.servicos.models import Servico from sigi.apps.utils import to_ascii @@ -48,6 +49,12 @@ class CasasAtendidasListView(ListView): param = self.kwargs["param"] search_param = self.request.GET.get("search", None) + oficinas_qs = ( + Evento.objects.exclude(data_inicio=None) + .exclude(data_termino=None) + .filter(status=Evento.STATUS_REALIZADO) + ) + queryset = super().get_queryset() queryset = ( queryset.filter( @@ -60,7 +67,14 @@ class CasasAtendidasListView(ListView): "casa_legislativa__municipio__uf", "casa_legislativa__tipo", ) - .prefetch_related("casa_legislativa__convenio_set") + .prefetch_related( + "casa_legislativa__convenio_set", + Prefetch( + "casa_legislativa__evento_set", + oficinas_qs, + to_attr="oficinas", + ), + ) .order_by( "casa_legislativa__municipio__uf__nome", "casa_legislativa__tipo__nome",