détails feuille placement

This commit is contained in:
Emmanuel Viennet 2021-09-18 14:21:15 +02:00
parent 9a9dc4a483
commit 31505e1330
3 changed files with 62 additions and 55 deletions

View File

@ -128,8 +128,9 @@ def moduleimpl_evaluation_menu(evaluation_id, nbnotes=0, REQUEST=None):
"args": { "args": {
"evaluation_id": evaluation_id, "evaluation_id": evaluation_id,
}, },
"enabled": nbnotes == 0 "enabled": sco_permissions_check.can_edit_notes(
and sco_permissions_check.can_edit_notes(current_user, E["moduleimpl_id"]), current_user, E["moduleimpl_id"]
),
}, },
{ {
"title": "Absences ce jour", "title": "Absences ce jour",

View File

@ -107,7 +107,10 @@ class PlacementForm(FlaskForm):
batiment = StringField("Batiment") batiment = StringField("Batiment")
salle = StringField("Salle") salle = StringField("Salle")
nb_rangs = SelectField( nb_rangs = SelectField(
"nb_rangs", coerce=int, choices=[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] "nb de places en largeur",
coerce=int,
choices=[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
description="largeur de la salle, en nombre de places",
) )
etiquetage = RadioField( etiquetage = RadioField(
"Numérotation", "Numérotation",

View File

@ -1,34 +1,34 @@
{% import 'bootstrap/wtf.html' as wtf %} {% import 'bootstrap/wtf.html' as wtf %}
{% macro render_field(field) %} {% macro render_field(field) %}
<tr> <tr>
<td class="wtf-field">{{ field.label }}</td> <td class="wtf-field">{{ field.label }}</td>
<td class="wtf-field">{{ field()|safe }} <td class="wtf-field">{{ field()|safe }}
{% if field.errors %} {% if field.errors %}
<ul class=errors> <ul class=errors>
{% for error in field.errors %} {% for error in field.errors %}
<li>{{ error }}</li> <li>{{ error }}</li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
{% endmacro %} {% endmacro %}
<div class="saisienote_etape1 form_placement"> <div class="saisienote_etape1 form_placement">
<form method=post> <form method=post>
{{ form.evaluation_id }} {{ form.evaluation_id }}
{{ form.csrf_token }} {{ form.csrf_token }}
<table class="tf"> <table class="tf">
<tbody> <tbody>
{{ render_field(form.surveillants) }} {{ render_field(form.surveillants) }}
{{ render_field(form.batiment) }} {{ render_field(form.batiment) }}
{{ render_field(form.salle) }} {{ render_field(form.salle) }}
{{ render_field(form.nb_rangs) }} {{ render_field(form.nb_rangs) }}
{{ render_field(form.etiquetage) }} {{ render_field(form.etiquetage) }}
{% if form.has_groups %} {% if form.has_groups %}
{{ render_field(form.groups) }} {{ render_field(form.groups) }}
<!-- Tentative de recréer le choix des groupes sous forme de cases à cocher // demande à créer des champs wtf dynamiquement <!-- Tentative de recréer le choix des groupes sous forme de cases à cocher // demande à créer des champs wtf dynamiquement
{% for partition in form.groups_tree %} {% for partition in form.groups_tree %}
<tr> <tr>
{% if partition == 'Tous' %} {% if partition == 'Tous' %}
@ -43,35 +43,38 @@
</tr> </tr>
{% endfor %} {% endfor %}
--> -->
{% endif %} {% endif %}
{{ render_field(form.file_format) }} {{ render_field(form.file_format) }}
</tbody> </tbody>
</table> </table>
<p> <p>
<input id="gr_submit" type=submit value="Ok"> <input id="gr_submit" type=submit value="Ok">
<input id="gr_cancel" type=submit value="Annuler"> <input id="gr_cancel" type=submit value="Annuler">
</script> </script>
</form> </form>
<h3>Explications</h3> <h3>Explications</h3>
<ul> <ul>
<li>préciser les surveillants et la localisation (bâtiment et salle) et indiquer le nombre de colonnes;</li> <li>préciser les surveillants et la localisation (bâtiment et salle) et indiquer la largeur de la salle (nombre
<li>deux types de placements sont possibles : de colonnes);</li>
<ul> <li>deux types de placements sont possibles :
<li>continue suppose que les tables ont toutes un numéro unique;</li> <ul>
<li>coordonnées localise chaque table via un numéro de colonne et un numéro de ligne (ou rangée).</li> <li>continue suppose que les tables ont toutes un numéro unique;</li>
</ul></li> <li>coordonnées localise chaque table via un numéro de colonne et un numéro de ligne (ou rangée).</li>
<li>il est possible de choisir un ou plusieurs groupes (shift/ctrl click) ou de choisir 'tous'.</li> </ul>
<li>Choisir le format du fichier résultat : </li>
<ul> <li>Il est possible de choisir un ou plusieurs groupes (shift/ctrl click) ou de choisir 'tous'.</li>
<li>le format pdf consiste en un tableau précisant pour chaque étudiant la localisation de sa table;</li> <li>Choisir le format du fichier résultat :
<li>le format xls produit un classeur avec deux onglets: <ul>
<ul> <li>le format pdf consiste en un tableau précisant pour chaque étudiant la localisation de sa table;
<li>le premier onglet donne une vue de la salle avec la localisation des étudiants et </li>
peut servir de feuille d'émargement;</li> <li>le format xls produit un classeur avec deux onglets:
<li>le second onglet est un tableau similaire à celui du fichier pdf;</li> <ul>
</ul></li> <li>le premier onglet donne une vue de la salle avec la localisation des étudiants et
</ul> </li> peut servir de feuille d'émargement;</li>
</ul> <li>le second onglet est un tableau similaire à celui du fichier pdf;</li>
</ul>
</li>
</ul>
</li>
</ul>
</div> </div>