Update opolka/ScoDoc from ScoDoc/ScoDoc #2

Merged
opolka merged 1272 commits from ScoDoc/ScoDoc:master into master 2024-05-27 09:11:04 +02:00
3 changed files with 49 additions and 38 deletions
Showing only changes of commit 6f0bdbf143 - Show all commits

View File

@ -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,
@ -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"