Code cosmetic: re-ecriture de ue_sharing_code, nom option show_in_list

This commit is contained in:
Emmanuel Viennet 2022-08-31 09:16:00 +02:00
parent 0f6a16efb2
commit b8cf116fc6
2 changed files with 20 additions and 16 deletions

View File

@ -1290,15 +1290,12 @@ def ue_sharing_code(ue_code=None, ue_id=None, hide_ue_id=None):
Either ue_code or ue_id may be specified. Either ue_code or ue_id may be specified.
hide_ue_id spécifie un id à retirer de la liste. hide_ue_id spécifie un id à retirer de la liste.
""" """
from app.scodoc import sco_formations
ue_code = str(ue_code) ue_code = str(ue_code)
if ue_id: if ue_id:
ue = ue_list(args={"ue_id": ue_id})[0] ue = UniteEns.query.get_or_404(ue_id)
if not ue_code: if not ue_code:
ue_code = ue["ue_code"] ue_code = ue.ue_code
F = sco_formations.formation_list(args={"formation_id": ue["formation_id"]})[0] formation_code = ue.formation.formation_code
formation_code = F["formation_code"]
# UE du même code, code formation et departement: # UE du même code, code formation et departement:
q_ues = ( q_ues = (
UniteEns.query.filter_by(ue_code=ue_code) UniteEns.query.filter_by(ue_code=ue_code)
@ -1319,18 +1316,22 @@ def ue_sharing_code(ue_code=None, ue_id=None, hide_ue_id=None):
ues = q_ues.all() ues = q_ues.all()
if not ues: if not ues:
if ue_id: if ue_id:
return """<span class="ue_share">Seule UE avec code %s</span>""" % ue_code return (
f"""<span class="ue_share">Seule UE avec code {ue_code or '-'}</span>"""
)
else: else:
return """<span class="ue_share">Aucune UE avec code %s</span>""" % ue_code return f"""<span class="ue_share">Aucune UE avec code {ue_code or '-'}</span>"""
H = [] H = []
if ue_id: if ue_id:
H.append('<span class="ue_share">Autres UE avec le code %s:</span>' % ue_code) H.append(
f"""<span class="ue_share">Autres UE avec le code {ue_code or '-'}:</span>"""
)
else: else:
H.append('<span class="ue_share">UE avec le code %s:</span>' % ue_code) H.append(f"""<span class="ue_share">UE avec le code {ue_code or '-'}:</span>""")
H.append("<ul>") H.append("<ul>")
for ue in ues: for ue in ues:
H.append( H.append(
f"""<li>{ue.acronyme} ({ue.titre}) dans <a class="stdlink" f"""<li>{ue.acronyme} ({ue.titre}) dans <a class="stdlink"
href="{url_for("notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=ue.formation.id)}" href="{url_for("notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=ue.formation.id)}"
>{ue.formation.acronyme} ({ue.formation.titre})</a>, version {ue.formation.version} >{ue.formation.acronyme} ({ue.formation.titre})</a>, version {ue.formation.version}
</li> </li>

View File

@ -453,8 +453,11 @@ def formsemestre_get_etud_groupnames(formsemestre_id, attr="group_name"):
def get_etud_formsemestre_groups( def get_etud_formsemestre_groups(
etud: Identite, formsemestre: FormSemestre, only_to_show=True etud: Identite, formsemestre: FormSemestre, only_to_show=True
) -> list[GroupDescr]: ) -> list[GroupDescr]:
"""Liste les groupes auxquels est inscrit""" """Liste les groupes auxquels est inscrit.
# Note: je n'ai pas réussi à cosntruire une requete SQLAlechemy avec Si only_to_show (défaut vrai), ne donne que les groupes "visiables",
c'est à dire des partitions avec show_in_lists True.
"""
# Note: je n'ai pas réussi à construire une requete SQLAlechemy avec
# la Table d'association group_membership # la Table d'association group_membership
cursor = db.session.execute( cursor = db.session.execute(
text( text(
@ -1061,8 +1064,8 @@ def edit_partition_form(formsemestre_id=None):
else: else:
checked = "" checked = ""
H.append( H.append(
'<div><input type="checkbox" class="rkbox" data-partition_id="%s" %s onchange="update_show_in_list(this);"/>afficher sur noms groupes</div>' f"""<div><input type="checkbox" class="rkbox" data-partition_id="{p['partition_id']
% (p["partition_id"], checked) }" {checked} onchange="update_show_in_list(this);"/>Afficher ces groupes sur les tableaux et bulletins</div>"""
) )
H.append("</td>") H.append("</td>")
# #
@ -1108,7 +1111,7 @@ def edit_partition_form(formsemestre_id=None):
(ainsi, on peut afficher le classement en groupes de TD mais pas en (ainsi, on peut afficher le classement en groupes de TD mais pas en
groupe de TP, si ce sont deux partitions). groupe de TP, si ce sont deux partitions).
</li> </li>
<li>Décocher "afficher sur noms groupes" pour ne pas que cette partition <li>Décocher "Afficher ces groupes sur les tableaux et bulletins" pour ne pas que cette partition
apparaisse dans les noms de groupes apparaisse dans les noms de groupes
</li> </li>
</ul> </ul>