forked from ScoDoc/DocScoDoc
formsemestre_delete_moduleimpls: modernise code
This commit is contained in:
parent
e374a0e887
commit
dae464ea28
@ -919,7 +919,7 @@ def do_formsemestre_createwithmodules(edit=False):
|
||||
if ok:
|
||||
msg_html += "<p>Modification effectuée</p>"
|
||||
else:
|
||||
msg_html += "<p>Modification effectuée (<b>mais modules cités non supprimés</b>)</p>"
|
||||
msg_html += "<p>Modules non modifiés</p>"
|
||||
msg_html += (
|
||||
'<a href="formsemestre_status?formsemestre_id=%s">retour au tableau de bord</a>'
|
||||
% formsemestre_id
|
||||
@ -987,33 +987,30 @@ def formsemestre_delete_moduleimpls(formsemestre_id, module_ids_to_del):
|
||||
ok = True
|
||||
msg = []
|
||||
for module_id in module_ids_to_del:
|
||||
# get id
|
||||
moduleimpl_id = sco_moduleimpl.moduleimpl_list(
|
||||
module = Module.query.get(module_id)
|
||||
if module is None:
|
||||
continue # ignore invalid ids
|
||||
modimpls = ModuleImpl.query.filter_by(
|
||||
formsemestre_id=formsemestre_id, module_id=module_id
|
||||
)[0]["moduleimpl_id"]
|
||||
mod = sco_edit_module.module_list({"module_id": module_id})[0]
|
||||
# Evaluations dans ce module ?
|
||||
evals = sco_evaluation_db.do_evaluation_list({"moduleimpl_id": moduleimpl_id})
|
||||
if evals:
|
||||
msg += [
|
||||
'<b>impossible de supprimer %s (%s) car il y a %d évaluations définies (<a href="moduleimpl_status?moduleimpl_id=%s" class="stdlink">supprimer les d\'abord</a>)</b>'
|
||||
% (
|
||||
mod["code"] or "(module sans code)",
|
||||
mod["titre"],
|
||||
len(evals),
|
||||
moduleimpl_id,
|
||||
)
|
||||
]
|
||||
ok = False
|
||||
else:
|
||||
msg += [
|
||||
"suppression de %s (%s)"
|
||||
% (mod["code"] or "(module sans code)", mod["titre"] or "")
|
||||
]
|
||||
sco_moduleimpl.do_moduleimpl_delete(
|
||||
moduleimpl_id, formsemestre_id=formsemestre_id
|
||||
)
|
||||
|
||||
)
|
||||
for modimpl in modimpls:
|
||||
nb_evals = modimpl.evaluations.count()
|
||||
if nb_evals > 0:
|
||||
msg += [
|
||||
f"""<b>impossible de supprimer {module.code} ({module.titre or ""})
|
||||
car il y a {nb_evals} évaluations définies
|
||||
(<a href="{
|
||||
url_for("notes.moduleimpl_status", scodoc_dept=g.scodoc_dept, moduleimpl_id=modimpl.id)
|
||||
}" class="stdlink">supprimez-les d\'abord</a>)</b>"""
|
||||
]
|
||||
ok = False
|
||||
else:
|
||||
msg += [f"""suppression de {module.code} ({module.titre or ""})"""]
|
||||
db.session.delete(modimpl)
|
||||
if ok:
|
||||
db.session.commit()
|
||||
else:
|
||||
db.session.rollback()
|
||||
return ok, msg
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user