forked from ScoDoc/ScoDoc
Améliore affichage coefs sur tableau bord module
This commit is contained in:
parent
1b98e5f8dd
commit
54b714fdbc
@ -129,9 +129,27 @@ class Module(db.Model):
|
|||||||
# à redéfinir les relationships...
|
# à redéfinir les relationships...
|
||||||
return sorted(self.ue_coefs, key=lambda x: x.ue.numero)
|
return sorted(self.ue_coefs, key=lambda x: x.ue.numero)
|
||||||
|
|
||||||
def ue_coefs_descr(self):
|
def ue_coefs_list(self, include_zeros=True):
|
||||||
"""List of tuples [ (ue_acronyme, coef) ]"""
|
"""Liste des coefs vers les UE (pour les modules APC).
|
||||||
return [(c.ue.acronyme, c.coef) for c in self.get_ue_coefs_sorted()]
|
Si include_zeros, liste aussi les UE sans coef (donc nul) de ce semestre.
|
||||||
|
Result: List of tuples [ (ue, coef) ]
|
||||||
|
"""
|
||||||
|
if not self.is_apc():
|
||||||
|
return []
|
||||||
|
if include_zeros:
|
||||||
|
# Toutes les UE du même semestre:
|
||||||
|
ues_semestre = (
|
||||||
|
self.formation.ues.filter_by(semestre_idx=self.ue.semestre_idx)
|
||||||
|
.order_by(UniteEns.numero)
|
||||||
|
.all()
|
||||||
|
)
|
||||||
|
coefs_dict = self.get_ue_coef_dict()
|
||||||
|
coefs_list = []
|
||||||
|
for ue in ues_semestre:
|
||||||
|
coefs_list.append((ue, coefs_dict.get(ue.id, 0.0)))
|
||||||
|
return coefs_list
|
||||||
|
# Liste seulement les coefs définis:
|
||||||
|
return [(c.ue, c.coef) for c in self.get_ue_coefs_sorted()]
|
||||||
|
|
||||||
|
|
||||||
class ModuleUECoef(db.Model):
|
class ModuleUECoef(db.Model):
|
||||||
|
@ -554,9 +554,11 @@ def module_edit(module_id=None):
|
|||||||
),
|
),
|
||||||
]
|
]
|
||||||
if is_apc:
|
if is_apc:
|
||||||
coefs_descr = a_module.ue_coefs_descr()
|
coefs_lst = a_module.ue_coefs_list()
|
||||||
if coefs_descr:
|
if coefs_lst:
|
||||||
coefs_descr_txt = ", ".join(["%s: %s" % x for x in coefs_descr])
|
coefs_descr_txt = ", ".join(
|
||||||
|
[f"{ue.acronyme}: {c}" for (ue, c) in coefs_lst]
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
coefs_descr_txt = """<span class="missing_value">non définis</span>"""
|
coefs_descr_txt = """<span class="missing_value">non définis</span>"""
|
||||||
descr += [
|
descr += [
|
||||||
|
@ -1119,7 +1119,7 @@ def formsemestre_tableau_modules(
|
|||||||
mod_descr = "Module " + (mod.titre or "")
|
mod_descr = "Module " + (mod.titre or "")
|
||||||
if mod.is_apc():
|
if mod.is_apc():
|
||||||
coef_descr = ", ".join(
|
coef_descr = ", ".join(
|
||||||
[f"{ue_acro}: {co}" for ue_acro, co in mod.ue_coefs_descr()]
|
[f"{ue.acronyme}: {co}" for ue, co in mod.ue_coefs_list()]
|
||||||
)
|
)
|
||||||
if coef_descr:
|
if coef_descr:
|
||||||
mod_descr += " Coefs: " + coef_descr
|
mod_descr += " Coefs: " + coef_descr
|
||||||
|
@ -156,28 +156,29 @@ def moduleimpl_evaluation_menu(evaluation_id, nbnotes=0):
|
|||||||
return htmlutils.make_menu("actions", menuEval, alone=True)
|
return htmlutils.make_menu("actions", menuEval, alone=True)
|
||||||
|
|
||||||
|
|
||||||
def _ue_coefs_html(coefs_descr) -> str:
|
def _ue_coefs_html(coefs_lst) -> str:
|
||||||
""" """
|
""" """
|
||||||
max_coef = max([x[1] for x in coefs_descr]) if coefs_descr else 1.0
|
max_coef = max([x[1] for x in coefs_lst]) if coefs_lst else 1.0
|
||||||
H = """
|
H = """
|
||||||
<div id="modimpl_coefs">
|
<div id="modimpl_coefs">
|
||||||
<div>Coefficients vers les UE</div>
|
<div>Coefficients vers les UE</div>
|
||||||
"""
|
"""
|
||||||
if coefs_descr:
|
if coefs_lst:
|
||||||
H += f"""
|
H += (
|
||||||
|
f"""
|
||||||
<div class="coefs_histo" style="--max:{max_coef}">
|
<div class="coefs_histo" style="--max:{max_coef}">
|
||||||
""" + "\n".join(
|
"""
|
||||||
[
|
+ "\n".join(
|
||||||
f"""<div style="--coef:{coef}"><div>{coef}</div>{ue_acronyme}</div>"""
|
[
|
||||||
for ue_acronyme, coef in coefs_descr
|
f"""<div style="--coef:{coef}"><div>{coef}</div>{ue.acronyme}</div>"""
|
||||||
]
|
for ue, coef in coefs_lst
|
||||||
|
]
|
||||||
|
)
|
||||||
|
+ "</div>"
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
H += """<div class="missing_value">non définis</span>"""
|
H += """<div class="missing_value">non définis</div>"""
|
||||||
H += """
|
H += "</div>"
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
"""
|
|
||||||
return H
|
return H
|
||||||
|
|
||||||
|
|
||||||
@ -256,7 +257,7 @@ def moduleimpl_status(moduleimpl_id=None, partition_id=None):
|
|||||||
H.append(scu.icontag("lock32_img", title="verrouillé"))
|
H.append(scu.icontag("lock32_img", title="verrouillé"))
|
||||||
H.append("""</td><td class="fichetitre2">""")
|
H.append("""</td><td class="fichetitre2">""")
|
||||||
if modimpl.module.is_apc():
|
if modimpl.module.is_apc():
|
||||||
H.append(_ue_coefs_html(modimpl.module.ue_coefs_descr()))
|
H.append(_ue_coefs_html(modimpl.module.ue_coefs_list()))
|
||||||
else:
|
else:
|
||||||
H.append(f"Coef. dans le semestre: {modimpl.module.coefficient}")
|
H.append(f"Coef. dans le semestre: {modimpl.module.coefficient}")
|
||||||
H.append("""</td><td></td></tr>""")
|
H.append("""</td><td></td></tr>""")
|
||||||
@ -323,9 +324,10 @@ def moduleimpl_status(moduleimpl_id=None, partition_id=None):
|
|||||||
#
|
#
|
||||||
if not modimpl.check_apc_conformity():
|
if not modimpl.check_apc_conformity():
|
||||||
H.append(
|
H.append(
|
||||||
"""<ul class="tf-msg"><li class="tf-msg warning conformite">Les poids des évaluations de ce module ne sont pas encore conformes au PN.
|
"""<div class="warning conformite">Les poids des évaluations de ce module ne sont
|
||||||
|
pas encore conformes au PN.
|
||||||
Ses notes ne peuvent pas être prises en compte dans les moyennes d'UE.
|
Ses notes ne peuvent pas être prises en compte dans les moyennes d'UE.
|
||||||
</li></ul>"""
|
</div>"""
|
||||||
)
|
)
|
||||||
#
|
#
|
||||||
if has_expression and nt.expr_diagnostics:
|
if has_expression and nt.expr_diagnostics:
|
||||||
|
@ -1355,7 +1355,13 @@ div.moduleimpl_type_ressource {
|
|||||||
|
|
||||||
div#modimpl_coefs {
|
div#modimpl_coefs {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
border: 1px solid;
|
||||||
|
padding-top: 3px;
|
||||||
|
padding-left: 3px;
|
||||||
|
padding-right: 5px;
|
||||||
|
background-color: #d3d3d378;
|
||||||
}
|
}
|
||||||
|
|
||||||
.coefs_histo{
|
.coefs_histo{
|
||||||
height: 32px;
|
height: 32px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
Loading…
Reference in New Issue
Block a user