Compare commits

...

2 Commits

Author SHA1 Message Date
Gregory Trullemans dcf587e2f9 Update gymnast form and template 2022-10-31 15:31:35 +01:00
Gregory Trullemans 50bc851c29 Add new fields to Gymnast class and prepare new class season and season_info 2022-10-31 14:49:25 +01:00
25 changed files with 222 additions and 111 deletions

View File

@ -30,23 +30,23 @@ $(function(){
});
$('#id_rotation, #id_twist').keyup(function(){
setDifficulty();
setLevel();
setNotation();
set_difficulty();
set_level();
set_notation();
});
$('#id_position').change(function(){
setDifficulty();
setLevel();
setNotation();
set_difficulty();
set_level();
set_notation();
});
$('#id_rotation_type').change(function(){
setNotation();
set_notation();
});
$('#difficulty').change(function(){
setLevel();
set_level();
});
$('#id_level').keyup(function(){
@ -103,12 +103,11 @@ $(function(){
});
const setDifficulty = function()
const set_difficulty = function()
{
if(typeof($('#id_rotation').val()) === "undefined" || typeof($('#id_twist').val()) === "undefined")
return
// console.log('------------------------------------------------------------------------------------------')
var sum = 0;
var position = $('#id_position').val();
var nb_twist = parseInt($('#id_twist').val());
@ -133,7 +132,7 @@ $(function(){
};
const setLevel = function()
const set_level = function()
{
var level = 0;
@ -149,7 +148,7 @@ $(function(){
}
const setNotation = function()
const set_notation = function()
{
var rotation_type = parseInt($('#id_rotation_type').children(':selected').val());
var nb_rotation = parseInt($('#id_rotation').val());

View File

@ -16,7 +16,7 @@
<label for="id_date" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-6 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -25,7 +25,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
@ -37,14 +37,14 @@
<div class="col-8 col-sm-8 col-md-6 col-lg-6 col-xl-6 {% if form.skill.errors %}has-danger{% endif %}">
{{ form.skill }}
{{ form.skill_related }}
{% if form.skill.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.skill.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.skill.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_nb_week_off" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label"># Week off</label>
<div class="col-sm-5 col-md-4 col-lg-2 {% if form.nb_week_off.errors %}has-danger{% endif %}">
{{ form.nb_week_off }}
{% if form.nb_week_off.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.nb_week_off.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.nb_week_off.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.nb_week_off.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">

View File

@ -16,7 +16,7 @@
<label for="id_gymnast" class="col-4 col-sm-3 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-6 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -25,7 +25,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
@ -36,21 +36,21 @@
<label for="id_chrono_type" class="col-4 col-sm-3 col-form-label">Chrono Type <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-5 col-md-4 col-lg-4 col-xl-4 {% if form.chrono_type.errors %}has-danger{% endif %}">
{{ form.chrono_type }}
{% if form.chrono_type.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.chrono_type.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.chrono_type.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.chrono_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_score_type" class="col-4 col-sm-3 col-form-label">Score Type <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-5 col-md-4 col-lg-4 col-xl-4 {% if form.score_type.errors %}has-danger{% endif %}">
{{ form.score_type }}
{% if form.score_type.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.score_type.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.score_type.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.score_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_score" class="col-4 col-sm-3 col-form-label">Score <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-5 col-md-4 col-lg-3 {% if form.score.errors %}has-danger{% endif %}">
{{ form.score }}
{% if form.score.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.score.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.score.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.score.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
{{ form.tof }}

View File

@ -24,7 +24,7 @@
class="text-danger"><b>*</b></span></label>
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-2 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -35,7 +35,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control"
value="{{ request.user.first_name }} {{ request.user.last_name }}"
@ -50,7 +50,7 @@
class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-4 col-md-3 col-lg-2 {% if form.height.errors %}has-danger{% endif %}">
{{ form.height }}
{% if form.height.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.height.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.height.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.height.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -58,7 +58,7 @@
<div
class="col-8 col-sm-4 col-md-3 col-lg-2 {% if form.hips_height.errors %}has-danger{% endif %}">
{{ form.hips_height }}
{% if form.hips_height.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.hips_height.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.hips_height.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.hips_height.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -66,7 +66,7 @@
class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-4 col-md-3 col-lg-2 {% if form.weight.errors %}has-danger{% endif %}">
{{ form.weight }}
{% if form.weight.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.weight.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.weight.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.weight.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group text-center">

View File

@ -21,7 +21,7 @@
class="col-8 col-md-9 col-lg-6 col-lg-4 col-xl-4 {% if form.jumper.errors %}has-danger{% endif %}">
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -30,7 +30,7 @@
<div
class="col-8 col-sm-6 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -38,7 +38,7 @@
class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-4 col-md-3 col-lg-2 {% if form.time.errors %}has-danger{% endif %}">
{{ form.time }}
{% if form.time.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.time.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.time.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.time.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -48,7 +48,7 @@
<div
class="col-8 col-sm-4 col-md-3 col-lg-2 {% if form.difficulty.errors %}has-danger{% endif %}">
{{ form.difficulty }}
{% if form.difficulty.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.difficulty.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.difficulty.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.difficulty.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -58,7 +58,7 @@
<div
class="col-8 col-sm-4 col-md-3 col-lg-2 {% if form.quantity_of_skill.errors %}has-danger{% endif %}">
{{ form.quantity_of_skill }}
{% if form.quantity_of_skill.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.quantity_of_skill.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.quantity_of_skill.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.quantity_of_skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -68,7 +68,7 @@
<div
class="col-8 col-sm-4 col-md-3 col-lg-2 {% if form.number_of_passes.errors %}has-danger{% endif %}">
{{ form.number_of_passes }}
{% if form.number_of_passes.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_passes.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.number_of_passes.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_passes.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">

View File

@ -16,7 +16,7 @@
<label for="id_date" class="col-4 col-sm-3 col-form-label">Date</label>
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -25,7 +25,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
@ -38,14 +38,14 @@
<div class="col-8 col-md-9 col-lg-6 {% if form.skill.errors %}has-danger{% endif %}">
{{ form.skill }}
{{ form.skill_related }}
{% if form.skill.errors %}&nbsp;<skilln class="btn btn-sm btn-danger-outline">{% for error in form.skill.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.skill.errors %}&nbsp;<skilln class="btn btn-sm btn-danger-outline">{% for error in form.skill.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_learning_step" class="col-4 col-sm-3 col-form-label">Learning step</label>
<div class="col-8 col-sm-4 col-md-3 {% if form.learning_step.errors %}has-danger{% endif %}">
{{ form.learning_step }}
{% if form.learning_step.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.learning_step.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.learning_step.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.learning_step.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
{% if plan_id %}
@ -53,7 +53,7 @@
<label for="id_is_done" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Is Done</label>
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
{{ form.is_done }}
{% if form.is_done.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.is_done.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.is_done.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.is_done.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
{% endif %}

View File

@ -33,7 +33,7 @@
<label for="id_date" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -52,7 +52,7 @@
<label for="id_score" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Score <span class="text-danger"><b>*</b></span></label>
<div class="col-sm-5 col-md-4 col-lg-2 {% if form.score.errors %}has-danger{% endif %}">
{{ form.score }}
{% if form.score.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.score.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.score.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.score.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">

View File

@ -22,7 +22,7 @@
class="col-8 col-md-9 col-lg-6 col-lg-4 col-xl-4 {% if form.jumper.errors %}has-danger{% endif %}">
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -31,7 +31,7 @@
<div
class="col-8 col-sm-6 col-md-4 col-lg-4 col-xl-4 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -49,7 +49,7 @@
<div
class="col-8 col-sm-5 col-md-4 col-lg-4 col-xl-4 {% if form.status.errors %}has-danger{% endif %}">
{{ form.status }}
{% if form.status.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.status.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.status.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.status.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group text-center">

View File

@ -16,7 +16,7 @@
<label for="id_date" class="col-4 col-sm-3 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
<div class="col-sm-6 col-md-5 col-lg-4 col-xl-2 {% if form.date.errors %}has-danger{% endif %}">
{{ form.date }}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.date.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.date.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -25,7 +25,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
@ -37,14 +37,14 @@
<div class="col-8 col-sm-8 col-md-6 col-lg-6 col-xl-6 {% if form.educative.errors %}has-danger{% endif %}">
{{ form.educative }}
{{ form.educative_related }}
{% if form.educative.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.educative.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.educative.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.educative.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_learning_step" class="col-4 col-sm-3 col-form-label">Learning step</label>
<div class="col-8 col-sm-4 col-md-3 {% if form.learning_step.errors %}has-danger{% endif %}">
{{ form.learning_step }}
{% if form.learning_step.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.learning_step.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.learning_step.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.learning_step.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">

View File

@ -19,7 +19,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
@ -68,7 +68,7 @@
<label for="id_number_of_successes" class="col-5 col-sm-5 col-md-5 col-lg-5 col-xl-4 col-form-label">Number of successes <span class="text-danger"><b>*</b></span></label>
<div class="col-sm-5 col-md-4 col-lg-2 {% if form.number_of_successes.errors %}has-danger{% endif %}">
{{ form.number_of_successes }}
{% if form.number_of_successes.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_successes.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.number_of_successes.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_successes.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
@ -76,7 +76,7 @@
<label for="id_number_of_try" class="col-5 col-sm-5 col-md-5 col-lg-5 col-xl-4 col-form-label">Number of try <span class="text-danger"><b>*</b></span></label>
<div class="col-sm-5 col-md-4 col-lg-2 {% if form.number_of_try.errors %}has-danger{% endif %}">
{{ form.number_of_try }}
{% if form.number_of_try.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_try.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.number_of_try.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.number_of_try.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>

View File

@ -19,7 +19,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />
@ -43,7 +43,7 @@
<label for="id_routine_type" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Routine <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-6 col-md-4 {% if form.routine_type.errors %}has-danger{% endif %}">
{{ form.routine_type }}
{% if form.routine_type.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.routine_type.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.routine_type.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.routine_type.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">
@ -77,7 +77,7 @@
{{ form.point_execution }}
{% if form.point_execution.errors %}
<label class="text-danger" for="id_point_execution" id="point_execution-error">
{% for error in form.point_execution.errors %}{{error}}{% endfor %}
{% for error in form.point_execution.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>

View File

@ -17,7 +17,7 @@
{{ form.name }}
{% if form.name.errors %}
<span class="btn btn-sm btn-danger-outline">
{% for error in form.name.errors %}{{error}}{% endfor %}
{% for error in form.name.errors %}{{ error }}{% endfor %}
</span>
{% endif %}
</div>
@ -26,7 +26,7 @@
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Address</label>
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-6">
{{ form.address }}
{% if form.address.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.address.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.address.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.address.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.postal.errors %}has-error has-feedback{% endif %}">
@ -35,11 +35,11 @@
<div class="row">
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
{{ form.postal }}
{% if form.postal.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.postal.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.postal.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.postal.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
<div class="col-12 col-sm-7 col-md-7 col-lg-7 col-xl-9">
{{ form.city }}
{% if form.city.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.city.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.city.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.city.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
</div>
@ -58,11 +58,11 @@
<div class="row">
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
{{ form.nbkm }}
{% if form.nbkm.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.nbkm.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.nbkm.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.nbkm.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-3 pr-0">
{{ form.timing }}
{% if form.timing.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.timing.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.timing.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.timing.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
</div>
@ -71,7 +71,7 @@
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Is active</label>
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
{{ form.active }}
{% if form.active.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.active.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.active.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.active.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group text-center">

View File

@ -17,7 +17,7 @@
{{ form.name }}
{% if form.name.errors %}
<span class="btn btn-sm btn-danger-outline">
{% for error in form.name.errors %}{{error}}{% endfor %}
{% for error in form.name.errors %}{{ error }}{% endfor %}
</span>
{% endif %}
</div>
@ -26,7 +26,7 @@
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Address <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-8">
{{ form.address }}
{% if form.address.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.address.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.address.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.address.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.postal.errors %}has-error has-feedback{% endif %}">
@ -34,11 +34,11 @@
<div class="col-8 col-sm-6 col-md-6 col-lg-6 col-xl-8 row">
<div class="col-7 col-sm-5 col-md-5 col-lg-5 col-xl-4 pr-0">
{{ form.postal }}
{% if form.postal.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.postal.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.postal.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.postal.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
<div class="col-12 col-sm-7 col-md-7 col-lg-7 col-xl-8">
{{ form.city }}
{% if form.city.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.city.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.city.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.city.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
</div>
@ -55,7 +55,7 @@
<label for="id_name" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Is active</label>
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
{{ form.active }}
{% if form.active.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.active.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.active.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.active.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
{% endif %}

View File

@ -17,18 +17,18 @@
{% for hidden in form.hidden_fields %}
{{ hidden }}
{% endfor %}
<div class="form-group row {% if form.long_label.errors %}has-error has-feedback{% endif %}">
<div class="form-group row {% if form.long_label.errors %}has-error has-feedback{% endif %}">
<label for="id_date" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Long label <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10">
{{ form.long_label }}&nbsp;{% if form.long_label.errors %}
{% for error in form.long_label.errors %}{{error}}{% endfor %}</span>{% endif %}
{% for error in form.long_label.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.short_label.errors %}has-error has-feedback{% endif %}">
<div class="form-group row {% if form.short_label.errors %}has-error has-feedback{% endif %}">
<label for="id_date" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Short label <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10">
{{ form.short_label }}&nbsp;{% if form.short_label.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.short_label.errors %}{{error}}{% endfor %}</span>{% endif %}
{{ form.short_label }}&nbsp;{% if form.short_label.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.short_label.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row ">

View File

@ -16,11 +16,11 @@
<div class="row">
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6 pr-0">
{{ form.first_name }}
{% if form.first_name.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.first_name.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.first_name.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.first_name.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
<div class="col-12 col-sm-6 col-md-6 col-lg-6 col-xl-6">
{{ form.last_name }}
{% if form.last_name.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.last_name.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.last_name.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.last_name.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
</div>
@ -29,21 +29,41 @@
<label for="id_birthdate" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Birthdate <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-3 col-md-3 col-lg-3 col-xl-3">
{{ form.birthdate }}
{% if form.birthdate.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.birthdate.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.birthdate.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.birthdate.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.gender.errors %}has-error has-feedback{% endif %}">
<label for="id_gender" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Gender <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-3 col-md-3 col-lg-3 col-xl-3">
{{ form.gender }}
{% if form.gender.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gender.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gender.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gender.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.email.errors %}has-error has-feedback{% endif %}">
<label for="id_email" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Email</label>
<div class="col-12 col-sm-10 col-md-6 col-lg-6 col-xl-6">
{{ form.email }}
{% if form.email.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.email.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.email.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.email.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.orientation.errors %}has-error has-feedback{% endif %}">
<label for="id_orientation" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Orientation <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-3 col-md-3 col-lg-2 col-xl-2">
{{ form.orientation }}
{% if form.orientation.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.orientation.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row">
<label for="id_year_of_practice" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Year of practice <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-3 col-md-3 col-lg-2 col-xl-2">
<div class="form-group {% if form.year_of_practice.errors %}has-error{% endif %}">
{{ form.year_of_practice }}
{% if form.year_of_practice.errors %}
<label id="id_year_of_practice-error" class="text-danger" for="id_year_of_practice">
{% for error in form.year_of_practice.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
</div>
<div class="form-group row ">
@ -51,31 +71,31 @@
<div class="col-8 col-md-9 col-lg-6 {% if form.club.errors %}has-danger{% endif %}">
{{ form.club }}
{{ form.club_related }}
{% if form.club.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.club.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.club.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.club.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.email.errors %}has-error has-feedback{% endif %}">
<label for="id_email_trainer" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Email trainer</label>
<div class="col-12 col-sm-10 col-md-6 col-lg-6 col-xl-6">
{{ form.email_trainer }}
{% if form.email_trainer.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.email_trainer.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.email_trainer.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.email_trainer.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row {% if form.trainings_by_week.errors %}has-error has-feedback{% endif %}">
<label for="id_trainings_by_week" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Trainings by week <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-3 col-md-3 col-lg-2 col-xl-2">
{{ form.trainings_by_week }}
{% if form.trainings_by_week.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.trainings_by_week.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.trainings_by_week.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.trainings_by_week.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="row">
<label for="id_hours_by_week" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Hours by week <span class="text-danger"><b>*</b></span></label>
<div class="col-8 col-sm-3 col-md-3 col-lg-3 col-xl-3">
<div class="col-8 col-sm-3 col-md-3 col-lg-2 col-xl-2">
<div class="form-group {% if form.hours_by_week.errors %}has-error{% endif %}">
{{ form.hours_by_week }}
{% if form.hours_by_week.errors %}
<label id="id_hours_by_week-error" class="text-danger" for="id_hours_by_week">
{% for error in form.hours_by_week.errors %}{{error}}{% endfor %}
{% for error in form.hours_by_week.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
@ -92,7 +112,7 @@
<label for="id_is_active" class="col-4 col-sm-2 col-md-3 col-lg-3 col-xl-3 col-form-label">Is active</label>
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2">
{{ form.is_active }}
{% if form.is_active.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.is_active.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.is_active.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.is_active.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
{% else %}

View File

@ -19,7 +19,7 @@
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.gymnast.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.gymnast.errors %}{{ error }}{% endfor %}</span>{% endif %}
{% else %}
<input type="text" class="form-control" value="{{ request.user.first_name }} {{ request.user.last_name }}" readonly="readonly" />
<input type="hidden" name="gymnast" id="gymnast" value="{{ request.user.gymnast.id }}" />

View File

@ -72,7 +72,7 @@
<label for="id_informations" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 col-form-label">Informations</label>
<div class="col-8 col-sm-10 col-md-10 col-lg-10 col-xl-10 {% if form.informations.errors %}has-danger{% endif %}">
{{ form.informations }}
{% if form.informations.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.informations.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.informations.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.informations.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group text-center">

View File

@ -14,21 +14,21 @@
<label for="id_template_color" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Template</label>
<div class="col-8 col-sm-7 col-md-6 col-lg-5 col-xl-4 {% if form.template_color.errors %}has-danger{% endif %}">
{{ form.template_color }}
{% if form.template_color.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.template_color.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.template_color.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.template_color.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row">
<label for="id_is_sidebar_minified" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Sidebar active</label>
<div class="col-8 col-sm-2 col-md-2 col-lg-2 col-xl-2 {% if form.is_sidebar_minified.errors %}has-danger{% endif %}">
{{ form.is_sidebar_minified }}
{% if form.is_sidebar_minified.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.is_sidebar_minified.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.is_sidebar_minified.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.is_sidebar_minified.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<div class="form-group row">
<label for="id_sidebar_color" class="col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4 col-form-label">Sidebar Color</label>
<div class="col-8 col-sm-7 col-md-6 col-lg-5 col-xl-4 {% if form.sidebar_color.errors %}has-danger{% endif %}">
{{ form.sidebar_color }}
{% if form.sidebar_color.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.sidebar_color.errors %}{{error}}{% endfor %}</span>{% endif %}
{% if form.sidebar_color.errors %}&nbsp;<span class="btn btn-sm btn-danger-outline">{% for error in form.sidebar_color.errors %}{{ error }}{% endfor %}</span>{% endif %}
</div>
</div>
<br />

View File

@ -11,10 +11,9 @@
<h4 class=""><i class="icon-primary fal fa-laugh-wink"></i> Hi {{ user.username }} !</h4>
</div>
<div class="card-body">
Welcome to Ultron v0.61 <span class="text-muted">(last update : 29-10-2022)</span><br />
Welcome to Ultron v0.63 <span class="text-muted">(last update : 31-10-2022)</span><br />
This application is here to help us 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>.<br />
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>.<br />
<br />
</div>
</div>
@ -72,10 +71,14 @@
{% for event in event_list %}
<tr>
<td class="text-left"><a href="{% url 'event_details' event.id %}">{{ event.name }}</a></td>
<td>{% if event.number_of_week_from_today < 0 %}{{event.number_of_week_from_today}}{% else
%}<span
class="text-{% if event.number_of_week_from_today > 12 %}success{% elif event.number_of_week_from_today > 9 %}info{% elif event.number_of_week_from_today > 6 %}warning{% else %}danger{% endif %}">
<b>{{event.number_of_week_from_today}}</b></span>{% endif %}</td>
<td>
{% if event.number_of_week_from_today < 0 %}
{{event.number_of_week_from_today}}
{% else %}
<span class="text-{% if event.number_of_week_from_today > 12 %}success{% elif event.number_of_week_from_today > 9 %}info{% elif event.number_of_week_from_today > 6 %}warning{% else %}danger{% endif %}">
<b>{{event.number_of_week_from_today}}</b></span>
{% endif %}
</td>
</tr>
{% endfor %}
</table>
@ -102,7 +105,7 @@
{% endfor %}
</table>
{% else %}
No update needed.
No update needed.
{% endif %}
</div>
</div>
@ -124,7 +127,7 @@
{% endfor %}
</table>
{% else %}
No update since your last visit
No update since your last visit
{% endif %}
</div>
</div>
@ -140,15 +143,14 @@
<table class="table tablesorter table-striped table-condensed" data-sort="table" id="gymnast_table">
{% for gymnast in birthday_list %}
<tr>
<td class="text-left"><a href="{% url 'gymnast_details' gymnast.id %}">{{ gymnast.first_name
}}</a></td>
<td class="text-left"><a href="{% url 'gymnast_details' gymnast.id %}">{{ gymnast.first_name }}</a></td>
<td class="">{{ gymnast.birthdate | date:"j M"}}</td>
<td class="text-right">{{ gymnast.next_age }} years</td>
</tr>
{% endfor %}
</table>
{% else %}
No next birtday (it's a bug).
No next birtday (it's a bug).
{% endif %}
</div>
</div>

View File

@ -9,18 +9,24 @@ class Educative(Markdownizable):
Classe `mère` educative. En trampoline tout est un éducatif : un saut, un enchainement, une
série de compétition, .
Level : Toutes les figures appartiennent à un niveau. Un niveau peut contenir plusieurs
figures.
Exemple : les trois sauts de base (saut groupé, saut carpé joint et saut écart)
sont dans le même niveau, salto avant groupé et salto arrière groupé appartiennent au même
niveau.
Le niveau dune figure est calculé par rapport aux prérequis : par défaut le niveau
dune figure est égal au niveau maximum de ses prérequis.
Level (skill) :
Toutes les figures appartiennent à un niveau. Un niveau peut contenir plusieurs
figures. Par défaut, le niveau d'une figure est son coéficient de difficulté (exprimé en 10ème
pour avoir des nombres entiers) auquel on ajoute 1 pour les positions tendue.
Exemple :
- saut groupé, saut carpé joint et saut écart ==> niveau 5
- salto avant groupé, salto arrière groupé ==> niveau 10
- salto avant carpé, barani groupé, salto arrière carpé ==> niveau 11
- salto avant tendu, barani carpé, salto arrière tendu ==> niveau 12
En plus de cela, il y a une limite minimum pour un niveau : le niveau dune figure ne peut pas
être plus petit que le niveau maximum de ses prérequis.
Le niveau, avec le rang, ont pour but daider les coaches à planifier lévolution et
lapprentissage des figures les unes par rapport aux autres.
Rank : Le rang permet, en plus du `level` (niveau), de classer les figures entre elles, de leur
Rank (skill) :
Le rang permet, en plus du `level` (niveau), de classer les figures entre elles, de leur
donner un ordre (informatif). Le rang dune figure est calculé par rapport aux prérequis et au
niveau : par défaut le rang dune figure est le maximum entre le niveau maximum de ses
prérequis plus un et le niveau de la figure.

View File

@ -24,12 +24,14 @@ class GymnastAdmin(admin.ModelAdmin):
"birthdate",
"gender",
# "email",
"is_active",
"orientation",
"year_of_practice",
"club",
"email_trainer",
"trainings_by_week",
"hours_by_week",
"informations",
"is_active",
)
list_display = ("last_name", "first_name", "age", "is_active") # , 'club'

View File

@ -17,6 +17,8 @@ class GymnastForm(forms.ModelForm):
"birthdate",
"gender",
"is_active",
"orientation",
"year_of_practice",
"club",
"email_trainer",
"trainings_by_week",
@ -49,6 +51,10 @@ class GymnastForm(forms.ModelForm):
"is_active": forms.CheckboxInput(
attrs={"class": "form-control form-check-input ml-0 mt-0"}
),
"orientation": forms.Select(attrs={"class": "form-control selectpicker"}),
"year_of_practice": forms.TextInput(
attrs={"class": "form-control", "placeholder": "3"}
),
"informations": forms.Textarea(
attrs={
"class": "form-control",

View File

@ -0,0 +1,28 @@
# Generated by Django 4.1.1 on 2022-10-31 13:40
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("people", "0004_gymnast_email_trainer"),
]
operations = [
migrations.AddField(
model_name="gymnast",
name="orientation",
field=models.PositiveSmallIntegerField(
blank=True,
choices=[(None, "Unknown"), (0, "Left"), (1, "Right")],
null=True,
verbose_name="Twist side",
),
),
migrations.AddField(
model_name="gymnast",
name="year_of_practice",
field=models.PositiveSmallIntegerField(default=0),
),
]

View File

@ -0,0 +1,22 @@
# Generated by Django 4.1.1 on 2022-10-31 13:48
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
("people", "0005_gymnast_orientation_gymnast_year_of_practice"),
]
operations = [
migrations.AddField(
model_name="gymnast",
name="created_at",
field=models.DateTimeField(
auto_now_add=True, default=django.utils.timezone.now
),
preserve_default=False,
),
]

View File

@ -30,7 +30,7 @@ class Gymnast(Markdownizable):
verbose_name_plural = "Gymnasts"
GENDER_CHOICES = ((0, "Male"), (1, "Female"))
# CATEGORY_CHOICES = ((9, "I9"), (10, "I10"), (11, "A11"), (12, "A12"), (13, "A13-14"), (15, "A15-16"), (18, "Senior"))
ORIENTATION_CHOICES = ((None, "Unknown"), (0, "Left"), (1, "Right"))
user = models.OneToOneField(
User, on_delete=models.SET_NULL, related_name="gymnast", blank=True, null=True
@ -42,19 +42,45 @@ class Gymnast(Markdownizable):
choices=GENDER_CHOICES, verbose_name="Sexe"
)
is_active = models.BooleanField(default=1, verbose_name="Active")
club = models.ForeignKey(
Club, null=True, on_delete=models.SET_NULL, related_name="gymnast"
year_of_practice = models.PositiveSmallIntegerField(default=0)
orientation = models.PositiveSmallIntegerField(
choices=ORIENTATION_CHOICES,
null=True,
blank=True,
verbose_name="Twist side",
)
# category = models.PositiveSmallIntegerField(
# choices=CATEGORY_CHOICES, verbose_name="Category"
# )
email_trainer = models.EmailField(
max_length=254, null=True, blank=True, verbose_name="Trainer's email"
)
created_at = models.DateTimeField(auto_now_add=True)
#
#
# TODO: traingin_by_week and hours_by_week --> classe de saison
# CATEGORY_CHOICES = (
# (9, "I9"),
# (10, "I10"),
# (11, "A11"),
# (12, "A12"),
# (13, "A13-14"),
# (15, "A Junior"),
# (18, "A Senior"),
# (21, "B11"),
# (22, "B12"),
# (23, "B13-14"),
# (24, "B Junior"),
# (25, "B Senior"),
# )
trainings_by_week = models.PositiveSmallIntegerField(
verbose_name="# Training by week"
)
hours_by_week = models.PositiveSmallIntegerField(verbose_name="# Hours by week")
# category = models.PositiveSmallIntegerField(
# choices=CATEGORY_CHOICES, verbose_name="Category"
# )
club = models.ForeignKey(
Club, null=True, on_delete=models.SET_NULL, related_name="gymnast"
)
def __str__(self):
return "%s %s" % (self.first_name, self.last_name)