forked from ScoDoc/ScoDoc
minor code cleaning
This commit is contained in:
parent
6838c970a4
commit
06caacbb47
@ -651,29 +651,28 @@ def notes_add(
|
||||
|
||||
def saisie_notes_tableur(evaluation_id, group_ids=()):
|
||||
"""Saisie des notes via un fichier Excel"""
|
||||
evals = sco_evaluation_db.do_evaluation_list({"evaluation_id": evaluation_id})
|
||||
if not evals:
|
||||
raise ScoValueError("invalid evaluation_id")
|
||||
E = evals[0]
|
||||
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"]):
|
||||
evaluation = Evaluation.query.get_or_404(evaluation_id)
|
||||
moduleimpl_id = evaluation.moduleimpl.id
|
||||
formsemestre_id = evaluation.moduleimpl.formsemestre_id
|
||||
if not sco_permissions_check.can_edit_notes(current_user, moduleimpl_id):
|
||||
return (
|
||||
html_sco_header.sco_header()
|
||||
+ "<h2>Modification des notes impossible pour %s</h2>"
|
||||
% current_user.user_name
|
||||
+ """<p>(vérifiez que le semestre n'est pas verrouillé et que vous
|
||||
avez l'autorisation d'effectuer cette opération)</p>
|
||||
<p><a href="moduleimpl_status?moduleimpl_id=%s">Continuer</a></p>
|
||||
+ f"""
|
||||
<h2>Modification des notes impossible pour {current_user.user_name}</h2>
|
||||
<p>(vérifiez que le semestre n'est pas verrouillé et que vous
|
||||
avez l'autorisation d'effectuer cette opération)
|
||||
</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()
|
||||
)
|
||||
|
||||
if E["description"]:
|
||||
page_title = 'Saisie des notes de "%s"' % E["description"]
|
||||
else:
|
||||
page_title = "Saisie des notes"
|
||||
page_title = "Saisie des notes" + (
|
||||
f"""de {evaluation.description}""" if evaluation.description else ""
|
||||
)
|
||||
|
||||
# Informations sur les groupes à afficher:
|
||||
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(
|
||||
"""<div class="saisienote_etape1">
|
||||
f"""<div class="saisienote_etape1">
|
||||
<span class="titredivsaisienote">Etape 1 : </span>
|
||||
<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>ou <a class="stdlink" href="saisie_notes?evaluation_id=%s">aller au formulaire de saisie</a></li>
|
||||
<li><a class="stdlink" href="feuille_saisie_notes?evaluation_id={evaluation_id}&{
|
||||
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>
|
||||
</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(
|
||||
@ -752,70 +758,91 @@ def saisie_notes_tableur(evaluation_id, group_ids=()):
|
||||
if updiag[0]:
|
||||
H.append(updiag[1])
|
||||
H.append(
|
||||
"""<p>Notes chargées.
|
||||
<a class="stdlink" href="moduleimpl_status?moduleimpl_id=%(moduleimpl_id)s">
|
||||
f"""<p>Notes chargées.
|
||||
<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>
|
||||
|
||||
<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>"""
|
||||
% E
|
||||
)
|
||||
else:
|
||||
H.append("""<p class="redboldtext">Notes non chargées !</p>""" + updiag[1])
|
||||
H.append(
|
||||
"""
|
||||
<p><a class="stdlink" href="saisie_notes_tableur?evaluation_id=%(evaluation_id)s">
|
||||
Reprendre</a>
|
||||
</p>"""
|
||||
% E
|
||||
f"""
|
||||
<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>
|
||||
</p>
|
||||
"""
|
||||
)
|
||||
|
||||
#
|
||||
H.append("""</div><h3>Autres opérations</h3><ul>""")
|
||||
if sco_permissions_check.can_edit_notes(
|
||||
current_user, E["moduleimpl_id"], allow_ens=False
|
||||
current_user, moduleimpl_id, allow_ens=False
|
||||
):
|
||||
H.append(
|
||||
"""
|
||||
f"""
|
||||
<li>
|
||||
<form action="do_evaluation_set_missing" method="GET">
|
||||
Mettre toutes les notes manquantes à <input type="text" size="5" name="value"/>
|
||||
<input type="submit" value="OK"/>
|
||||
<input type="hidden" name="evaluation_id" value="%s"/>
|
||||
<input type="submit" value="OK"/>
|
||||
<input type="hidden" name="evaluation_id" value="{evaluation_id}"/>
|
||||
<em>ABS indique "absent" (zéro), EXC "excusé" (neutralisées), ATT "attente"</em>
|
||||
</form>
|
||||
</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>"""
|
||||
% (evaluation_id, evaluation_id)
|
||||
) # '
|
||||
H.append(
|
||||
"""<li><a class="stdlink" href="moduleimpl_status?moduleimpl_id=%(moduleimpl_id)s">Revenir au module</a></li>
|
||||
<li><a class="stdlink" href="saisie_notes?evaluation_id=%(evaluation_id)s">Revenir au formulaire de saisie</a></li>
|
||||
</ul>"""
|
||||
% E
|
||||
)
|
||||
</li>
|
||||
<li><a class="stdlink" href="{url_for("notes.evaluation_suppress_alln",
|
||||
scodoc_dept=g.scodoc_dept, evaluation_id=evaluation_id)
|
||||
}">Effacer toutes les notes de cette évaluation</a>
|
||||
(ceci permet ensuite de supprimer l'évaluation si besoin)
|
||||
</li>
|
||||
<li><a class="stdlink" href="{url_for("notes.moduleimpl_status",
|
||||
scodoc_dept=g.scodoc_dept, moduleimpl_id=moduleimpl_id)
|
||||
}">Revenir au module</a>
|
||||
</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>
|
||||
<li>Etape 1:
|
||||
<li>Etape 1:
|
||||
<ol><li>choisir le ou les groupes d'étudiants;</li>
|
||||
<li>télécharger le fichier Excel à remplir.</li>
|
||||
</ol>
|
||||
</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:
|
||||
<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>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>
|
||||
</ul>
|
||||
<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>
|
||||
<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>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>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
"""
|
||||
)
|
||||
)
|
||||
H.append(html_sco_header.sco_footer())
|
||||
return "\n".join(H)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user