Fix intensity details and add update possibility

This commit is contained in:
Gregory Trullemans 2024-01-24 10:16:01 +01:00
parent 9e4e536e89
commit df7b37d6f1
2 changed files with 80 additions and 82 deletions

View File

@ -27,7 +27,7 @@
<h4 class=""><i class="text-primary fal fa-laugh-wink"></i> Hi {{ user.username }} !</h4>
</div>
<div class="card-body text-justify pt-0">
<p>Welcome to Jarvi v0.92 <span class="text-muted">(last update : 16-11-2023)</span></p>
<p>Welcome to Jarvi v0.94 <span class="text-muted">(last update : 24-1-2024)</span></p>
<p>This application is here to help coaches to manage the gymnasts (evolution, evaluation, routines, scores, …). This tool is not perfect so feel free to make improvement proposals, bug reports, … by sending me an <a href="mailto:gregory@flyingacrobaticstrampoline.be">email</a>.</p>
<p>You can find the user manual <a href="{% static "files/Manuel_Utilisateur.pdf" %}" download>here (in french)</a>.</p>
</div>

View File

@ -9,97 +9,95 @@
<h4 class="card-title mb-0"><a href="{% url 'gymnast_details_tab' intensity.gymnast.id 'routine' %}">{{ intensity.gymnast }}</a>'s training intensity for the {{ intensity.date | date:"j F Y" }}</h4>
</div>
<div class="card-body row">
<div class="col-3">Time</div>
<div class="col-3 text-right">{{ intensity.time }}</div>
<div class="col-4"><b>Average Diff/passe</b></div>
<div class="col-6"><b>Encoded data</b></div>
<div class="col-6"><b>Average</b></div>
<div class="col-3">Time (min)</div>
<div class="col-2 text-right">{{ intensity.time }}</div>
<div class="col-1"></div>
<div class="col-4">Diff/passe</div>
<div class="col-2 text-right"><b>{{ intensity.mean_difficulty_by_passe_in_unit | floatformat:3 }}</b></div>
<div class="col-3">Difficulty</div>
<div class="col-3 text-right">{{ intensity.difficulty }}</div>
<div class="col-4"><b>Average Diff/Skill</b></div>
<div class="col-2 text-right">{{ intensity.difficulty_in_unit }}</div>
<div class="col-1"></div>
<div class="col-4">Diff/Skill</div>
<div class="col-2 text-right"><b>{{ intensity.mean_difficulty_by_skill_in_unit | floatformat:3 }}</b></div>
<div class="col-3">Skill quantity</div>
<div class="col-3 text-right">{{ intensity.quantity_of_skill }}</div>
<div class="col-4"><b>Average Skill/passe</b></div>
<div class="col-2 text-right"><b>{{ intensity.quantity_of_skill_by_passe | floatformat:3 }}</b></div>
<div class="col-3"># Passes</div>
<div class="col-3 text-right">{{ intensity.number_of_passes }}</div>
<div class="col-4"><b>Average Skill/time</b></div>
<div class="col-2 text-right"><b>{{ intensity.mean_quantity_of_skill_by_time | floatformat:3 }}</b></div>
<div class="col-12 mt-3">
{% if intensity.to_markdown %}
<h5>More details :</h5>
{{ intensity.to_markdown | safe }}
{% else %}
<p class="text-muted">No additionnal details.</p>
{% endif %}
<div class="col-3"># Skill</div>
<div class="col-2 text-right">{{ intensity.quantity_of_skill }}</div>
<div class="col-1"></div>
<div class="col-4">Skill/passe</div>
<div class="col-2 text-right">
<b>
{% if intensity.quantity_of_skill_by_passe > 7.37 %}
<span class="text-danger">{{ intensity.quantity_of_skill_by_passe | floatformat:2 }}</span>
{% elif intensity.mean_quantity_of_skill_by_time > 6.95 %}
<span class="text-warning">{{ intensity.quantity_of_skill_by_passe | floatformat:2 }}</span>
{% else %}
<span class="text-success">{{ intensity.quantity_of_skill_by_passe | floatformat:2 }}</span>
{% endif %}
</b>
</div>
<div class="col-3"># Passes</div>
<div class="col-2 text-right">{{ intensity.number_of_passes }}</div>
<div class="col-1"></div>
<div class="col-4">Skill/time</div>
<div class="col-2 text-right">
<b>
{% if intensity.mean_quantity_of_skill_by_time > 2.37 %}
<span class="text-danger">{{ intensity.mean_quantity_of_skill_by_time | floatformat:2 }}</span>
{% elif intensity.mean_quantity_of_skill_by_time > 2.05 %}
<span class="text-warning">{{ intensity.mean_quantity_of_skill_by_time | floatformat:2 }}</span>
{% else %}
<span class="text-success">{{ intensity.mean_quantity_of_skill_by_time | floatformat:2 }}</span>
{% endif %}
</b>
</div>
<div class="col-3"></div>
<div class="col-2"></div>
<div class="col-1"></div>
<div class="col-4">Time/passe</div>
<div class="col-2 text-right">
<b>
{% if intensity.mean_time_by_passe > 4.13 %}
<span class="text-danger">{{ intensity.mean_time_by_passe | floatformat:2 }}</span>
{% elif intensity.mean_time_by_passe > 3.80 %}
<span class="text-warning">{{ intensity.mean_time_by_passe | floatformat:2 }}</span>
{% else %}
<span class="text-success">{{ intensity.mean_time_by_passe | floatformat:2 }}</span>
{% endif %}
</b>
</div>
{% if intensity.to_markdown %}
<div class="col-12 mt-3">
<h4>More details</h4>
{{ intensity.to_markdown | safe }}
</div>
{% endif %}
</div>
<div class="card-footer">
<a href="{% url 'intensity_list' %}">
<button type="submit" value="add" class="btn btn-icon btn-warning ">
<i class="tim-icons icon-double-left"></i>
</button>
</a>
<div class="card-footer row">
<div class="col-6">
<a href="{% url 'intensity_list' %}">
<button type="submit" value="add" class="btn btn-icon btn-warning ">
<i class="tim-icons icon-double-left"></i>
</button>
</a>
</div>
<div class="col-6 col-1 ml-auto text-right">
<a href="{% url 'intensity_update' intensity.id %}">
<button type="submit" value="update" class="btn btn-icon btn-warning">
<i class="tim-icons icon-pencil"></i>
</button>
</a>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% block footerscript %}
<script type="text/javascript">
var ctx = document.getElementById("chart_radar_wellbeing").getContext("2d");
const data = {
labels: [
'Mind State',
'Sleep',
'Zen',
'Rest',
'Muscle',
],
datasets: [{
data: [{{ wellbeing.mindstate }}, {{ wellbeing.sleep }}, {{ wellbeing.get_inversed_stress }}, {{ wellbeing.get_inversed_fatigue }}, {{ wellbeing.get_inversed_muscle_soreness }}],
fill: true,
backgroundColor: 'rgba(255, 99, 132, 0.2)',
borderColor: 'rgb(255, 99, 132)',
pointBackgroundColor: 'rgb(255, 99, 132)',
pointBorderColor: '#fff',
pointHoverBackgroundColor: '#fff',
pointHoverBorderColor: 'rgb(255, 99, 132)'
}]
};
new Chart(ctx, {
responsive: true,
type: 'radar',
data: data,
options: {
elements: {
line: {
borderWidth: 3
}
},
scales: {
r: {
// angleLines: {
// display: false
// },
suggestedMin: 0,
suggestedMax: 10,
}
},
plugins: {
legend: {
display: false,
}
}
},
});
</script>
{% endblock %}