forked from ScoDoc/ScoDoc
Corrige 68f64ba383
pour #948
This commit is contained in:
parent
408c340525
commit
055bbf9f7f
@ -209,17 +209,15 @@
|
||||
url.searchParams.set("order", order);
|
||||
url.searchParams.set("order_col", order_col.split(":")[1]);
|
||||
|
||||
location.href = url.href
|
||||
location.href = url.href;
|
||||
|
||||
}));
|
||||
|
||||
const selecteur = document.querySelector("#moduleimpl_select");
|
||||
console.log(selecteur);
|
||||
selecteur.addEventListener('change', ()=>{
|
||||
console.log("selecteur", selecteur.value)
|
||||
selecteur?.addEventListener('change', ()=>{
|
||||
const url = new URL(location.href);
|
||||
url.searchParams.set("moduleimpl_id", selecteur.value);
|
||||
location.href = url.href
|
||||
url.searchParams.set("moduleimpl_id", selecteur?.value);
|
||||
location.href = url.href;
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -429,9 +429,11 @@ def _get_dates_from_assi_form(
|
||||
]
|
||||
):
|
||||
form.set_error(
|
||||
"La date de début n'appartient à aucun semestre de l'étudiant"
|
||||
if formsemestre is None
|
||||
else "La date de début n'appartient pas au semestre",
|
||||
(
|
||||
"La date de début n'appartient à aucun semestre de l'étudiant"
|
||||
if formsemestre is None
|
||||
else "La date de début n'appartient pas au semestre"
|
||||
),
|
||||
form.date_debut,
|
||||
)
|
||||
|
||||
@ -443,9 +445,11 @@ def _get_dates_from_assi_form(
|
||||
]
|
||||
):
|
||||
form.set_error(
|
||||
"La date de fin n'appartient à aucun semestre de l'étudiant"
|
||||
if not formsemestre
|
||||
else "La date de fin n'appartient pas au semestre",
|
||||
(
|
||||
"La date de fin n'appartient à aucun semestre de l'étudiant"
|
||||
if not formsemestre
|
||||
else "La date de fin n'appartient pas au semestre"
|
||||
),
|
||||
form.date_fin,
|
||||
)
|
||||
|
||||
@ -619,9 +623,9 @@ def bilan_etud():
|
||||
)
|
||||
|
||||
# préparation du selecteur de moduleimpl
|
||||
|
||||
annee_sco = _get_anne_sco_from_request()
|
||||
moduleimpl_select: str = _module_selector_multiple(
|
||||
etud, moduleimpl_id, no_default=True
|
||||
etud, moduleimpl_id, no_default=True, annee_sco=annee_sco
|
||||
)
|
||||
|
||||
# Préparation de la page
|
||||
@ -1371,6 +1375,19 @@ def visu_assi_group():
|
||||
)
|
||||
|
||||
|
||||
def _get_anne_sco_from_request() -> int | None:
|
||||
"""La valeur du paramètreannee_sco de la requête GET,
|
||||
ou None si absent"""
|
||||
annee_sco: str | None = request.args.get("annee_sco", None)
|
||||
# Vérification de l'année scolaire
|
||||
if annee_sco is not None:
|
||||
try:
|
||||
return int(annee_sco)
|
||||
except (ValueError, TypeError):
|
||||
pass
|
||||
return None
|
||||
|
||||
|
||||
def _prepare_tableau(
|
||||
data: liste_assi.AssiJustifData,
|
||||
filename: str = "tableau-assiduites",
|
||||
@ -1382,12 +1399,16 @@ def _prepare_tableau(
|
||||
titre="Évènements enregistrés pour cet étudiant",
|
||||
cache_key: str = "",
|
||||
force_options: dict[str, object] = None,
|
||||
annee_sco: int | None = None,
|
||||
) -> tuple[bool, Response | str]:
|
||||
"""
|
||||
Prépare un tableau d'assiduités / justificatifs
|
||||
|
||||
Cette fonction récupère dans la requête les arguments :
|
||||
|
||||
annee_sco : int -> XXX
|
||||
n_page : int -> XXX
|
||||
page_number : int -> XXX
|
||||
show_pres : bool -> Affiche les présences, par défaut False
|
||||
show_reta : bool -> Affiche les retard, par défaut False
|
||||
show_desc : bool -> Affiche les descriptions, par défaut False
|
||||
@ -1401,7 +1422,7 @@ def _prepare_tableau(
|
||||
show_pres: bool | str = request.args.get("show_pres", False)
|
||||
show_reta: bool | str = request.args.get("show_reta", False)
|
||||
show_desc: bool | str = request.args.get("show_desc", False)
|
||||
|
||||
annee_sco = _get_anne_sco_from_request() if annee_sco is None else annee_sco
|
||||
nb_ligne_page: int = request.args.get("nb_ligne_page")
|
||||
# Vérification de nb_ligne_page
|
||||
try:
|
||||
@ -1418,15 +1439,6 @@ def _prepare_tableau(
|
||||
|
||||
fmt = request.args.get("fmt", "html")
|
||||
|
||||
annee_sco: str | None = request.args.get("annee_sco", None)
|
||||
|
||||
# Vérification de l'année scolaire
|
||||
if annee_sco is not None:
|
||||
try:
|
||||
annee_sco = int(annee_sco)
|
||||
except (ValueError, TypeError):
|
||||
annee_sco = None
|
||||
|
||||
# Ordre
|
||||
ordre: tuple[str, str | bool] = None
|
||||
ordre_col: str = request.args.get("order_col", None)
|
||||
@ -2295,11 +2307,14 @@ def _module_selector_multiple(
|
||||
moduleimpl_id: int = None,
|
||||
only_form: FormSemestre = None,
|
||||
no_default: bool = False,
|
||||
annee_sco: int | None = None,
|
||||
) -> str:
|
||||
"""menu HTML <select> pour choix moduleimpl
|
||||
Prend les semestres de l'année, sauf si only_form est indiqué.
|
||||
Prend les semestres de l'année indiquée, sauf si only_form est indiqué.
|
||||
"""
|
||||
modimpls_by_formsemestre = etud.get_modimpls_by_formsemestre(scu.annee_scolaire())
|
||||
modimpls_by_formsemestre = etud.get_modimpls_by_formsemestre(
|
||||
scu.annee_scolaire() if annee_sco is None else annee_sco
|
||||
)
|
||||
choices = OrderedDict()
|
||||
for formsemestre_id in modimpls_by_formsemestre:
|
||||
formsemestre: FormSemestre = FormSemestre.query.get(formsemestre_id)
|
||||
|
Loading…
Reference in New Issue
Block a user