69 lines
2.1 KiB
Django/Jinja
69 lines
2.1 KiB
Django/Jinja
<hr>
|
|
<div>
|
|
<h3>Options</h3>
|
|
<div id="options-tableau">
|
|
<label for="show_pres">afficher les présences</label>
|
|
{% if options.show_pres %}
|
|
<input type="checkbox" id="show_pres" name="show_pres" checked>
|
|
{% else %}
|
|
<input type="checkbox" id="show_pres" name="show_pres">
|
|
{% endif %}
|
|
|
|
<label for="show_reta">afficher les retards</label>
|
|
{% if options.show_reta %}
|
|
<input type="checkbox" id="show_reta" name="show_reta" checked>
|
|
{% else %}
|
|
<input type="checkbox" id="show_reta" name="show_reta">
|
|
{% endif %}
|
|
<label for="with_desc">afficher les descriptions</label>
|
|
{% if options.show_desc %}
|
|
<input type="checkbox" id="show_desc" name="show_desc" checked>
|
|
{% else %}
|
|
<input type="checkbox" id="show_desc" name="show_desc">
|
|
{% endif %}
|
|
<br>
|
|
|
|
<label for="nb_ligne_page">Nombre de ligne par page : </label>
|
|
<input type="number" name="nb_ligne_page" id="nb_ligne_page" value="{{options.nb_ligne_page}}">
|
|
|
|
<label for="n_page">Page n°</label>
|
|
<select name="n_page" id="n_page">
|
|
{% for n in range(1,total_pages+1) %}
|
|
{% if n == options.page %}
|
|
<option value="{{n}}" selected>{{n}}</option>
|
|
{% else %}
|
|
<option value="{{n}}">{{n}}</option>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</select>
|
|
<br>
|
|
<button onclick="updateTableau()">valider</button>
|
|
</div>
|
|
</div>
|
|
|
|
{{tableau | safe}}
|
|
|
|
<script>
|
|
|
|
function updateTableau() {
|
|
const url = new URL(location.href);
|
|
const form = document.getElementById("options-tableau");
|
|
const formValues = form.querySelectorAll("*[name]");
|
|
|
|
formValues.forEach((el) => {
|
|
if (el.type == "checkbox") {
|
|
url.searchParams.set(el.name, el.checked)
|
|
} else {
|
|
url.searchParams.set(el.name, el.value)
|
|
}
|
|
})
|
|
|
|
location.href = url.href;
|
|
}
|
|
|
|
</script>
|
|
<style>
|
|
.small-font {
|
|
font-size: 9pt;
|
|
}
|
|
</style> |