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> <td>
<span class="numero-dia">{{ dia.0 }}</span> <span class="numero-dia">{{ dia.0 }}</span>
{% for evento in dia.1 %} {% 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> <a class="modal-trigger" href="#modal{{ evento.id|safe }}" title="{{ evento.nome }}">{{ evento.nome }}</a>
</p> </p>
{% endfor %} {% endfor %}

39
sigi/apps/eventos/views.py

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

Loading…
Cancel
Save