Compare commits
4 Commits
1756d78e89
...
2a462b0112
Author | SHA1 | Date |
---|---|---|
Gregory Trullemans | 2a462b0112 | |
Gregory Trullemans | 882220a358 | |
Gregory Trullemans | 9ec341ab7c | |
Gregory Trullemans | e22c35cbab |
|
@ -21,6 +21,7 @@ from django.db.models import Max
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from .models import Citation
|
from .models import Citation
|
||||||
from jarvis.tools.models import from_date_to_week_number
|
from jarvis.tools.models import from_date_to_week_number
|
||||||
|
from jarvis.tools.clean_name import clean_name
|
||||||
|
|
||||||
from jarvis.tools.models import Season
|
from jarvis.tools.models import Season
|
||||||
|
|
||||||
|
@ -194,8 +195,10 @@ def search(request):
|
||||||
pattern = request.GET.get("pattern", None)
|
pattern = request.GET.get("pattern", None)
|
||||||
|
|
||||||
if pattern:
|
if pattern:
|
||||||
|
name = clean_name(pattern)
|
||||||
|
print(name)
|
||||||
gymnast_list = Gymnast.objects.filter(
|
gymnast_list = Gymnast.objects.filter(
|
||||||
Q(last_name__icontains=pattern) | Q(first_name__icontains=pattern)
|
Q(cleaned_last_name__icontains=name) | Q(cleaned_first_name__icontains=name)
|
||||||
)
|
)
|
||||||
|
|
||||||
if gymnast_list.count() == 1:
|
if gymnast_list.count() == 1:
|
||||||
|
|
|
@ -701,6 +701,8 @@ class Intensity(Markdownizable, Seasonisable):
|
||||||
# Real statistics
|
# Real statistics
|
||||||
@property
|
@property
|
||||||
def mean_time_by_passe(self):
|
def mean_time_by_passe(self):
|
||||||
|
average_time_in_min = self.time / self.number_of_passes
|
||||||
|
average_time_in_sec = (average_time_in_min % 1) * 60
|
||||||
return self.time / self.number_of_passes
|
return self.time / self.number_of_passes
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -733,20 +735,36 @@ class Intensity(Markdownizable, Seasonisable):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def passes_quality_for_gymnast(self):
|
def passes_quality_for_gymnast(self):
|
||||||
average_gymnast_time = 150 + (
|
average_passe_time = (
|
||||||
self.number_of_gymnast * pow(100, 1 / self.number_of_gymnast)
|
(90 + pow(100, 1 / self.number_of_gymnast)) * self.number_of_gymnast
|
||||||
)
|
) / 60
|
||||||
|
|
||||||
if self.mean_time_by_passe <= average_gymnast_time:
|
print(self.mean_time_by_passe)
|
||||||
|
print(average_passe_time)
|
||||||
|
|
||||||
|
if self.mean_time_by_passe <= average_passe_time:
|
||||||
|
print("1")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
if self.mean_time_by_passe <= (average_gymnast_time * 1.05):
|
if self.mean_time_by_passe <= (average_passe_time * 1.05):
|
||||||
|
print("2")
|
||||||
return 2
|
return 2
|
||||||
|
|
||||||
if self.mean_time_by_passe <= (average_gymnast_time * 1.15):
|
if self.mean_time_by_passe >= (average_passe_time * 1.05):
|
||||||
|
print("3")
|
||||||
return 3
|
return 3
|
||||||
|
|
||||||
# Human readeable scores
|
# Human readeable scores
|
||||||
|
@property
|
||||||
|
def mean_time_by_passe_readable(self):
|
||||||
|
average_time_in_min = self.mean_time_by_passe
|
||||||
|
average_time_in_sec = round((average_time_in_min % 1) * 60)
|
||||||
|
if average_time_in_sec < 10:
|
||||||
|
average_time_in_sec = "0" + str(average_time_in_sec)
|
||||||
|
else:
|
||||||
|
average_time_in_sec = str(average_time_in_sec)
|
||||||
|
return str(int(average_time_in_min)) + "min" + average_time_in_sec
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def difficulty_in_unit(self):
|
def difficulty_in_unit(self):
|
||||||
return self.difficulty / 10
|
return self.difficulty / 10
|
||||||
|
|
|
@ -109,11 +109,11 @@
|
||||||
<div class="col-2 text-right pl-0">
|
<div class="col-2 text-right pl-0">
|
||||||
<b>
|
<b>
|
||||||
{% if intensity.passes_quality_for_gymnast >= 3 %}
|
{% if intensity.passes_quality_for_gymnast >= 3 %}
|
||||||
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
|
<span class="text-danger">{{ intensity.mean_time_by_passe_readable }}</span>
|
||||||
{% elif intensity.passes_quality_for_gymnast == 2 %}
|
{% elif intensity.passes_quality_for_gymnast == 2 %}
|
||||||
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
|
<span class="text-warning">{{ intensity.mean_time_by_passe_readable }}</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
|
<span class="text-success">{{ intensity.mean_time_by_passe_readable }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</b>
|
</b>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -82,11 +82,11 @@
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<b>
|
<b>
|
||||||
{% if intensity.passes_quality_for_gymnast >= 3 %}
|
{% if intensity.passes_quality_for_gymnast >= 3 %}
|
||||||
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
|
<span class="text-danger">{{ intensity.mean_time_by_passe_readable }}</span>
|
||||||
{% elif intensity.passes_quality_for_gymnast == 2 %}
|
{% elif intensity.passes_quality_for_gymnast == 2 %}
|
||||||
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
|
<span class="text-warning">{{ intensity.mean_time_by_passe_readable }}</span>
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
|
<span class="text-success">{{ intensity.mean_time_by_passe_readable }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</b>
|
</b>
|
||||||
</td>
|
</td>
|
||||||
|
|
|
@ -1375,7 +1375,7 @@ def plan_create_or_update(request, plan_id=None, gymnast_id=None, skill_id=None)
|
||||||
|
|
||||||
send_mail(
|
send_mail(
|
||||||
title,
|
title,
|
||||||
f"Nouvel objectif fixé pour {gymnast}",
|
f"Nouvel objectif fixé pour {plan.gymnast}",
|
||||||
settings.EMAIL_HOST_USER,
|
settings.EMAIL_HOST_USER,
|
||||||
receivers,
|
receivers,
|
||||||
fail_silently=False,
|
fail_silently=False,
|
||||||
|
@ -1583,7 +1583,7 @@ def season_information_create_or_update(
|
||||||
|
|
||||||
send_mail(
|
send_mail(
|
||||||
title,
|
title,
|
||||||
f"Une nouvelle information de saison enregistrée pour {gymnast}",
|
f"Une nouvelle information de saison enregistrée pour {season_information.gymnast}",
|
||||||
settings.EMAIL_HOST_USER,
|
settings.EMAIL_HOST_USER,
|
||||||
receivers,
|
receivers,
|
||||||
fail_silently=False,
|
fail_silently=False,
|
||||||
|
|
Loading…
Reference in New Issue