]> git.immae.eu Git - perso/Denise/oms.git/blame_incremental - templates/index.html
Bouton importer fichier avec jolie image et import tout de suite
[perso/Denise/oms.git] / templates / index.html
... / ...
CommitLineData
1{% extends "base.html" %}
2{% block contenu %}
3<p>Bienvenue sur ce petit outil qui permet de tracer la courbe de poids des enfants jusqu'à 5 ans.</p>
4<hr>
5
6
7<h2>Données de l'enfant</h2>
8
9<!--<h3>Importer un fichier </h3>
10<div class="bouton" onclick="affiche_cache('import_donnees',this)">Afficher</div>-->
11<div id="import_donnees">
12 <form action="/" method="post" enctype="multipart/form-data" id="form_import_donnees">
13
14
15
16 <label for="fichier_donnees">
17 <img src="static/icons/import.png">
18 <div class="icon_legend">Importer un fichier</div>
19 </label>
20 <input type="file" name="fichier_donnees" id="fichier_donnees" oninput="upload_file()">
21 <!--<input type="submit" name="valider_fichier" value="Charger les données">-->
22</form>
23</div>
24
25<form id="donnees_enfant">
26
27<div>
28<input type="reset" value="Effacer les données du formulaire">
29</div>
30
31<h3>Informations sur l'enfant</h3>
32<ul>
33<li><label>Nom de l'enfant&nbsp;:</label> <input type="text" name="nom" value="{{ valform.nom }}"></li>
34<li><label>Sexe&nbsp;:</label> <label><input type="radio" name="sexe" value="F" {%if valform.sexe == "F" %}checked{% endif %}> féminin </label>
35| <label><input type="radio" name="sexe" value="M" {%if valform.sexe == "M"%} checked {% endif %}> masculin</label> | <label><input type="radio" name="sexe" value="N" {%if valform.sexe == "N"%} checked {% endif %}> neutre (expérimental)</label></li>
36<li><label>Date de naissance&nbsp;: </label> <input type="date" name="naissance" value="{{ valform.naissance }}"></li>
37</ul>
38
39
40
41
42
43<h3>Données de poids</h3>
44<p>Syntaxe pour l'âge&nbsp;: utiliser j, s, m, a comme des "unités" (jours, semaines, mois, années). Vous pouvez mixer les unités, par exemple "3a2m5j" pour 3 ans, 2 mois et 5 jours. Les espaces sont ignorées, et il faut saisir des nombres entiers.</p>
45<p>Saisir le poids en kilogrammes (par exemple "2.62" ou "2,62" pour 2 kilogrammes et 620 grammes).</p>
46<p>Il faut saisir la date ou l'âge. Si les deux sont saisis, seul l'âge comptera.</p>
47
48<p>Si le tableau est laissé vide, cela génère une courbe "vide" de référence.</p>
49
50<table id="donneespoids">
51 <tr><th>Âge</th><th>Date</th><th>Poids</th></tr>
52
53{% for i in range(valform.nb_data) %}
54<tr><td>
55 <input type="text" name="age_{{ i }}" value="{{ valform['age_'~i] }}">
56</td><td><input type="date" name="date_{{ i }}"></td>
57 <td><input type="text" name="poids_{{ i }}" value="{{ valform['poids_'~i] }}"></td>
58</tr>
59{% endfor %}
60
61</table>
62<p class="bouton" onclick="ajoutelignes()">Cliquer ici pour ajouter des lignes</p>
63
64
65
66<h3>Préférences du graphique</h3>
67<div class="bouton" onclick="affiche_cache('pref_graphique',this)">Afficher</div>
68
69<ul id="pref_graphique">
70 <li><label>Type de courbe&nbsp;:</label> <label><input type="radio" name="typecourbe" value="P"
71 {% if valform.typecourbe == "P" or valform.typecourbe is not defined %} checked {% endif %}> Percentiles</label> | <label><input type="radio" name="typecourbe" value="Z"
72 {% if valform.typecourbe == "Z" %} checked {% endif %}> Moyenne et écarts-type</label></li>
73 <li><label>Grille&nbsp;: <input type="checkbox" name="grille" {%if valform.grille == "oui" or valform.grille is not defined %} checked {% endif %}></label></li>
74 <li><label>Unité&nbsp;:
75 <select name="unite">
76 <option value="" {% if valform.typecourbe == "" or valform is not defined %} selected {%endif %}>Par défaut</option>
77 {% for unite in ['jours','semaines','mois','années'] %}
78 <option value="{{ unite }}"{% if valform.unite == unite %} selected {% endif %} >{{ unite }}</option>
79 {% endfor %}
80 </select></label></li>
81 <li><label>valeur maximum du graphique (facultatif, syntaxe similaire à l'âge) </label><input type="text" name="maxi" value="{{ valform.maxi }}"></li>
82 <li>Dimensions du graphique&nbsp;: <label>largeur&nbsp;: </label><input type="text" name="largeur" value="{{ valform.largeur }}">
83 <label>hauteur&nbsp;: </label><input type="text" name="hauteur" value="{{ valform.hauteur }}"></li>
84 <li><label>Légende&nbsp;: <input type="checkbox" name="legende" {% if valform.legende == 'oui' %} checked{% endif %}> </label>
85<label>Position&nbsp;: <select name="positionlegende">
86{%for (pos,posnom) in [('upper left','Haut gauche'),('upper right','Haut Droite'),('lower left','Bas gauche'),('lower right','Bas droite')] %}
87<option value="{{ pos }}">{{ posnom }}</option>
88{% endfor %}
89</select></label>
90 </li>
91 <li>Couleur courbe du bas <input type="color" name="couleur_courbe1" value="{{ valform.couleurs.courbe1 }}"> | Couleur courbe du milieu <input type="color" name="couleur_courbe2" value="{{ valform.couleurs.courbe2 }}"> | Couleur courbe du haut <input type="color" name="couleur_courbe3" value="{{ valform.couleurs.courbe3 }}"> </li>
92 <li>Couleur du fond <input type="color" name="couleur_fond" value="{{ valform.couleurs.fond }}"> | Couleur de la grille <input type="color" name="couleur_grille" value="{{ valform.couleurs.grille }}"> | Couleur des axes, texte et courbe <input type="color" name="couleur_cadretxt" value="{{ valform.couleurs.cadretxt }}"></li>
93</ul>
94
95
96</form>
97<!-- section retour -->
98<hr>
99
100<button onclick="appelle_image()">Je veux la courbe !</button>
101
102<hr>
103<div id="courbe_warnings">
104 <p><strong>Alerte&nbsp;:</strong> la courbe a eu quelques soucis à se générer. Voici la liste des erreurs.</p>
105 <ul></ul>
106</div>
107<div id="courbe_erreurs">
108 <p><strong>Alerte&nbsp;:</strong> La courbe n'a pas pu être générée. Vérifiez les données saisies, ou contactez l'administratrice. Erreurs&nbsp;: </p>
109 <ul></ul>
110</div>
111<div id="sectioncourbe">
112
113 <h2>Courbe</h2>
114 <img id="courbe">
115 <div>
116 <button id="courbe_dl">Télécharger la courbe</button>
117 </div>
118</div>
119
120
121<div id="sectionexport">
122 <h2>Export des données</h2>
123 <p>Vous pouvez télécharger les données afin de ne pas avoir à les re-saisir la prochaine fois.</p>
124
125 <div><button id="export_dl">Télécharger les données</button></div>
126 <p>Si vous n'arrivez pas à télécharger les données, <a href='#export' onclick="affiche_export()">cliquez ici</a> pour les voir en texte clair&nbsp;: il vous suffira de les copier/coller dans un fichier texte.</p>
127 <textarea readonly id="export">
128 </textarea>
129
130</div>
131
132{% endblock %}