Browse Source

Correções no calendário de eventos

pull/166/head 3.0.45
Sesóstris Vieira 1 year ago
parent
commit
af6fb4ea1d
  1. 2
      sigi/apps/eventos/templates/eventos/snippets/calendario_cal.html
  2. 39
      sigi/apps/eventos/views.py

2
sigi/apps/eventos/templates/eventos/snippets/calendario_cal.html

@ -15,7 +15,7 @@
<td>
<span class="numero-dia">{{ dia.0 }}</span>
{% for evento in dia.1 %}
<p class="evento truncate {% include 'eventos/snippets/calendario_status_color.html' with status=evento.status %}">
<p class="evento {% include 'eventos/snippets/calendario_status_color.html' with status=evento.status %}">
<a class="modal-trigger" href="#modal{{ evento.id|safe }}" title="{{ evento.nome }}">{{ evento.nome }}</a>
</p>
{% endfor %}

39
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:

Loading…
Cancel
Save