forked from ScoDoc/ScoDoc
Tri parcours par numero et code; améliore table description semestre.
This commit is contained in:
parent
fb4cabee3b
commit
0322603a22
@ -55,7 +55,7 @@ class Module(db.Model):
|
||||
secondary=parcours_modules,
|
||||
lazy="subquery",
|
||||
backref=db.backref("modules", lazy=True),
|
||||
order_by="ApcParcours.numero",
|
||||
order_by="ApcParcours.numero, ApcParcours.code",
|
||||
)
|
||||
|
||||
app_critiques = db.relationship(
|
||||
|
@ -58,7 +58,10 @@ class UniteEns(db.Model):
|
||||
|
||||
# Une UE appartient soit à tous les parcours (tronc commun), soit à un sous-ensemble
|
||||
parcours = db.relationship(
|
||||
ApcParcours, secondary="ue_parcours", backref=db.backref("ues", lazy=True)
|
||||
ApcParcours,
|
||||
secondary="ue_parcours",
|
||||
backref=db.backref("ues", lazy=True),
|
||||
order_by="ApcParcours.numero, ApcParcours.code",
|
||||
)
|
||||
|
||||
# relations
|
||||
|
@ -594,6 +594,7 @@ def formsemestre_description_table(
|
||||
formsemestre: FormSemestre = FormSemestre.query.filter_by(
|
||||
id=formsemestre_id, dept_id=g.scodoc_dept_id
|
||||
).first_or_404()
|
||||
is_apc = formsemestre.formation.is_apc()
|
||||
nt: NotesTableCompat = res_sem.load_formsemestre_results(formsemestre)
|
||||
use_ue_coefs = sco_preferences.get_preference("use_ue_coefs", formsemestre_id)
|
||||
parcours = codes_cursus.get_cursus_from_code(formsemestre.formation.type_parcours)
|
||||
@ -607,7 +608,7 @@ def formsemestre_description_table(
|
||||
else:
|
||||
ues = formsemestre.get_ues()
|
||||
columns_ids += [f"ue_{ue.id}" for ue in ues]
|
||||
if sco_preferences.get_preference("bul_show_ects", formsemestre_id):
|
||||
if sco_preferences.get_preference("bul_show_ects", formsemestre_id) and not is_apc:
|
||||
columns_ids += ["ects"]
|
||||
columns_ids += ["Inscrits", "Responsable", "Enseignants"]
|
||||
if with_evals:
|
||||
@ -634,6 +635,7 @@ def formsemestre_description_table(
|
||||
sum_coef = 0
|
||||
sum_ects = 0
|
||||
last_ue_id = None
|
||||
formsemestre_parcours_ids = {p.id for p in formsemestre.parcours}
|
||||
for modimpl in formsemestre.modimpls_sorted:
|
||||
# Ligne UE avec ECTS:
|
||||
ue = modimpl.module.ue
|
||||
@ -660,7 +662,7 @@ def formsemestre_description_table(
|
||||
ue_info[
|
||||
f"_{k}_td_attrs"
|
||||
] = f'style="background-color: {ue.color} !important;"'
|
||||
if not formsemestre.formation.is_apc():
|
||||
if not is_apc:
|
||||
# n'affiche la ligne UE qu'en formation classique
|
||||
# car l'UE de rattachement n'a pas d'intérêt en BUT
|
||||
rows.append(ue_info)
|
||||
@ -701,8 +703,17 @@ def formsemestre_description_table(
|
||||
for ue in ues:
|
||||
row[f"ue_{ue.id}"] = coef_dict.get(ue.id, 0.0) or ""
|
||||
if with_parcours:
|
||||
# Intersection des parcours du module avec ceux du formsemestre
|
||||
row["parcours"] = ", ".join(
|
||||
sorted([pa.code for pa in modimpl.module.parcours])
|
||||
[
|
||||
pa.code
|
||||
for pa in (
|
||||
modimpl.module.parcours
|
||||
if modimpl.module.parcours
|
||||
else modimpl.formsemestre.parcours
|
||||
)
|
||||
if pa.id in formsemestre_parcours_ids
|
||||
]
|
||||
)
|
||||
|
||||
rows.append(row)
|
||||
|
Loading…
Reference in New Issue
Block a user