Fix links in sco_groups_view.py and sco_synchro_etuds.py

This commit is contained in:
Emmanuel Viennet 2023-10-22 17:27:35 +02:00
parent 12e14dc6df
commit 6f0bdbf143
3 changed files with 49 additions and 38 deletions

View File

@ -172,7 +172,7 @@ def form_groups_choice(groups_infos, with_selectall_butt=False, submit_on_change
"""<form id="group_selector" method="get"> """<form id="group_selector" method="get">
<input type="hidden" name="formsemestre_id" id="formsemestre_id" value="%s"/> <input type="hidden" name="formsemestre_id" id="formsemestre_id" value="%s"/>
<input type="hidden" name="default_group_id" id="default_group_id" value="%s"/> <input type="hidden" name="default_group_id" id="default_group_id" value="%s"/>
Groupes: Groupes:
""" """
% (groups_infos.formsemestre_id, default_group_id) % (groups_infos.formsemestre_id, default_group_id)
] ]
@ -693,7 +693,7 @@ def groups_table(
% (tab.base_url,), % (tab.base_url,),
"""<li> """<li>
<a class="stdlink" href="export_groups_as_moodle_csv?formsemestre_id=%s">Fichier CSV pour Moodle (tous les groupes)</a> <a class="stdlink" href="export_groups_as_moodle_csv?formsemestre_id=%s">Fichier CSV pour Moodle (tous les groupes)</a>
<em>(voir le paramétrage pour modifier le format des fichiers Moodle exportés)</em> <em>(voir le paramétrage pour modifier le format des fichiers Moodle exportés)</em>
</li>""" </li>"""
% groups_infos.formsemestre_id, % groups_infos.formsemestre_id,
] ]
@ -840,7 +840,7 @@ def tab_absences_html(groups_infos, etat=None):
group_ids=group_ids, group_ids=group_ids,
date_debut=formsemestre.date_debut.isoformat(), date_debut=formsemestre.date_debut.isoformat(),
date_fin=formsemestre.date_fin.isoformat() date_fin=formsemestre.date_fin.isoformat()
) )
}">État de l'assiduité du groupe</a></li>""", }">État de l'assiduité du groupe</a></li>""",
"</ul>", "</ul>",
"<h3>Feuilles</h3>", "<h3>Feuilles</h3>",
@ -867,14 +867,21 @@ def tab_absences_html(groups_infos, etat=None):
group_id = sco_groups.get_default_group(groups_infos.formsemestre_id) group_id = sco_groups.get_default_group(groups_infos.formsemestre_id)
if authuser.has_permission(Permission.EtudInscrit): if authuser.has_permission(Permission.EtudInscrit):
H.append( H.append(
'<li><a class="stdlink" href="check_group_apogee?group_id=%s&etat=%s">Vérifier codes Apogée</a> (de tous les groupes)</li>' f"""<li><a class="stdlink" href="{
% (group_id, etat or "") url_for('scolar.check_group_apogee',
scodoc_dept=g.scodoc_dept,
group_id=group_id, etat=etat or "")
}">Vérifier codes Apogée</a> (de tous les groupes)</li>
"""
) )
# Lien pour ajout fichiers étudiants # Lien pour ajout fichiers étudiants
if authuser.has_permission(Permission.EtudAddAnnotations): if authuser.has_permission(Permission.EtudAddAnnotations):
H.append( H.append(
"""<li><a class="stdlink" href="etudarchive_import_files_form?group_id=%s">Télécharger des fichiers associés aux étudiants (e.g. dossiers d'admission)</a></li>""" f"""<li><a class="stdlink" href="{
% (group_id) url_for('scolar.etudarchive_import_files_form',
scodoc_dept=g.scodoc_dept,
group_id=group_id
)}">Télécharger des fichiers associés aux étudiants (e.g. dossiers d'admission)</a></li>"""
) )
H.append("</ul></div>") H.append("</ul></div>")

View File

@ -150,7 +150,7 @@ def formsemestre_synchro_etuds(
) = list_synch(sem, annee_apogee=annee_apogee) ) = list_synch(sem, annee_apogee=annee_apogee)
if export_cat_xls: if export_cat_xls:
filename = export_cat_xls filename = export_cat_xls
xls = build_page( xls = _build_page(
sem, sem,
etuds_by_cat, etuds_by_cat,
annee_apogee, annee_apogee,
@ -167,7 +167,7 @@ def formsemestre_synchro_etuds(
H = [header] H = [header]
if not submitted: if not submitted:
H += build_page( H += _build_page(
sem, sem,
etuds_by_cat, etuds_by_cat,
annee_apogee, annee_apogee,
@ -288,7 +288,7 @@ def formsemestre_synchro_etuds(
return "\n".join(H) return "\n".join(H)
def build_page( def _build_page(
sem, sem,
etuds_by_cat, etuds_by_cat,
annee_apogee, annee_apogee,
@ -332,26 +332,23 @@ def build_page(
+ len(etuds_by_cat["etuds_nonapogee"]["etuds"]) + len(etuds_by_cat["etuds_nonapogee"]["etuds"])
+ len(etuds_by_cat["inscrits_without_key"]["etuds"]) + len(etuds_by_cat["inscrits_without_key"]["etuds"])
), ),
"""<p>Code étape Apogée: %(etape_apo_str)s</p> f"""<p>Code étape Apogée: {sem['etape_apo_str']}</p>
<form method="post" action="formsemestre_synchro_etuds"> <form method="post" action="formsemestre_synchro_etuds">
""" Année Apogée: <select id="annee_apogee" name="annee_apogee"
% sem, onchange="document.location='formsemestre_synchro_etuds?formsemestre_id={
""" sem['formsemestre_id']
Année Apogée: <select id="anne_eapogee" name="annee_apogee" }&annee_apogee='+document.getElementById('annee_apogee').value">
onchange="document.location='formsemestre_synchro_etuds?formsemestre_id=%s&annee_apogee='+document.getElementById('annee_apogee').value">""" """,
% (sem["formsemestre_id"]),
"\n".join(options), "\n".join(options),
""" """</select>
</select>
""", """,
"" ""
if read_only if read_only
else """ else f"""
<input type="hidden" name="formsemestre_id" value="%(formsemestre_id)s"/> <input type="hidden" name="formsemestre_id" value="{sem['formsemestre_id']}"/>
<input type="submit" name="submitted" value="Appliquer les modifications"/> <input type="submit" name="submitted" value="Appliquer les modifications"/>
&nbsp;<a href="#help">aide</a> &nbsp;<a href="#help">aide</a>
""" """,
% sem, # "
sco_inscr_passage.etuds_select_boxes( sco_inscr_passage.etuds_select_boxes(
etuds_by_cat, etuds_by_cat,
sel_inscrits=False, sel_inscrits=False,
@ -454,7 +451,7 @@ def list_synch(sem, annee_apogee=None):
"infos": { "infos": {
"id": "etuds_a_importer", "id": "etuds_a_importer",
"title": "Étudiants dans Apogée à importer", "title": "Étudiants dans Apogée à importer",
"help": """Ces étudiants sont inscrits dans cette étape Apogée mais ne sont pas connus par ScoDoc: "help": """Ces étudiants sont inscrits dans cette étape Apogée mais ne sont pas connus par ScoDoc:
cocher les noms à importer et inscrire puis appuyer sur le bouton "Appliquer".""", cocher les noms à importer et inscrire puis appuyer sur le bouton "Appliquer".""",
"title_target": "", "title_target": "",
"with_checkbox": True, "with_checkbox": True,
@ -508,7 +505,7 @@ def list_synch(sem, annee_apogee=None):
"infos": { "infos": {
"id": "etuds_ok", "id": "etuds_ok",
"title": "Étudiants dans Apogée et déjà inscrits", "title": "Étudiants dans Apogée et déjà inscrits",
"help": """Ces etudiants sont inscrits dans le semestre ScoDoc et sont présents dans Apogée: "help": """Ces etudiants sont inscrits dans le semestre ScoDoc et sont présents dans Apogée:
tout est donc correct. Décocher les étudiants que vous souhaitez désinscrire.""", tout est donc correct. Décocher les étudiants que vous souhaitez désinscrire.""",
"title_target": "", "title_target": "",
"with_checkbox": True, "with_checkbox": True,
@ -556,13 +553,16 @@ def list_all(etudsapo_set):
def formsemestre_synchro_etuds_help(sem): def formsemestre_synchro_etuds_help(sem):
sem["default_group_id"] = sco_groups.get_default_group(sem["formsemestre_id"]) formsemestre_id = sem["formsemestre_id"]
return ( default_group_id = sco_groups.get_default_group(sem["formsemestre_id"])
"""<div class="pas_help pas_help_left"><h3><a name="help">Explications</a></h3> return f"""<div class="pas_help pas_help_left"><h3><a name="help">Explications</a></h3>
<p>Cette page permet d'importer dans le semestre destination <p>Cette page permet d'importer dans le semestre destination
<a class="stdlink" <a class="stdlink"
href="formsemestre_status?formsemestre_id=%(formsemestre_id)s">%(titreannee)s</a> href="{url_for('notes.formsemestre_status', scodoc_dept=g.scodoc_dept,
les étudiants inscrits dans l'étape Apogée correspondante (<b><tt>%(etape_apo_str)s</tt></b>) formsemestre_id=formsemestre_id)
}">{sem['titreannee']}</a>
les étudiants inscrits dans l'étape Apogée correspondante
(<b><tt>{sem['etape_apo_str']}</tt></b>)
</p> </p>
<p>Au départ, tous les étudiants d'Apogée sont sélectionnés; vous pouvez <p>Au départ, tous les étudiants d'Apogée sont sélectionnés; vous pouvez
en déselectionner certains. Tous les étudiants cochés seront inscrits au semestre ScoDoc, en déselectionner certains. Tous les étudiants cochés seront inscrits au semestre ScoDoc,
@ -571,15 +571,19 @@ def formsemestre_synchro_etuds_help(sem):
<h4>Autres fonctions utiles</h4> <h4>Autres fonctions utiles</h4>
<ul> <ul>
<li><a href="check_group_apogee?group_id=%(default_group_id)s">vérification <li><a class="stdlink" href="{
des codes Apogée</a> (des étudiants déjà inscrits)</li> url_for("scolar.check_group_apogee", scodoc_dept=g.scodoc_dept,
<li>le <a href="formsemestre_inscr_passage?formsemestre_id=%(formsemestre_id)s"> group_id=default_group_id)
}">vérification des codes Apogée</a> (des étudiants déjà inscrits)
</li>
<li>le <a class="stdlink" href="{url_for('notes.formsemestre_inscr_passage',
scodoc_dept=g.scodoc_dept,
formsemestre_id=formsemestre_id)}">
formulaire de passage</a> qui permet aussi de désinscrire des étudiants formulaire de passage</a> qui permet aussi de désinscrire des étudiants
en cas d'erreur, etc.</li> en cas d'erreur, etc.</li>
</ul> </ul>
</div>""" </div>
% sem """
)
def gender2civilite(gender): def gender2civilite(gender):

View File

@ -1,7 +1,7 @@
# -*- mode: python -*- # -*- mode: python -*-
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
SCOVERSION = "9.6.45" SCOVERSION = "9.6.46"
SCONAME = "ScoDoc" SCONAME = "ScoDoc"
@ -46,7 +46,7 @@ SCONEWS = """
<h4>Année 2021</h4> <h4>Année 2021</h4>
<ul> <ul>
<li>ScoDoc 9.2: <li>ScoDoc 9.2:
<ul> <ul>
<li>Tableau récap. complet pour BUT et autres formations.</li> <li>Tableau récap. complet pour BUT et autres formations.</li>
<li>Tableau état évaluations</li> <li>Tableau état évaluations</li>