diff --git a/jarvis/core/templates/base.html b/jarvis/core/templates/base.html index 075ecdd..bbc33ef 100644 --- a/jarvis/core/templates/base.html +++ b/jarvis/core/templates/base.html @@ -91,7 +91,7 @@ - {% menuitem 'event_list' 'fal fa-calendar-alt' 'Events' %} + {% menuitem 'next_event_list' 'fal fa-calendar-alt' 'Events' %} {% if request.user|has_group:"trainer" %} {% menuitem 'injuries_list' 'fal fa-comment-alt-medical' 'Injuries' %} {% endif %} diff --git a/jarvis/followup/views.py b/jarvis/followup/views.py index 04efaf5..72914fe 100644 --- a/jarvis/followup/views.py +++ b/jarvis/followup/views.py @@ -1078,7 +1078,8 @@ def heightweight_create_or_update(request, heightweight_id=None, gymnast_id=None fail_silently=False, html_message=f"""

Bonjour,

Un nouveau poids/taille enregistré pour {gymnast} : {height}cm / {weight}kg ({bmi}).


-

Excellente journée

Jarvis

""", +

Excellente journée

+

Jarvis

""", ) return HttpResponseRedirect( @@ -1218,7 +1219,8 @@ def routinedone_create_or_update(request, routinedone_id=None, gymnast_id=None): fail_silently=False, html_message=f"""

Bonjour,

Nouvelle série comptabilisée pour {gymnast}.


-

Excellente journée

Jarvis

""", +

Excellente journée

+

Jarvis

""", ) return HttpResponseRedirect( @@ -1293,8 +1295,10 @@ def plan_create_or_update(request, plan_id=None, gymnast_id=None, skill_id=None) receiver, fail_silently=False, html_message=f"""

Bonjour,

-

Nouvel objectif fixé pour {gymnast} : {educative} ({learning_step}) pour le {date} au plus tard.


-

Excellente journée

Jarvis

""", +

Nouvel objectif fixé pour {gymnast} : {educative} ({learning_step}) pour le {date} au plus tard.

+
+

Excellente journée

+

Jarvis

""", ) return HttpResponseRedirect( @@ -1390,8 +1394,9 @@ def intensity_create_or_update(request, intensity_id=None, gymnast_id=None): receiver, fail_silently=False, html_message=f"""

Bonjour,

-

{gymnast} a encodé une nouvelle intensité (pour le {date.strftime('%d %B %Y')}) : {number_of_passes} passages en {time} min (diff : {difficulty} | # skills : {quantity_of_skill}).


-

Excellente journée

Jarvis

""", +

{gymnast} a encodé une nouvelle intensité (pour le {date.strftime('%d %B %Y')}) : {number_of_passes} passages en {time}min (diff : {difficulty} | # skills : {quantity_of_skill}).


+

Excellente journée

+

Jarvis

""", ) return HttpResponseRedirect( @@ -1462,7 +1467,8 @@ def season_information_create_or_update( fail_silently=False, html_message=f"""

Bonjour,

Une nouvelle information de saison enregistrée pour {gymnast}.


-

Excellente journée

Jarvis

""", +

Excellente journée

+

Jarvis

""", ) return HttpResponseRedirect( diff --git a/jarvis/planning/templates/events/list.html b/jarvis/planning/templates/events/list.html index 2e6ee94..5245ec4 100644 --- a/jarvis/planning/templates/events/list.html +++ b/jarvis/planning/templates/events/list.html @@ -23,7 +23,7 @@
-
+
{% if event_list %} diff --git a/jarvis/planning/urls.py b/jarvis/planning/urls.py index d45059b..2a3e8b2 100644 --- a/jarvis/planning/urls.py +++ b/jarvis/planning/urls.py @@ -21,5 +21,6 @@ event_urlpatterns = [ ), path(r"/", views.event_detail, name="event_details"), path(r"calendar/", views.calendar, name="calendar"), + path(r"next/", views.next_event_listing, name="next_event_list"), path(r"", views.event_listing, name="event_list"), ] diff --git a/jarvis/planning/views.py b/jarvis/planning/views.py index e9d7764..563edb0 100644 --- a/jarvis/planning/views.py +++ b/jarvis/planning/views.py @@ -3,7 +3,7 @@ from django.http import HttpResponseRedirect, HttpResponse, JsonResponse from django.shortcuts import render, get_object_or_404 from django.views.decorators.http import require_http_methods from django.urls import reverse - +import pendulum from jarvis.people.models import Gymnast from .models import ( @@ -105,7 +105,7 @@ def unlink_gymnast_from_event(request): return HttpResponse(200) -def __get_event_list(request): +def __get_event_list(request, from_date=None, to_date=None): """Récupère une liste d'évènement. Par défaut, la liste est triée chronologiquement - le plus ancien étant le premier élément. @@ -118,10 +118,16 @@ def __get_event_list(request): """ pattern = request.GET.get("pattern", None) + event_list = Event.objects.all() + if pattern: - event_list = Event.objects.filter(name__icontains=pattern) - else: - event_list = Event.objects.all() + event_list = event_list.filter(name__icontains=pattern) + + if from_date: + event_list = event_list.filter(date_end__gte=from_date) + + if to_date: + event_list = event_list.filter(date_begin__lte=to_date) return event_list.order_by("date_begin") @@ -135,6 +141,19 @@ def calendar(request): return render(request, "events/grid.html", context) +@login_required +@require_http_methods(["GET"]) +def next_event_listing(request): + """ + Récupère la liste de tous évènements suivant un pattern si celui-ci est + définit. + """ + today = pendulum.today() + event_list = __get_event_list(request, from_date=today) + context = {"event_list": event_list} + return render(request, "events/list.html", context) + + @login_required @require_http_methods(["GET"]) def event_listing(request):