Update event listing
This commit is contained in:
parent
3a94fe636f
commit
810c63460c
|
@ -91,7 +91,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
{% menuitem 'event_list' 'fal fa-calendar-alt' 'Events' %}
|
{% menuitem 'next_event_list' 'fal fa-calendar-alt' 'Events' %}
|
||||||
{% if request.user|has_group:"trainer" %}
|
{% if request.user|has_group:"trainer" %}
|
||||||
{% menuitem 'injuries_list' 'fal fa-comment-alt-medical' 'Injuries' %}
|
{% menuitem 'injuries_list' 'fal fa-comment-alt-medical' 'Injuries' %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
@ -1078,7 +1078,8 @@ def heightweight_create_or_update(request, heightweight_id=None, gymnast_id=None
|
||||||
fail_silently=False,
|
fail_silently=False,
|
||||||
html_message=f"""<p>Bonjour,</p>
|
html_message=f"""<p>Bonjour,</p>
|
||||||
<p>Un nouveau poids/taille enregistré pour {gymnast} : {height}cm / {weight}kg ({bmi}).</p><br />
|
<p>Un nouveau poids/taille enregistré pour {gymnast} : {height}cm / {weight}kg ({bmi}).</p><br />
|
||||||
<p>Excellente journée</p><p>Jarvis</p>""",
|
<p>Excellente journée</p>
|
||||||
|
<p>Jarvis</p>""",
|
||||||
)
|
)
|
||||||
|
|
||||||
return HttpResponseRedirect(
|
return HttpResponseRedirect(
|
||||||
|
@ -1218,7 +1219,8 @@ def routinedone_create_or_update(request, routinedone_id=None, gymnast_id=None):
|
||||||
fail_silently=False,
|
fail_silently=False,
|
||||||
html_message=f"""<p>Bonjour,</p>
|
html_message=f"""<p>Bonjour,</p>
|
||||||
<p>Nouvelle série comptabilisée pour {gymnast}.</p><br />
|
<p>Nouvelle série comptabilisée pour {gymnast}.</p><br />
|
||||||
<p>Excellente journée</p><p>Jarvis</p>""",
|
<p>Excellente journée</p>
|
||||||
|
<p>Jarvis</p>""",
|
||||||
)
|
)
|
||||||
|
|
||||||
return HttpResponseRedirect(
|
return HttpResponseRedirect(
|
||||||
|
@ -1293,8 +1295,10 @@ def plan_create_or_update(request, plan_id=None, gymnast_id=None, skill_id=None)
|
||||||
receiver,
|
receiver,
|
||||||
fail_silently=False,
|
fail_silently=False,
|
||||||
html_message=f"""<p>Bonjour,</p>
|
html_message=f"""<p>Bonjour,</p>
|
||||||
<p>Nouvel objectif fixé pour {gymnast} : {educative} ({learning_step}) pour le {date} au plus tard.</p><br />
|
<p>Nouvel objectif fixé pour {gymnast} : {educative} ({learning_step}) pour le {date} au plus tard.</p>
|
||||||
<p>Excellente journée</p><p>Jarvis</p>""",
|
<br />
|
||||||
|
<p>Excellente journée</p>
|
||||||
|
<p>Jarvis</p>""",
|
||||||
)
|
)
|
||||||
|
|
||||||
return HttpResponseRedirect(
|
return HttpResponseRedirect(
|
||||||
|
@ -1390,8 +1394,9 @@ def intensity_create_or_update(request, intensity_id=None, gymnast_id=None):
|
||||||
receiver,
|
receiver,
|
||||||
fail_silently=False,
|
fail_silently=False,
|
||||||
html_message=f"""<p>Bonjour,</p>
|
html_message=f"""<p>Bonjour,</p>
|
||||||
<p>{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}).</p><br />
|
<p>{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}).</p><br />
|
||||||
<p>Excellente journée</p><p>Jarvis</p>""",
|
<p>Excellente journée</p>
|
||||||
|
<p>Jarvis</p>""",
|
||||||
)
|
)
|
||||||
|
|
||||||
return HttpResponseRedirect(
|
return HttpResponseRedirect(
|
||||||
|
@ -1462,7 +1467,8 @@ def season_information_create_or_update(
|
||||||
fail_silently=False,
|
fail_silently=False,
|
||||||
html_message=f"""<p>Bonjour,</p>
|
html_message=f"""<p>Bonjour,</p>
|
||||||
<p>Une nouvelle information de saison enregistrée pour {gymnast}.</p><br />
|
<p>Une nouvelle information de saison enregistrée pour {gymnast}.</p><br />
|
||||||
<p>Excellente journée</p><p>Jarvis</p>""",
|
<p>Excellente journée</p>
|
||||||
|
<p>Jarvis</p>""",
|
||||||
)
|
)
|
||||||
|
|
||||||
return HttpResponseRedirect(
|
return HttpResponseRedirect(
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive pb-0">
|
||||||
{% if event_list %}
|
{% if event_list %}
|
||||||
<table class="table tablesorter table-striped" data-sort="table" id="event_table">
|
<table class="table tablesorter table-striped" data-sort="table" id="event_table">
|
||||||
<thead>
|
<thead>
|
||||||
|
|
|
@ -21,5 +21,6 @@ event_urlpatterns = [
|
||||||
),
|
),
|
||||||
path(r"<int:event_id>/", views.event_detail, name="event_details"),
|
path(r"<int:event_id>/", views.event_detail, name="event_details"),
|
||||||
path(r"calendar/", views.calendar, name="calendar"),
|
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"),
|
path(r"", views.event_listing, name="event_list"),
|
||||||
]
|
]
|
||||||
|
|
|
@ -3,7 +3,7 @@ from django.http import HttpResponseRedirect, HttpResponse, JsonResponse
|
||||||
from django.shortcuts import render, get_object_or_404
|
from django.shortcuts import render, get_object_or_404
|
||||||
from django.views.decorators.http import require_http_methods
|
from django.views.decorators.http import require_http_methods
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
import pendulum
|
||||||
from jarvis.people.models import Gymnast
|
from jarvis.people.models import Gymnast
|
||||||
|
|
||||||
from .models import (
|
from .models import (
|
||||||
|
@ -105,7 +105,7 @@ def unlink_gymnast_from_event(request):
|
||||||
return HttpResponse(200)
|
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.
|
"""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.
|
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)
|
pattern = request.GET.get("pattern", None)
|
||||||
|
|
||||||
|
event_list = Event.objects.all()
|
||||||
|
|
||||||
if pattern:
|
if pattern:
|
||||||
event_list = Event.objects.filter(name__icontains=pattern)
|
event_list = event_list.filter(name__icontains=pattern)
|
||||||
else:
|
|
||||||
event_list = Event.objects.all()
|
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")
|
return event_list.order_by("date_begin")
|
||||||
|
|
||||||
|
@ -135,6 +141,19 @@ def calendar(request):
|
||||||
return render(request, "events/grid.html", context)
|
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
|
@login_required
|
||||||
@require_http_methods(["GET"])
|
@require_http_methods(["GET"])
|
||||||
def event_listing(request):
|
def event_listing(request):
|
||||||
|
|
Loading…
Reference in New Issue