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", order);
|
||||||
url.searchParams.set("order_col", order_col.split(":")[1]);
|
url.searchParams.set("order_col", order_col.split(":")[1]);
|
||||||
|
|
||||||
location.href = url.href
|
location.href = url.href;
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
|
||||||
const selecteur = document.querySelector("#moduleimpl_select");
|
const selecteur = document.querySelector("#moduleimpl_select");
|
||||||
console.log(selecteur);
|
selecteur?.addEventListener('change', ()=>{
|
||||||
selecteur.addEventListener('change', ()=>{
|
|
||||||
console.log("selecteur", selecteur.value)
|
|
||||||
const url = new URL(location.href);
|
const url = new URL(location.href);
|
||||||
url.searchParams.set("moduleimpl_id", selecteur.value);
|
url.searchParams.set("moduleimpl_id", selecteur?.value);
|
||||||
location.href = url.href
|
location.href = url.href;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -429,9 +429,11 @@ def _get_dates_from_assi_form(
|
|||||||
]
|
]
|
||||||
):
|
):
|
||||||
form.set_error(
|
form.set_error(
|
||||||
|
(
|
||||||
"La date de début n'appartient à aucun semestre de l'étudiant"
|
"La date de début n'appartient à aucun semestre de l'étudiant"
|
||||||
if formsemestre is None
|
if formsemestre is None
|
||||||
else "La date de début n'appartient pas au semestre",
|
else "La date de début n'appartient pas au semestre"
|
||||||
|
),
|
||||||
form.date_debut,
|
form.date_debut,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -443,9 +445,11 @@ def _get_dates_from_assi_form(
|
|||||||
]
|
]
|
||||||
):
|
):
|
||||||
form.set_error(
|
form.set_error(
|
||||||
|
(
|
||||||
"La date de fin n'appartient à aucun semestre de l'étudiant"
|
"La date de fin n'appartient à aucun semestre de l'étudiant"
|
||||||
if not formsemestre
|
if not formsemestre
|
||||||
else "La date de fin n'appartient pas au semestre",
|
else "La date de fin n'appartient pas au semestre"
|
||||||
|
),
|
||||||
form.date_fin,
|
form.date_fin,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -619,9 +623,9 @@ def bilan_etud():
|
|||||||
)
|
)
|
||||||
|
|
||||||
# préparation du selecteur de moduleimpl
|
# préparation du selecteur de moduleimpl
|
||||||
|
annee_sco = _get_anne_sco_from_request()
|
||||||
moduleimpl_select: str = _module_selector_multiple(
|
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
|
# 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(
|
def _prepare_tableau(
|
||||||
data: liste_assi.AssiJustifData,
|
data: liste_assi.AssiJustifData,
|
||||||
filename: str = "tableau-assiduites",
|
filename: str = "tableau-assiduites",
|
||||||
@ -1382,12 +1399,16 @@ def _prepare_tableau(
|
|||||||
titre="Évènements enregistrés pour cet étudiant",
|
titre="Évènements enregistrés pour cet étudiant",
|
||||||
cache_key: str = "",
|
cache_key: str = "",
|
||||||
force_options: dict[str, object] = None,
|
force_options: dict[str, object] = None,
|
||||||
|
annee_sco: int | None = None,
|
||||||
) -> tuple[bool, Response | str]:
|
) -> tuple[bool, Response | str]:
|
||||||
"""
|
"""
|
||||||
Prépare un tableau d'assiduités / justificatifs
|
Prépare un tableau d'assiduités / justificatifs
|
||||||
|
|
||||||
Cette fonction récupère dans la requête les arguments :
|
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_pres : bool -> Affiche les présences, par défaut False
|
||||||
show_reta : bool -> Affiche les retard, par défaut False
|
show_reta : bool -> Affiche les retard, par défaut False
|
||||||
show_desc : bool -> Affiche les descriptions, 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_pres: bool | str = request.args.get("show_pres", False)
|
||||||
show_reta: bool | str = request.args.get("show_reta", False)
|
show_reta: bool | str = request.args.get("show_reta", False)
|
||||||
show_desc: bool | str = request.args.get("show_desc", 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")
|
nb_ligne_page: int = request.args.get("nb_ligne_page")
|
||||||
# Vérification de nb_ligne_page
|
# Vérification de nb_ligne_page
|
||||||
try:
|
try:
|
||||||
@ -1418,15 +1439,6 @@ def _prepare_tableau(
|
|||||||
|
|
||||||
fmt = request.args.get("fmt", "html")
|
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
|
||||||
ordre: tuple[str, str | bool] = None
|
ordre: tuple[str, str | bool] = None
|
||||||
ordre_col: str = request.args.get("order_col", None)
|
ordre_col: str = request.args.get("order_col", None)
|
||||||
@ -2295,11 +2307,14 @@ def _module_selector_multiple(
|
|||||||
moduleimpl_id: int = None,
|
moduleimpl_id: int = None,
|
||||||
only_form: FormSemestre = None,
|
only_form: FormSemestre = None,
|
||||||
no_default: bool = False,
|
no_default: bool = False,
|
||||||
|
annee_sco: int | None = None,
|
||||||
) -> str:
|
) -> str:
|
||||||
"""menu HTML <select> pour choix moduleimpl
|
"""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()
|
choices = OrderedDict()
|
||||||
for formsemestre_id in modimpls_by_formsemestre:
|
for formsemestre_id in modimpls_by_formsemestre:
|
||||||
formsemestre: FormSemestre = FormSemestre.query.get(formsemestre_id)
|
formsemestre: FormSemestre = FormSemestre.query.get(formsemestre_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user