diff --git a/app/but/jury_but_view.py b/app/but/jury_but_view.py index 20bd249a..b82007b8 100644 --- a/app/but/jury_but_view.py +++ b/app/but/jury_but_view.py @@ -256,7 +256,7 @@ def _gen_but_niveau_ue( return f"""
Les matières sont des groupes de modules dans une UE
d'une formation donnée. Les matières servent surtout pour la
présentation (bulletins, etc) mais n'ont pas de rôle dans le calcul
diff --git a/app/scodoc/sco_edit_module.py b/app/scodoc/sco_edit_module.py
index b7d6fab4..c5b106a6 100644
--- a/app/scodoc/sco_edit_module.py
+++ b/app/scodoc/sco_edit_module.py
@@ -85,7 +85,7 @@ _moduleEditor = ndb.EditableTable(
"heures_tp": ndb.float_null_is_zero,
"numero": ndb.int_null_is_zero,
"coefficient": ndb.float_null_is_zero,
- "module_type": ndb.int_null_is_zero
+ "module_type": ndb.int_null_is_zero,
#'ects' : ndb.float_null_is_null
},
)
@@ -387,14 +387,16 @@ def module_edit(
"scodoc/help/modules.j2",
is_apc=is_apc,
semestre_id=semestre_id,
- formsemestres=FormSemestre.query.filter(
- ModuleImpl.formsemestre_id == FormSemestre.id,
- ModuleImpl.module_id == module_id,
- )
- .order_by(FormSemestre.date_debut)
- .all()
- if not create
- else None,
+ formsemestres=(
+ FormSemestre.query.filter(
+ ModuleImpl.formsemestre_id == FormSemestre.id,
+ ModuleImpl.module_id == module_id,
+ )
+ .order_by(FormSemestre.date_debut)
+ .all()
+ if not create
+ else None
+ ),
create=create,
),
]
@@ -413,9 +415,11 @@ def module_edit(
}
if module:
module_types |= {
- scu.ModuleType(module.module_type)
- if module.module_type
- else scu.ModuleType.STANDARD
+ (
+ scu.ModuleType(module.module_type)
+ if module.module_type
+ else scu.ModuleType.STANDARD
+ )
}
# Numéro du module
# cherche le numero adéquat (pour placer le module en fin de liste)
@@ -571,15 +575,17 @@ def module_edit(
"input_type": "menu",
"title": "Rattachement :" if is_apc else "Matière :",
"explanation": (
- "UE de rattachement, utilisée notamment pour les malus"
- + (
- " (module utilisé, ne peut pas être changé de semestre)"
- if in_use
- else ""
+ (
+ "UE de rattachement, utilisée notamment pour les malus"
+ + (
+ " (module utilisé, ne peut pas être changé de semestre)"
+ if in_use
+ else ""
+ )
)
- )
- if is_apc
- else "un module appartient à une seule matière.",
+ if is_apc
+ else "un module appartient à une seule matière."
+ ),
"labels": mat_names,
"allowed_values": ue_mat_ids,
"enabled": unlocked,
@@ -733,7 +739,7 @@ def module_edit(
"title": f"""{scu.EMO_WARNING }
L'UE {ue.acronyme} {ue.titre}
+ }">{ue.acronyme} {ue.titre or ''}
n'est pas associée à un niveau de compétences
""",
},
@@ -766,12 +772,14 @@ def module_edit(
request.base_url,
scu.get_request_args(),
descr,
- html_foot_markup=f""" Tableau de bord : """,
]
if formsemestre.est_courant():
@@ -1226,7 +1230,7 @@ def formsemestre_tableau_modules(
ue = modimpl.module.ue
if show_ues and (prev_ue_id != ue.id):
prev_ue_id = ue.id
- titre = ue.titre
+ titre = ue.titre or ""
if use_ue_coefs:
titre += f""" (coef. {ue.coefficient or 0.0})"""
H.append(
diff --git a/app/scodoc/sco_formsemestre_validation.py b/app/scodoc/sco_formsemestre_validation.py
index c8c95562..22a16b15 100644
--- a/app/scodoc/sco_formsemestre_validation.py
+++ b/app/scodoc/sco_formsemestre_validation.py
@@ -728,7 +728,9 @@ def formsemestre_recap_parcours_table(
)
# Dispense BUT ?
if (etudid, ue.id) in nt.dispense_ues:
- moy_ue_txt = "❎" if (ue_status and ue_status["is_capitalized"]) else "⭕"
+ moy_ue_txt = (
+ "❎" if (ue_status and ue_status["is_capitalized"]) else "⭕"
+ )
explanation_ue.append("non inscrit (dispense)")
else:
moy_ue_txt = scu.fmt_note(moy_ue)
@@ -1098,7 +1100,7 @@ def formsemestre_validate_previous_ue(formsemestre: FormSemestre, etud: Identite
ue_names = ["Choisir..."] + [
f"""{('S'+str(ue.semestre_idx)+' : ') if ue.semestre_idx is not None else ''
- }{ue.acronyme} {ue.titre} ({ue.ue_code or ""})"""
+ }{ue.acronyme} {ue.titre or ''} ({ue.ue_code or ""})"""
for ue in ues
]
ue_ids = [""] + [ue.id for ue in ues]
diff --git a/app/tables/recap.py b/app/tables/recap.py
index ff8c1eb7..f4882983 100644
--- a/app/tables/recap.py
+++ b/app/tables/recap.py
@@ -682,9 +682,9 @@ class RowRecap(tb.Row):
self.add_ue_modimpls_cols(ue, ue_status["is_capitalized"])
self.nb_ues_etud_parcours = len(res.etud_parcours_ues_ids(etud.id))
- ue_valid_txt = (
- ue_valid_txt_html
- ) = f"{self.nb_ues_validables}/{self.nb_ues_etud_parcours}"
+ ue_valid_txt = ue_valid_txt_html = (
+ f"{self.nb_ues_validables}/{self.nb_ues_etud_parcours}"
+ )
if self.nb_ues_warning:
ue_valid_txt_html += " " + scu.EMO_WARNING
cell_class = ""
@@ -708,9 +708,9 @@ class RowRecap(tb.Row):
# sous-classé par JuryRow pour ajouter les codes
table: TableRecap = self.table
formsemestre: FormSemestre = table.res.formsemestre
- table.group_titles[
- "col_ue"
- ] = f"UEs du S{formsemestre.semestre_id} {formsemestre.annee_scolaire()}"
+ table.group_titles["col_ue"] = (
+ f"UEs du S{formsemestre.semestre_id} {formsemestre.annee_scolaire()}"
+ )
col_id = f"moy_ue_{ue.id}"
val = (
ue_status["moy"]
@@ -740,7 +740,7 @@ class RowRecap(tb.Row):
)
table.foot_title_row.cells[col_id].target_attrs[
"title"
- ] = f"""{ue.titre} S{ue.semestre_idx or '?'}"""
+ ] = f"""{ue.titre or ue.acronyme} S{ue.semestre_idx or '?'}"""
def add_ue_modimpls_cols(self, ue: UniteEns, is_capitalized: bool):
"""Ajoute à row les moyennes des modules (ou ressources et SAÉs) dans l'UE"""
diff --git a/app/templates/pn/form_ues.j2 b/app/templates/pn/form_ues.j2
index d53dde6f..133ccb66 100644
--- a/app/templates/pn/form_ues.j2
+++ b/app/templates/pn/form_ues.j2
@@ -1,7 +1,7 @@
{# Édition liste UEs APC #}
{% for semestre_idx in semestre_ids %}
Suppression de l'UE {ue.titre} ({ue.acronyme})
",
+ f"Suppression de l'UE {ue.titre or ''} ({ue.acronyme})
",
dest_url="",
parameters={"ue_id": ue.id},
cancel_url=url_for(
@@ -1452,7 +1452,7 @@ def ue_sharing_code(ue_code: str = "", ue_id: int = None, hide_ue_id: int = None
H.append("")
for ue in ues:
H.append(
- f"""
annulation
"
@@ -421,12 +425,18 @@ def _ue_form_description(
"input_type": "text",
"size": 4,
"template": itemtemplate,
- "title": ""
- + (f"S{ue.semestre_idx} " if ue.semestre_idx is not None else "")
- + f"{ue.acronyme} {ue.titre}"
- + f" ({ue.ects} ECTS)"
- if ue.ects is not None
- else "",
+ "title": (
+ ""
+ + (
+ f"S{ue.semestre_idx} "
+ if ue.semestre_idx is not None
+ else ""
+ )
+ + f"{ue.acronyme} {ue.titre or ''}"
+ + f" ({ue.ects} ECTS)"
+ if ue.ects is not None
+ else ""
+ ),
"attributes": [coef_disabled],
},
)
diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py
index a3941ab3..7da7746d 100755
--- a/app/scodoc/sco_formsemestre_status.py
+++ b/app/scodoc/sco_formsemestre_status.py
@@ -281,9 +281,11 @@ def formsemestre_status_menubar(formsemestre: FormSemestre) -> str:
menu_inscriptions = [
{
- "title": "Gérer les inscriptions aux UE et modules"
- if formsemestre.formation.is_apc()
- else "Gérer les inscriptions aux modules",
+ "title": (
+ "Gérer les inscriptions aux UE et modules"
+ if formsemestre.formation.is_apc()
+ else "Gérer les inscriptions aux modules"
+ ),
"endpoint": "notes.moduleimpl_inscriptions_stats",
"args": {"formsemestre_id": formsemestre_id},
}
@@ -619,9 +621,9 @@ def formsemestre_description_table(
if ue.color:
for k in list(ue_info.keys()):
if not k.startswith("_"):
- ue_info[
- f"_{k}_td_attrs"
- ] = f'style="background-color: {ue.color} !important;"'
+ ue_info[f"_{k}_td_attrs"] = (
+ f'style="background-color: {ue.color} !important;"'
+ )
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
@@ -1050,9 +1052,11 @@ def formsemestre_status(formsemestre_id=None, check_parcours=True):
formsemestre_id=formsemestre_id, page_title="Tableau de bord"
),
formsemestre_warning_apc_setup(formsemestre, nt),
- formsemestre_warning_etuds_sans_note(formsemestre, nt)
- if can_change_all_notes
- else "",
+ (
+ formsemestre_warning_etuds_sans_note(formsemestre, nt)
+ if can_change_all_notes
+ else ""
+ ),
"""
Unité d'Enseignement {{ue.acronyme|e}} {{ue.titre}}
+Unité d'Enseignement {{ue.acronyme|e}} {{(ue.titre or '')|e}}
{% endif %}
-
diff --git a/app/views/pn_modules.py b/app/views/pn_modules.py
index 5ec9d208..cd9ec4db 100644
--- a/app/views/pn_modules.py
+++ b/app/views/pn_modules.py
@@ -113,7 +113,7 @@ def table_modules_ue_coefs(formation_id, semestre_idx=None, parcours_id: int = N
"y": 1, # 1ere ligne
"style": "title_ue",
"data": ue.acronyme,
- "title": ue.titre,
+ "title": ue.titre or ue.acronymexs,
}
for (col, ue) in enumerate(ues, start=2)
]
@@ -214,11 +214,13 @@ def edit_modules_ue_coefs():
{lockicon}
""",
- """Formation verrouilée car un ou plusieurs
+ (
+ """Formation verrouilée car un ou plusieurs
semestres verrouillés l'utilisent.
"""
- if locked
- else "",
+ if locked
+ else ""
+ ),
render_template(
"pn/form_modules_ue_coefs.j2",
formation=formation,