Bug fix and improvement

This commit is contained in:
Gregory Trullemans 2024-02-05 16:51:55 +01:00
parent 82941fca2f
commit d2b7b715db
4 changed files with 41 additions and 57 deletions

View File

@ -731,6 +731,21 @@ class Intensity(Markdownizable, Seasonisable):
def mean_difficulty_by_skill_in_unit(self):
return self.mean_difficulty_by_skill / 10
@property
def passes_quality_for_gymnast(self):
average_gymnast_time = 150 + (
self.number_of_gymnast * pow(100, 1 / self.number_of_gymnast)
)
if self.mean_time_by_passe <= average_gymnast_time:
return 1
if self.mean_time_by_passe <= (average_gymnast_time * 1.05):
return 2
if self.mean_time_by_passe <= (average_gymnast_time * 1.15):
return 3
# Human readeable scores
@property
def difficulty_in_unit(self):

View File

@ -18,9 +18,9 @@
<div class="col-sm-2 d-none d-sm-block"></div>
<div class="col-4 col-sm-3 pr-0">Time</div>
<div class="col-2 text-right pl-0">
{% if intensity.time_quality < 85.0 %}
{% if intensity.time_quality <= 85.0 %}
<span class="text-danger">{{ intensity.time_quality | floatformat:1 }}%</span>
{% elif intensity.time_quality < 95.0 %}
{% elif intensity.time_quality <= 95.0 %}
<span class="text-warning">{{ intensity.time_quality | floatformat:1 }}%</span>
{% else %}
<span class="text-success">{{ intensity.time_quality | floatformat:1 }}%</span>
@ -33,9 +33,9 @@
<div class="col-sm-2 d-none d-sm-block"></div>
<div class="col-4 col-sm-3 pr-0">Diff.</div>
<div class="col-2 text-right pl-0">
{% if intensity.difficulty_quality < 85.0 %}
{% if intensity.difficulty_quality <= 85.0 %}
<span class="text-danger">{{ intensity.difficulty_quality | floatformat:1 }}%</span>
{% elif intensity.difficulty_quality < 95.0 %}
{% elif intensity.difficulty_quality <= 95.0 %}
<span class="text-warning">{{ intensity.difficulty_quality | floatformat:1 }}%</span>
{% else %}
<span class="text-success">{{ intensity.difficulty_quality | floatformat:1 }}%</span>
@ -48,9 +48,9 @@
<div class="col-sm-2 d-none d-sm-block"></div>
<div class="col-4 col-sm-3 pr-0">Skill</div>
<div class="col-2 text-right pl-0">
{% if intensity.quantity_of_skill_quality < 85.0 %}
{% if intensity.quantity_of_skill_quality <= 85.0 %}
<span class="text-danger">{{ intensity.quantity_of_skill_quality | floatformat:1 }}%</span>
{% elif intensity.quantity_of_skill_quality < 95.0 %}
{% elif intensity.quantity_of_skill_quality <= 95.0 %}
<span class="text-warning">{{ intensity.quantity_of_skill_quality | floatformat:1 }}%</span>
{% else %}
<span class="text-success">{{ intensity.quantity_of_skill_quality | floatformat:1 }}%</span>
@ -63,9 +63,9 @@
<div class="col-sm-2 d-none d-sm-block"></div>
<div class="col-4 col-sm-3 pr-0">Passes</div>
<div class="col-2 text-right pl-0">
{% if intensity.number_of_passes_quality < 85.0 %}
{% if intensity.number_of_passes_quality <= 85.0 %}
<span class="text-danger">{{ intensity.number_of_passes_quality | floatformat:1 }}%</span>
{% elif intensity.number_of_passes_quality < 95.0 %}
{% elif intensity.number_of_passes_quality <= 95.0 %}
<span class="text-warning">{{ intensity.number_of_passes_quality | floatformat:1 }}%</span>
{% else %}
<span class="text-success">{{ intensity.number_of_passes_quality | floatformat:1 }}%</span>
@ -78,9 +78,9 @@
<div class="col-4 col-sm-3 pr-0"><b>Average</b></div>
<div class="col-2 text-right pl-0">
<b>
{% if intensity.average_quality < 85.0 %}
{% if intensity.average_quality <= 85.0 %}
<span class="text-danger">{{ intensity.average_quality | floatformat:1 }}%</span>
{% elif intensity.average_quality < 95.0 %}
{% elif intensity.average_quality <= 95.0 %}
<span class="text-warning">{{ intensity.average_quality | floatformat:1 }}%</span>
{% else %}
<span class="text-success">{{ intensity.average_quality | floatformat:1 }}%</span>
@ -93,59 +93,39 @@
<div class="col-4 col-sm-3 pr-0">Skill/passe</div>
<div class="col-2 text-right pl-0">
<b>
{{ intensity.mean_quantity_of_skill_by_passe | floatformat:3 }}
</b>
</div>
<div class="col-sm-2 d-none d-sm-block"></div>
<div class="col-4 col-sm-3 pr-0">Skill/time</div>
<div class="col-2 text-right pl-0">
<b>
{{ intensity.mean_quantity_of_skill_by_time | floatformat:3 }}
</b>
</div>
<div class="col-4 col-sm-3 pr-0">Diff/Skill</div>
<div class="col-2 text-right pl-0"><b>{{ intensity.mean_difficulty_by_skill_in_unit | floatformat:3 }}</b></div>
<div class="col-2 text-right pl-0">{{ intensity.mean_difficulty_by_skill_in_unit | floatformat:3 }}</div>
<div class="col-sm-2 d-none d-sm-block"></div>
<div class="col-4 col-sm-3 pr-0">Time/passe</div>
<div class="col-2 text-right pl-0">
<b>
{% if intensity.number_of_gymnast == 2 %}
{% if intensity.mean_time_by_passe > 3.50 %}
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% elif intensity.mean_time_by_passe > 3.20 %}
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% else %}
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% endif %}
{% elif intensity.number_of_gymnast == 3 %}
{% if intensity.mean_time_by_passe > 5.05 %}
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% elif intensity.mean_time_by_passe > 4.40 %}
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% else %}
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% endif %}
{% if intensity.passes_quality_for_gymnast >= 3 %}
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% elif intensity.passes_quality_for_gymnast == 2 %}
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% else %}
{{ intensity.mean_time_by_passe | floatformat:3 }}
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% endif %}
</b>
</div>
<div class="col-4 col-sm-3 pr-0">Diff/passe</div>
<div class="col-2 text-right pl-0">
<b>
{{ intensity.mean_difficulty_by_passe_in_unit | floatformat:3 }}
</b>
</div>
<div class="col-sm-2 d-none d-sm-block"></div>
<div class="col-4 col-sm-3 pr-0">Time/Skill</div>
<div class="col-2 text-right pl-0">
<b>
{{ intensity.mean_time_by_skill | floatformat:3 }}
</b>
</div>

View File

@ -68,9 +68,9 @@
<td class="text-center">{{ intensity.number_of_passes_quality | floatformat:0 }}</td>
<td class="text-center">
<b>
{% if intensity.average_quality < 85.0 %}
{% if intensity.average_quality <= 85.0 %}
<span class="text-danger">{{ intensity.average_quality | floatformat:1 }}%</span>
{% elif intensity.average_quality < 95.0 %}
{% elif intensity.average_quality <= 95.0 %}
<span class="text-warning">{{ intensity.average_quality | floatformat:1 }}%</span>
{% else %}
<span class="text-success">{{ intensity.average_quality | floatformat:1 }}%</span>
@ -78,26 +78,15 @@
</b>
</td>
<td class="text-center"><!-- Time by passe -->
<!-- Time by passe -->
<td class="text-center">
<b>
{% if intensity.number_of_gymnast == 2 %}
{% if intensity.mean_time_by_passe > 3.50 %}
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% elif intensity.mean_time_by_passe > 3.20 %}
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% else %}
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% endif %}
{% elif intensity.number_of_gymnast == 3 %}
{% if intensity.mean_time_by_passe > 5.05 %}
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% elif intensity.mean_time_by_passe > 4.40 %}
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% else %}
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% endif %}
{% if intensity.passes_quality_for_gymnast >= 3 %}
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% elif intensity.passes_quality_for_gymnast == 2 %}
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% else %}
{{ intensity.mean_time_by_passe | floatformat:3 }}
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:3 }}</span>
{% endif %}
</b>
</td>

View File

@ -1045,7 +1045,7 @@ def wellbeing_create_or_update(
<li>Fatigue: {wellbeing.fatigue}</li>
<li>Muscle soreness: {wellbeing.muscle_soreness}</li>
</ul>
{wellbeing.details}"""
{wellbeing.informations}"""
Email.objects.create(receivers=receivers, title=title, body=html_message)
send_mail(