Jarvis/jarvis/followup/templates/wellbeing/create.html

298 lines
15 KiB
HTML
Raw Normal View History

2023-07-05 10:51:49 +02:00
{% extends "base.html" %}
{% load static %}
{% load has_group %}
{% 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="">{% if wellbeing_id %}Edit{% else %}Add{% endif %} well being score</h4>
</div>
<div class="card-body">
<form action="{% if wellbeing_id %}{% url 'wellbeing_update' wellbeing_id %}{% else %}{% url 'wellbeing_create' %}{% endif %}" method="post" class="form-horizontal" id="formulaire" name="formulaire">
{% csrf_token %}
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_gymnast" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Gymnast <span class="text-danger"><b>*</b></span></label>
2024-04-20 19:10:13 +02:00
<div class="col-8 col-sm-9 col-md-8 col-lg-8 col-lg-8 col-xl-6 {% if form.gymnast.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{% if request.user|has_group:"trainer" %}
{{ form.gymnast }}
{{ form.gymnast_related }}
{% if form.gymnast.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2023-07-05 10:51:49 +02:00
{% for error in form.gymnast.errors %}{{ error }}{% endfor %}
2024-04-22 15:27:12 +02:00
</span>
2023-07-05 10:51:49 +02:00
{% 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 }}" />
{% endif %}
</div>
</div>
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_date" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Date <span class="text-danger"><b>*</b></span></label>
2024-01-25 10:56:59 +01:00
<div class="col-5 col-sm-3 col-md-4 col-lg-4 col-xl-3 {% if form.date.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.date }}
2024-04-22 10:55:20 +02:00
{% if form.date.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2024-04-22 10:55:20 +02:00
{% for error in form.date.errors %}
{{ error }}
{% endfor %}
</span>
{% endif %}
2023-07-05 10:51:49 +02:00
</div>
</div>
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_event" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Event</label>
2024-04-20 19:10:13 +02:00
<div class="col-8 col-sm-8 col-md-8 col-lg-8 col-xl-6 {% if form.date.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.event }}
{{ form.event_related }}
2024-04-21 18:37:20 +02:00
{% if form.event.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2024-04-22 10:55:20 +02:00
{% for error in form.event.errors %}
{{ error }}
{% endfor %}
2024-04-22 15:27:12 +02:00
</span>
2023-07-05 10:51:49 +02:00
{% endif %}
</div>
</div>
2024-04-22 10:55:20 +02:00
<div class="form-group row">
2024-04-22 10:36:30 +02:00
<label for="id_mindstate" class="col-4 col-xl-3 col-form-label">Mind State <span class="text-danger"><b>*</b></span></label>
2024-04-22 10:55:20 +02:00
<div class="col-6 col-xl-7 pr-0 {% if form.mindstate.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.mindstate }}
2024-04-21 18:37:20 +02:00
{% if form.mindstate.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2024-04-21 18:37:20 +02:00
{% for error in form.mindstate.errors %}
{{ error }}
{% endfor %}
</span>
{% endif %}
2023-07-05 10:51:49 +02:00
</div>
2024-04-22 14:37:36 +02:00
<label for="id_mindstate" class="col-2 mt-2 text-center" id="mindstate_value"></label>
2023-07-05 10:51:49 +02:00
</div>
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_sleep" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Sleep <span class="text-danger"><b>*</b></span></label>
2024-04-22 10:55:20 +02:00
<div class="col-6 col-xl-7 pr-0 {% if form.sleep.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.sleep }}
2024-04-21 18:37:20 +02:00
{% if form.sleep.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2024-04-21 18:37:20 +02:00
{% for error in form.sleep.errors %}
{{ error }}
{% endfor %}
</span>
{% endif %}
2023-07-05 10:51:49 +02:00
</div>
2024-04-22 14:37:36 +02:00
<label for="id_sleep" class="col-2 mt-2 text-center" id="sleep_value"></label>
2023-07-05 10:51:49 +02:00
</div>
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_stress" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Stress <span class="text-danger"><b>*</b></span></label>
2024-04-22 10:55:20 +02:00
<div class="col-6 col-xl-7 pr-0 {% if form.stress.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.stress }}
2024-04-21 18:37:20 +02:00
{% if form.stress.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2024-04-21 18:37:20 +02:00
{% for error in form.stress.errors %}
{{ error }}
{% endfor %}
</span>
{% endif %}
2023-07-05 10:51:49 +02:00
</div>
2024-04-22 14:37:36 +02:00
<label for="id_stress" class="col-2 mt-2 text-center" id="stress_value"></label>
2023-07-05 10:51:49 +02:00
</div>
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_fatigue" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Fatigue <span class="text-danger"><b>*</b></span></label>
2024-04-22 10:55:20 +02:00
<div class="col-6 col-xl-7 pr-0 {% if form.fatigue.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.fatigue }}
2024-04-21 18:37:20 +02:00
{% if form.fatigue.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2024-04-21 18:37:20 +02:00
{% for error in form.fatigue.errors %}
{{ error }}
{% endfor %}
</span>
{% endif %}
2023-07-05 10:51:49 +02:00
</div>
2024-04-22 14:37:36 +02:00
<label for="id_fatigue" class="col-2 mt-2 text-center" id="fatigue_value"></label>
2023-07-05 10:51:49 +02:00
</div>
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_muscle_soreness" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Muscle Soreness <span class="text-danger"><b>*</b></span></label>
2024-04-22 10:55:20 +02:00
<div class="col-6 col-xl-7 pr-0 {% if form.muscle_soreness.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.muscle_soreness }}
2024-04-21 18:37:20 +02:00
{% if form.muscle_soreness.errors %}
2024-04-22 15:27:12 +02:00
<span class="btn btn-sm btn-danger">
2024-04-21 18:37:20 +02:00
{% for error in form.muscle_soreness.errors %}
{{ error }}
{% endfor %}
</span>
{% endif %}
2023-07-05 10:51:49 +02:00
</div>
2024-04-22 14:37:36 +02:00
<label for="id_muscle_soreness" class="col-2 mt-2 text-center" id="muscle_soreness_value"></label>
2024-04-22 10:36:30 +02:00
<!-- <div class="col-4 col-sm-3 col-md-5 col-lg-5 pl-0 pr-0">
2024-04-20 18:44:32 +02:00
<p class="text-muted text-form-info mb-0 mt-2"><small>(1: Very Low - 10: Very High)</small></p>
2024-04-22 10:36:30 +02:00
</div> -->
2023-07-05 10:51:49 +02:00
</div>
2024-04-20 19:25:43 +02:00
<div class="form-group row mb-0">
<label class="col-12 text-center text-danger mb-0" id="note_info"><b>Please provide details regarding the scores.</b></label>
</div>
2023-07-05 10:51:49 +02:00
<div class="form-group row ">
2024-01-25 11:07:05 +01:00
<label for="id_information" class="col-4 col-sm-3 col-md-4 col-lg-4 col-xl-3 col-form-label">Informations <span class="text-danger" id="span_info_required"><b>*</b></span></label>
2024-04-20 16:51:31 +02:00
</div>
<div class="form-group row ">
<div class="col-12 {% if form.id_information.errors %}has-danger{% endif %}">
2023-07-05 10:51:49 +02:00
{{ form.informations }}
</div>
</div>
2024-04-20 19:25:43 +02:00
<div class="form-group text-center" id="div_submit">
2024-02-12 11:48:41 +01:00
<input type="submit" value="{% if wellbeing_id %}Update{% else %}Add{% endif %}" class="btn btn-warning" />
2023-07-05 10:51:49 +02:00
</div>
2024-04-22 10:36:30 +02:00
2023-07-05 10:51:49 +02:00
</form>
</div>
</div>
</div>
</div>
{% endblock %}
{% block footerscript %}
2024-04-20 19:10:13 +02:00
<script type="text/javascript" >
2024-04-22 10:36:30 +02:00
var mindstate_slider = document.getElementById("id_mindstate");
var sleep_slider = document.getElementById("id_sleep");
var stress_slider = document.getElementById("id_stress");
var fatigue_slider = document.getElementById("id_fatigue");
var muscle_soreness_slider = document.getElementById("id_muscle_soreness");
2024-04-23 10:15:36 +02:00
// mindstate_slider.min = 1;
// mindstate_slider.value = 5;
// sleep_slider.min = 1;
// sleep_slider.value = 5;
// stress_slider.min = 1;
// stress_slider.value = 5;
// fatigue_slider.min = 1;
// fatigue_slider.value = 5;
// muscle_soreness_slider.min = 1;
// muscle_soreness_slider.value = 5;
2024-04-22 10:36:30 +02:00
var output_sleep = document.getElementById("sleep_value");
var output_mindstate = document.getElementById("mindstate_value");
var output_stress = document.getElementById("stress_value");
var output_fatigue = document.getElementById("fatigue_value");
var output_muscle_soreness = document.getElementById("muscle_soreness_value");
output_mindstate.innerHTML = mindstate_slider.value;
output_sleep.innerHTML = sleep_slider.value;
output_stress.innerHTML = stress_slider.value;
output_fatigue.innerHTML = fatigue_slider.value;
output_muscle_soreness.innerHTML = muscle_soreness_slider.value;
mindstate_slider.oninput = function(){
2024-04-22 10:55:20 +02:00
if(this.value < 5)
output_mindstate.innerHTML = '<b class="text-danger">' + this.value + '</b>';
else
output_mindstate.innerHTML = this.value;
2024-04-22 10:36:30 +02:00
}
sleep_slider.oninput = function(){
2024-04-22 10:55:20 +02:00
if(this.value < 5)
output_sleep.innerHTML = '<b class="text-danger">' + this.value + '</b>';
else
2024-04-22 10:57:32 +02:00
output_sleep.innerHTML = this.value;
2024-04-22 10:36:30 +02:00
}
stress_slider.oninput = function(){
2024-04-22 10:55:20 +02:00
if(this.value > 5)
output_stress.innerHTML = '<b class="text-danger">' + this.value + '</b>';
else
output_stress.innerHTML = this.value;
2024-04-22 10:36:30 +02:00
}
fatigue_slider.oninput = function(){
2024-04-22 10:55:20 +02:00
if(this.value > 5)
output_fatigue.innerHTML = '<b class="text-danger">' + this.value + '</b>';
else
output_fatigue.innerHTML = this.value;
2024-04-22 10:36:30 +02:00
}
muscle_soreness_slider.oninput = function(){
2024-04-22 10:55:20 +02:00
if(this.value > 5)
output_muscle_soreness.innerHTML = '<b class="text-danger">' + this.value + '</b>';
else
output_muscle_soreness.innerHTML = this.value;
2024-04-22 10:36:30 +02:00
}
2024-04-20 19:10:13 +02:00
$().ready(function(){
$("#note_info").hide();
$("#span_info_required").hide();
2024-04-20 19:25:43 +02:00
function is_information_field_too_short()
2024-04-20 19:10:13 +02:00
{
if($('#id_informations').val().length < 10)
return true;
else
return false;
};
2024-04-20 19:25:43 +02:00
function is_informations_needed()
2024-04-20 19:10:13 +02:00
{
var test = is_value_lower($('#id_mindstate').val());
test = test || is_value_lower($('#id_sleep').val());
test = test || is_value_upper($('#id_stress').val());
test = test || is_value_upper($('#id_fatigue').val());
test = test || is_value_upper($('#id_muscle_soreness').val());
return test
}
2023-07-05 10:51:49 +02:00
2024-04-20 19:10:13 +02:00
function is_value_lower(value)
{
if(value != '')
if(value <= 5)
return true;
else
return false;
};
2024-04-20 19:10:13 +02:00
function is_value_upper(value)
{
if(value != '')
if(value >= 5)
return true;
else
return false;
};
2024-01-23 18:52:57 +01:00
2024-04-22 14:37:36 +02:00
$('#id_mindstate, #id_sleep, #id_stress, #id_fatigue, #id_muscle_soreness').on('change', function(){
2024-04-20 19:25:43 +02:00
informations_needed = is_informations_needed();
2024-01-23 18:52:57 +01:00
2024-04-20 19:25:43 +02:00
if(informations_needed) {
2024-04-20 19:10:13 +02:00
$("#note_info").show();
$("#span_info_required").show();
2024-04-20 19:25:43 +02:00
$("#div_submit").hide();
2024-04-20 19:10:13 +02:00
} else {
$("#note_info").hide();
$("#span_info_required").hide();
2024-04-22 14:37:36 +02:00
$("#div_submit").show();
2024-04-20 19:10:13 +02:00
}
});
2024-04-20 19:10:13 +02:00
$('#id_informations').on('keyup', function(){
2024-04-20 19:25:43 +02:00
test = is_informations_needed();
test = test && is_information_field_too_short()
2024-04-20 19:25:43 +02:00
if(test) {
2024-04-20 19:10:13 +02:00
$("#note_info").show();
2024-04-20 19:25:43 +02:00
$("#div_submit").hide();
} else {
2024-04-20 19:10:13 +02:00
$("#note_info").hide();
2024-04-20 19:25:43 +02:00
$("#div_submit").show();
}
2024-04-20 19:10:13 +02:00
});
2024-01-23 18:52:57 +01:00
2024-04-20 19:10:13 +02:00
const csrf_token = "{{ csrf_token|escapejs }}";
const event_lookup = "{% url 'event_lookup' %}";
const gymnast_lookup = "{% url 'gymnast_lookup' %}";
2024-01-23 18:52:57 +01:00
});
2024-04-20 19:10:13 +02:00
</script>
{% if request.session.template == 0 %}
<script src="{% static "js/template_users/gymnast_autocomplete_black.js" %}"></script>
<script src="{% static "js/template_users/event_autocomplete_black.js" %}"></script>
{% else %}
<script src="{% static "js/template_users/gymnast_autocomplete.js" %}"></script>
<script src="{% static "js/template_users/event_autocomplete.js" %}"></script>
{% endif %}
2024-04-21 18:37:20 +02:00
2023-07-05 10:51:49 +02:00
{% endblock %}