From af6fb4ea1ddc7132146e9c92f10898ef7ac75f81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ses=C3=B3stris=20Vieira?= Date: Tue, 8 Aug 2023 11:47:47 -0300 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=B5es=20no=20calend=C3=A1rio=20de?= =?UTF-8?q?=20eventos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eventos/snippets/calendario_cal.html | 2 +- sigi/apps/eventos/views.py | 39 +++++++------------ 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/sigi/apps/eventos/templates/eventos/snippets/calendario_cal.html b/sigi/apps/eventos/templates/eventos/snippets/calendario_cal.html index 36ca3f6..e5db603 100644 --- a/sigi/apps/eventos/templates/eventos/snippets/calendario_cal.html +++ b/sigi/apps/eventos/templates/eventos/snippets/calendario_cal.html @@ -15,7 +15,7 @@ {{ dia.0 }} {% for evento in dia.1 %} -

+

{{ evento.nome }}

{% endfor %} diff --git a/sigi/apps/eventos/views.py b/sigi/apps/eventos/views.py index a3afaf4..e782068 100644 --- a/sigi/apps/eventos/views.py +++ b/sigi/apps/eventos/views.py @@ -62,16 +62,16 @@ def calendario(request): else: meses[ano] = {mes: calendar.month_name[mes]} - eventos = Evento.objects.filter( - data_inicio__year=ano_pesquisa, data_inicio__month=mes_pesquisa + eventos = ( + Evento.objects.exclude(data_inicio=None) + .exclude(data_termino=None) + .filter(data_inicio__year=ano_pesquisa, data_inicio__month=mes_pesquisa) ) context = {} if formato == "cal" or pdf: - semanas = calendar.Calendar().monthdatescalendar( - ano_pesquisa, mes_pesquisa - ) + semanas = calendar.Calendar().monthdatescalendar(ano_pesquisa, mes_pesquisa) for semana in semanas: for dia in semana: if dia.month == mes_pesquisa: @@ -80,9 +80,7 @@ def calendario(request): [ e for e in eventos - if e.data_inicio.day - <= dia.day - <= e.data_termino.day + if e.data_inicio.day <= dia.day <= e.data_termino.day ], ) else: @@ -126,9 +124,9 @@ class EventoListView(ListView): def get_queryset(self): queryset = super().get_queryset() - return queryset.filter( - status=Evento.STATUS_CONFIRMADO, publicar=True - ).order_by("data_inicio") + return queryset.filter(status=Evento.STATUS_CONFIRMADO, publicar=True).order_by( + "data_inicio" + ) @xframe_options_exempt def get(self, request, *args, **kwargs): @@ -154,15 +152,13 @@ def alocacao_equipe(request): if mes_pesquisa > 0: semanas = [ [s[0], s[-1]] - for s in calendar.Calendar().monthdatescalendar( - ano_pesquisa, mes_pesquisa - ) + for s in calendar.Calendar().monthdatescalendar(ano_pesquisa, mes_pesquisa) ] num_cols = len(semanas) if semana_pesquisa > 0: - dias = calendar.Calendar().monthdatescalendar( - ano_pesquisa, mes_pesquisa - )[semana_pesquisa - 1] + dias = calendar.Calendar().monthdatescalendar(ano_pesquisa, mes_pesquisa)[ + semana_pesquisa - 1 + ] num_cols = len(dias) eventos = eventos.filter( data_inicio__gte=dias[0], data_inicio__lte=dias[-1] @@ -231,9 +227,7 @@ def alocacao_equipe(request): linhas = [] if semana_pesquisa: - linhas = [ - [registro[1]] + list(registro[2].values()) for registro in dados - ] + linhas = [[registro[1]] + list(registro[2].values()) for registro in dados] else: for r in dados: r[2].append( @@ -283,10 +277,7 @@ def alocacao_equipe(request): else: cabecalho = ( [_("Servidor")] - + [ - _(f"de {inicio:%d/%m} a {fim:%d/%m}") - for inicio, fim in semanas - ] + + [_(f"de {inicio:%d/%m} a {fim:%d/%m}") for inicio, fim in semanas] + ["total"] ) else: