minor code cleaning
This commit is contained in:
parent
ee86fba3d3
commit
c906cd7f16
@ -651,29 +651,28 @@ def notes_add(
|
|||||||
|
|
||||||
def saisie_notes_tableur(evaluation_id, group_ids=()):
|
def saisie_notes_tableur(evaluation_id, group_ids=()):
|
||||||
"""Saisie des notes via un fichier Excel"""
|
"""Saisie des notes via un fichier Excel"""
|
||||||
evals = sco_evaluation_db.do_evaluation_list({"evaluation_id": evaluation_id})
|
evaluation = Evaluation.query.get_or_404(evaluation_id)
|
||||||
if not evals:
|
moduleimpl_id = evaluation.moduleimpl.id
|
||||||
raise ScoValueError("invalid evaluation_id")
|
formsemestre_id = evaluation.moduleimpl.formsemestre_id
|
||||||
E = evals[0]
|
if not sco_permissions_check.can_edit_notes(current_user, moduleimpl_id):
|
||||||
M = sco_moduleimpl.moduleimpl_list(moduleimpl_id=E["moduleimpl_id"])[0]
|
|
||||||
formsemestre_id = M["formsemestre_id"]
|
|
||||||
if not sco_permissions_check.can_edit_notes(current_user, E["moduleimpl_id"]):
|
|
||||||
return (
|
return (
|
||||||
html_sco_header.sco_header()
|
html_sco_header.sco_header()
|
||||||
+ "<h2>Modification des notes impossible pour %s</h2>"
|
+ f"""
|
||||||
% current_user.user_name
|
<h2>Modification des notes impossible pour {current_user.user_name}</h2>
|
||||||
+ """<p>(vérifiez que le semestre n'est pas verrouillé et que vous
|
<p>(vérifiez que le semestre n'est pas verrouillé et que vous
|
||||||
avez l'autorisation d'effectuer cette opération)</p>
|
avez l'autorisation d'effectuer cette opération)
|
||||||
<p><a href="moduleimpl_status?moduleimpl_id=%s">Continuer</a></p>
|
</p>
|
||||||
|
<p><a class="stdlink" href="{
|
||||||
|
url_for("notes.moduleimpl_status", scodoc_dept=g.scodoc_dept,
|
||||||
|
moduleimpl_id=moduleimpl_id)
|
||||||
|
}">Continuer</a></p>
|
||||||
"""
|
"""
|
||||||
% E["moduleimpl_id"]
|
|
||||||
+ html_sco_header.sco_footer()
|
+ html_sco_header.sco_footer()
|
||||||
)
|
)
|
||||||
|
|
||||||
if E["description"]:
|
page_title = "Saisie des notes" + (
|
||||||
page_title = 'Saisie des notes de "%s"' % E["description"]
|
f"""de {evaluation.description}""" if evaluation.description else ""
|
||||||
else:
|
)
|
||||||
page_title = "Saisie des notes"
|
|
||||||
|
|
||||||
# Informations sur les groupes à afficher:
|
# Informations sur les groupes à afficher:
|
||||||
groups_infos = sco_groups_view.DisplayedGroupsInfos(
|
groups_infos = sco_groups_view.DisplayedGroupsInfos(
|
||||||
@ -700,16 +699,23 @@ def saisie_notes_tableur(evaluation_id, group_ids=()):
|
|||||||
H.append("</td></tr></table></div>")
|
H.append("</td></tr></table></div>")
|
||||||
|
|
||||||
H.append(
|
H.append(
|
||||||
"""<div class="saisienote_etape1">
|
f"""<div class="saisienote_etape1">
|
||||||
<span class="titredivsaisienote">Etape 1 : </span>
|
<span class="titredivsaisienote">Etape 1 : </span>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="feuille_saisie_notes?evaluation_id=%s&%s" class="stdlink" id="lnk_feuille_saisie">obtenir le fichier tableur à remplir</a></li>
|
<li><a class="stdlink" href="feuille_saisie_notes?evaluation_id={evaluation_id}&{
|
||||||
<li>ou <a class="stdlink" href="saisie_notes?evaluation_id=%s">aller au formulaire de saisie</a></li>
|
groups_infos.groups_query_args}"
|
||||||
|
id="lnk_feuille_saisie">obtenir le fichier tableur à remplir</a>
|
||||||
|
</li>
|
||||||
|
<li>ou <a class="stdlink" href="{url_for("notes.saisie_notes",
|
||||||
|
scodoc_dept=g.scodoc_dept, evaluation_id=evaluation_id)
|
||||||
|
}">aller au formulaire de saisie</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<form><input type="hidden" name="evaluation_id" id="formnotes_evaluation_id" value="%s"/></form>
|
<form>
|
||||||
|
<input type="hidden" name="evaluation_id" id="formnotes_evaluation_id"
|
||||||
|
value="{evaluation_id}"/>
|
||||||
|
</form>
|
||||||
"""
|
"""
|
||||||
% (evaluation_id, groups_infos.groups_query_args, evaluation_id, evaluation_id)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
H.append(
|
H.append(
|
||||||
@ -752,65 +758,86 @@ def saisie_notes_tableur(evaluation_id, group_ids=()):
|
|||||||
if updiag[0]:
|
if updiag[0]:
|
||||||
H.append(updiag[1])
|
H.append(updiag[1])
|
||||||
H.append(
|
H.append(
|
||||||
"""<p>Notes chargées.
|
f"""<p>Notes chargées.
|
||||||
<a class="stdlink" href="moduleimpl_status?moduleimpl_id=%(moduleimpl_id)s">
|
<a class="stdlink" href="{
|
||||||
|
url_for("notes.moduleimpl_status",
|
||||||
|
scodoc_dept=g.scodoc_dept, moduleimpl_id=moduleimpl_id)
|
||||||
|
}">
|
||||||
Revenir au tableau de bord du module</a>
|
Revenir au tableau de bord du module</a>
|
||||||
|
|
||||||
<a class="stdlink" href="saisie_notes?evaluation_id=%(evaluation_id)s">Charger d'autres notes dans cette évaluation</a>
|
<a class="stdlink" href="{url_for("notes.saisie_notes",
|
||||||
|
scodoc_dept=g.scodoc_dept, evaluation_id=evaluation.id)
|
||||||
|
}">Charger d'autres notes dans cette évaluation</a>
|
||||||
</p>"""
|
</p>"""
|
||||||
% E
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
H.append("""<p class="redboldtext">Notes non chargées !</p>""" + updiag[1])
|
|
||||||
H.append(
|
H.append(
|
||||||
"""
|
f"""
|
||||||
<p><a class="stdlink" href="saisie_notes_tableur?evaluation_id=%(evaluation_id)s">
|
<p class="redboldtext">Notes non chargées !</p>
|
||||||
|
{updiag[1]}
|
||||||
|
<p><a class="stdlink" href="{url_for("notes.saisie_notes_tableur",
|
||||||
|
scodoc_dept=g.scodoc_dept, evaluation_id=evaluation.id)
|
||||||
|
}">
|
||||||
Reprendre</a>
|
Reprendre</a>
|
||||||
</p>"""
|
</p>
|
||||||
% E
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
#
|
#
|
||||||
H.append("""</div><h3>Autres opérations</h3><ul>""")
|
H.append("""</div><h3>Autres opérations</h3><ul>""")
|
||||||
if sco_permissions_check.can_edit_notes(
|
if sco_permissions_check.can_edit_notes(
|
||||||
current_user, E["moduleimpl_id"], allow_ens=False
|
current_user, moduleimpl_id, allow_ens=False
|
||||||
):
|
):
|
||||||
H.append(
|
H.append(
|
||||||
"""
|
f"""
|
||||||
<li>
|
<li>
|
||||||
<form action="do_evaluation_set_missing" method="GET">
|
<form action="do_evaluation_set_missing" method="GET">
|
||||||
Mettre toutes les notes manquantes à <input type="text" size="5" name="value"/>
|
Mettre toutes les notes manquantes à <input type="text" size="5" name="value"/>
|
||||||
<input type="submit" value="OK"/>
|
<input type="submit" value="OK"/>
|
||||||
<input type="hidden" name="evaluation_id" value="%s"/>
|
<input type="hidden" name="evaluation_id" value="{evaluation_id}"/>
|
||||||
<em>ABS indique "absent" (zéro), EXC "excusé" (neutralisées), ATT "attente"</em>
|
<em>ABS indique "absent" (zéro), EXC "excusé" (neutralisées), ATT "attente"</em>
|
||||||
</form>
|
</form>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="stdlink" href="evaluation_suppress_alln?evaluation_id=%s">Effacer toutes les notes de cette évaluation</a> (ceci permet ensuite de supprimer l'évaluation si besoin)
|
<li><a class="stdlink" href="{url_for("notes.evaluation_suppress_alln",
|
||||||
</li>"""
|
scodoc_dept=g.scodoc_dept, evaluation_id=evaluation_id)
|
||||||
% (evaluation_id, evaluation_id)
|
}">Effacer toutes les notes de cette évaluation</a>
|
||||||
) # '
|
(ceci permet ensuite de supprimer l'évaluation si besoin)
|
||||||
H.append(
|
</li>
|
||||||
"""<li><a class="stdlink" href="moduleimpl_status?moduleimpl_id=%(moduleimpl_id)s">Revenir au module</a></li>
|
<li><a class="stdlink" href="{url_for("notes.moduleimpl_status",
|
||||||
<li><a class="stdlink" href="saisie_notes?evaluation_id=%(evaluation_id)s">Revenir au formulaire de saisie</a></li>
|
scodoc_dept=g.scodoc_dept, moduleimpl_id=moduleimpl_id)
|
||||||
</ul>"""
|
}">Revenir au module</a>
|
||||||
% E
|
</li>
|
||||||
)
|
<li><a class="stdlink" href="{url_for("notes.saisie_notes",
|
||||||
|
scodoc_dept=g.scodoc_dept, evaluation_id=evaluation.id)
|
||||||
|
}">Revenir au formulaire de saisie</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
H.append(
|
<h3>Explications</h3>
|
||||||
"""<h3>Explications</h3>
|
|
||||||
<ol>
|
<ol>
|
||||||
<li>Etape 1:
|
<li>Etape 1:
|
||||||
<ol><li>choisir le ou les groupes d'étudiants;</li>
|
<ol><li>choisir le ou les groupes d'étudiants;</li>
|
||||||
<li>télécharger le fichier Excel à remplir.</li>
|
<li>télécharger le fichier Excel à remplir.</li>
|
||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
<li>Etape 2 (cadre vert): Indiquer le fichier Excel <em>téléchargé à l'étape 1</em> et dans lequel on a saisi des notes. Remarques:
|
<li>Etape 2 (cadre vert): Indiquer le fichier Excel
|
||||||
|
<em>téléchargé à l'étape 1</em> et dans lequel on a saisi des notes.
|
||||||
|
Remarques:
|
||||||
<ul>
|
<ul>
|
||||||
<li>le fichier Excel peut être incomplet: on peut ne saisir que quelques notes et répéter l'opération (en téléchargeant un nouveau fichier) plus tard;</li>
|
<li>le fichier Excel peut être incomplet: on peut ne saisir que quelques notes
|
||||||
<li>seules les valeurs des notes modifiées sont prises en compte;</li>
|
et répéter l'opération (en téléchargeant un nouveau fichier) plus tard;
|
||||||
<li>seules les notes sont extraites du fichier Excel;</li>
|
</li>
|
||||||
<li>on peut optionnellement ajouter un commentaire (type "copies corrigées par Dupont", ou "Modif. suite à contestation") dans la case "Commentaire".
|
<li>seules les valeurs des notes modifiées sont prises en compte;
|
||||||
|
</li>
|
||||||
|
<li>seules les notes sont extraites du fichier Excel;
|
||||||
|
</li>
|
||||||
|
<li>on peut optionnellement ajouter un commentaire (type "copies corrigées
|
||||||
|
par Dupont", ou "Modif. suite à contestation") dans la case "Commentaire".
|
||||||
|
</li>
|
||||||
|
<li>le fichier Excel <em>doit impérativement être celui chargé à l'étape 1
|
||||||
|
pour cette évaluation</em>. Il n'est pas possible d'utiliser une liste d'appel
|
||||||
|
ou autre document Excel téléchargé d'une autre page.
|
||||||
</li>
|
</li>
|
||||||
<li>le fichier Excel <em>doit impérativement être celui chargé à l'étape 1 pour cette évaluation</em>. Il n'est pas possible d'utiliser une liste d'appel ou autre document Excel téléchargé d'une autre page.</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
Loading…
Reference in New Issue
Block a user