khana/templates/score_create.html

200 lines
10 KiB
HTML

{% extends "base.html" %}
{% block content %}
<div class="row justify-content-center">
<div class="col-12 col-sm-12 col-md-8 col-lg-6 col-xl-6">
<div class="card">
<div class="card-header">
<h4 class="card-title">{% if scoreid %}Edit{% else %}Add{% endif %} score</h4>
</div>
<div class="card-body">
<form action="{% if scoreid %}{% url 'score_update' scoreid %}{% else %}{% url 'score_create' %}{% endif %}" method="post" class="form-horizontal" id="formulaire" name="formulaire">
{% csrf_token %}
<div class="form-group row ">
<label for="id_gymnast" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Gymnast</label>
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-10 {% if form.date.errors %}has-danger{% endif %}">
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}
<label class="text-danger" for="id_gymnast" id="gymnast-error">
{% for error in form.gymnast.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_event" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Event</label>
<div class="col-8 col-sm-9 col-md-9 col-lg-9 col-xl-10 {% if form.date.errors %}has-danger{% endif %}">
{{ form.event }}
{{ form.event_related }}
{% if form.event.errors %}
<label class="btn btn-sm btn-danger-outline">
{% for error in form.event.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_routine_type" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Routine's type</label>
<div class="col-sm-6 col-md-5 {% if form.date.errors %}has-danger{% endif %}">
{{ form.routine_type }}
{% if form.routine_type.errors %}
<label class="btn btn-sm btn-danger-outline">
{% for error in form.routine_type.errors %}{{error}}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_point_difficulty" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Difficulty</label>
<div class="col-sm-6 col-md-3 {% if form.date.errors %}has-danger{% endif %}">
{{ form.point_difficulty }}
{% if form.point_difficulty.errors %}
<label class="text-danger" for="id_point_difficulty" id="point_difficulty-error">
{% for error in form.point_difficulty.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="point_time_of_flight" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">ToF</label>
<div class="col-sm-6 col-md-3 {% if form.date.errors %}has-danger{% endif %}">
{{ form.point_time_of_flight }}
{% if form.point_time_of_flight.errors %}
<label class="text-danger" for="id_gymnast" id="gymnast-error">
{% for error in form.point_time_of_flight.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_point_execution" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Execution</label>
<div class="col-sm-6 col-md-3 {% if form.date.errors %}has-danger{% endif %}">
{{ 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 %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="point_horizontal_displacement" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">HD</label>
<div class="col-sm-6 col-md-3 {% if form.date.errors %}has-danger{% endif %}">
{{ form.point_horizontal_displacement }}
{% if form.point_horizontal_displacement.errors %}
<label class="text-danger" for="id_gymnast" id="gymnast-error">
{% for error in form.point_horizontal_displacement.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="penality" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Penality</label>
<div class="col-sm-6 col-md-3 {% if form.date.errors %}has-danger{% endif %}">
{{ form.penality }}
{% if form.penality.errors %}
<label class="text-danger" for="id_gymnast" id="gymnast-error">
{% for error in form.penality.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group row ">
<label for="id_total" class="col-4 col-sm-3 col-md-3 col-lg-3 col-xl-2 col-form-label">Total</label>
<div class="col-sm-6 col-md-3 {% if form.date.errors %}has-danger{% endif %}">
{{ form.total }}
{% if form.total.errors %}
<label class="text-danger" for="id_total" id="gymnast-error">
{% for error in form.total.errors %}{{ error }}{% endfor %}
</label>
{% endif %}
</div>
</div>
<div class="form-group text-center">
<input type="submit" value="{% if scoreid %}Save{% else %}Add{% endif %}" class="btn btn-warning" />
</div>
</form>
</div>
</div>
</div>
</div>
{% endblock %}
{% block footerscript %}
<script type="text/javascript" >
$(function(){
$('#id_gymnast_related').autocomplete({
source: function(request, response) {
$.ajax({
url: '/gymnast/lookup/?pattern=' + $('#id_gymnast_related').val(),
dataType: "json",
success: function(data) {
if(data.length != 0) {
response($.map(data, function(item) {
return {
label: item.Name,
value: item.Name,
gymnastid: item.ID
}
}))
} else {
response([{ label: 'No result found.', value: '' }]);
};
},
error: function (exception) {
console.log(exception);
}
});
},
minLength: 3,
select: function (event, ui) {
$($(this).data('ref')).val(ui.item.gymnastid);
}
});
$('#id_event_related').autocomplete({
source: function(request, response) {
$.ajax({
url: '/event/lookup/?pattern=' + $('#id_event_related').val(),
dataType: "json",
success: function(data) {
if(data.length != 0) {
response($.map(data, function(item) {
return {
label: item.Name,
value: item.Name,
eventid: item.ID
}
}))
} else {
response([{ label: 'No result found.', value: '' }]);
};
},
error: function (exception) {
console.log(exception);
}
});
},
minLength: 3,
select: function (event, ui) {
$($(this).data('ref')).val(ui.item.eventid);
}
});
$('#id_point_execution, #id_point_difficulty, #id_point_time_of_flight, #id_point_horizontal_displacement, #id_penality').keyup(function(){
var value = parseFloat($('#id_point_execution').val())
+ parseFloat($('#id_point_difficulty').val())
+ parseFloat($('#id_point_time_of_flight').val())
+ parseFloat($('#id_point_horizontal_displacement').val())
- parseFloat($('#id_penality').val());
$('#id_total').val(value.toFixed(3));
});
});
</script>
{% endblock %}