diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py index eebf29a1d915985947e55009b65ccabfceb03d1c..5a2a0c06d1c2756aaab4a63c25c35ca011382a4a 100755 --- a/app/scodoc/sco_formsemestre_status.py +++ b/app/scodoc/sco_formsemestre_status.py @@ -891,12 +891,6 @@ def _make_listes_sem(formsemestre: FormSemestre) -> str: edit_partition=1) }">Ajouter une partition</a>""" ) - - autres_liens.append( - f"""<a class="stdlink" - title="BLABLABLA." - href="https://moodle.univ-lille.fr/">Test ajout lien</a>""" - ) # --- Formulaire importation Assiduité excel (si autorisé) @@ -1056,34 +1050,35 @@ def formsemestre_status_head(formsemestre_id: int = None, page_title: str = None return "".join(H) -queries = [ - (text("SELECT elt_sem_apo, titre FROM notes_formsemestre WHERE elt_sem_apo IS NOT NULL"), "SEMESTRE"), - (text("SELECT elt_annee_apo, titre FROM notes_formsemestre WHERE elt_annee_apo IS NOT NULL"), "ANNEE"), - (text("SELECT elt_passage_apo, titre FROM notes_formsemestre WHERE elt_passage_apo IS NOT NULL"), "PASSAGE"), - #(text("SELECT etape_apo FROM notes_formsemestre_etapes WHERE etape_apo IS NOT NULL"), "ETAPES"), - (text("SELECT code_apogee, titre FROM notes_modules WHERE code_apogee IS NOT NULL"), "MODULE"), - #(text("SELECT code_apogee FROM notes_moduleimpl WHERE code_apogee IS NOT NULL"), "MODULE IMP"), - (text("SELECT code_apogee, titre FROM notes_ue WHERE code_apogee IS NOT NULL"), "UE"), - (text("SELECT code_apogee_rcue, titre FROM notes_ue WHERE code_apogee_rcue IS NOT NULL"), "UE") -] -def get_code_apo_results(): + +def get_code_apo_results(formsemestreID): + queries = [ + (text("SELECT elt_sem_apo, titre FROM notes_formsemestre WHERE elt_sem_apo IS NOT NULL AND semestre_id = :semestre_id"), "SEMESTRE"), + (text("SELECT elt_annee_apo, titre FROM notes_formsemestre WHERE elt_annee_apo IS NOT NULL AND semestre_id = :semestre_id"), "ANNEE"), + (text("SELECT elt_passage_apo, titre FROM notes_formsemestre WHERE elt_passage_apo IS NOT NULL AND semestre_id = :semestre_id"), "PASSAGE"), + (text("SELECT code_apogee, titre FROM notes_modules WHERE code_apogee IS NOT NULL AND semestre_id = :semestre_id"), "MODULE"), + (text("SELECT code_apogee, titre FROM notes_ue WHERE code_apogee IS NOT NULL AND semestre_idx = :semestre_id"), "UE"), + ] + results = [] for query, table_name in queries: - result = db.session.execute(query).fetchall() - results.append((table_name, result)) + result = db.session.execute(query, params={"semestre_id": formsemestreID}).mappings().fetchall() + results.append((table_name, [dict(row) for row in result])) + return results -def generate_html_table(): - results = get_code_apo_results() - html_content = """ +def generate_html_table(formsemestre): + results = get_code_apo_results(formsemestre.semestre_id) + + html_content = f""" <table> <thead> <tr> <th>Code Apogée</th> - <th>Table</th> - <th>Titre</th> + <th>Type</th> + <th>Nom</th> </tr> </thead> <tbody> @@ -1091,7 +1086,9 @@ def generate_html_table(): for table_name, rows in results: for row in rows: - code_apogee, titre = row + code_apogee = row.get("elt_sem_apo") or row.get("elt_annee_apo") or row.get("elt_passage_apo") or row.get("code_apogee") + titre = row.get("titre") + html_content += f""" <tr class="formsemestre_status_ue"> <td>{code_apogee}</td> @@ -1099,6 +1096,7 @@ def generate_html_table(): <td>{titre}</td> </tr> """ + html_content += """ </tbody> </table> @@ -1106,6 +1104,9 @@ def generate_html_table(): return html_content + + + def formsemestre_status(formsemestre_id=None, check_parcours=True): """Tableau de bord semestre HTML""" @@ -1204,7 +1205,7 @@ def formsemestre_status(formsemestre_id=None, check_parcours=True): </tr> """, formsemestre_tableau_modules( saes, nt, formsemestre, can_edit=can_edit, show_ues=False - ),generate_html_table() + ),generate_html_table(formsemestre) ] if autres: H += [