From 4f8db5256736170b01e254068005e71a0929b671 Mon Sep 17 00:00:00 2001 From: Rayane Belguebli <rayane.belguebli.etu@univ-lille.fr> Date: Tue, 25 Feb 2025 15:48:51 +0100 Subject: [PATCH] Ajout d'un tableu avec le contenu des tables contenant une colonne contenant "apo" --- app/scodoc/sco_formsemestre_status.py | 69 ++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py index f634d73b..05d5f74f 100755 --- a/app/scodoc/sco_formsemestre_status.py +++ b/app/scodoc/sco_formsemestre_status.py @@ -29,6 +29,9 @@ import datetime +from app import db +from sqlalchemy import text + from flask import current_app from flask import g from flask import request @@ -888,6 +891,13 @@ 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é) if current_user.has_permission(Permission.AbsChange) and not disable_abs: @@ -978,6 +988,8 @@ def formsemestre_status_head(formsemestre_id: int = None, page_title: str = None formation.acronyme}, v{formation.version}">{formation.titre}</a> """, ] + + if formsemestre.semestre_id >= 0: H.append(f", {parcours.SESSION_NAME} {formsemestre.semestre_id}") if formsemestre.modalite: @@ -1022,6 +1034,8 @@ def formsemestre_status_head(formsemestre_id: int = None, page_title: str = None ) H.append("</td></tr>") H.append("</table>") + + warnings = [] if evals["attente"]: warnings.append( @@ -1042,8 +1056,56 @@ def formsemestre_status_head(formsemestre_id: int = None, page_title: str = None return "".join(H) +queries = [ + (text("SELECT elt_sem_apo, elt_annee_apo, elt_passage_apo FROM notes_formsemestre WHERE elt_sem_apo IS NOT NULL OR elt_annee_apo IS NOT NULL OR elt_passage_apo IS NOT NULL"), "notes_formsemestre"), + (text("SELECT etape_apo FROM notes_formsemestre_etapes WHERE etape_apo IS NOT NULL"), "notes_formsemestre_etapes"), + (text("SELECT code_apogee FROM notes_modules WHERE code_apogee IS NOT NULL"), "notes_modules"), + (text("SELECT code_apogee FROM notes_moduleimpl WHERE code_apogee IS NOT NULL"), "notes_moduleimpl"), + (text("SELECT code_apogee, titre FROM notes_ue WHERE code_apogee IS NOT NULL"), "notes_ue"), + (text("SELECT code_apogee_rcue, titre FROM notes_ue WHERE code_apogee_rcue IS NOT NULL"), "notes_ue") +] + +def get_code_apo_results(): + results = [] + for query, table_name in queries: + result = db.session.execute(query).fetchall() + results.append((table_name, result)) + return results + +def generate_html_table(): + results = get_code_apo_results() + html_content = """ + <table> + <thead> + <tr> + <th>Code Apogée</th> + <th>Table</th> + <th>Valeurs</th> + </tr> + </thead> + <tbody> + """ + + for table_name, rows in results: + for row in rows: + html_content += f""" + <tr class="formsemestre_status_ue"> + <td colspan="5"> + <span class="status_module_ue">{row}</span> + </td> + <td colspan="5"> + <span class="status_module_ue">{table_name}</span> + </td> + </tr> + """ + html_content += """ + </tbody> + </table> + """ + return html_content def formsemestre_status(formsemestre_id=None, check_parcours=True): + """Tableau de bord semestre HTML""" # porté du DTML if formsemestre_id is not None and not isinstance(formsemestre_id, int): @@ -1137,10 +1199,10 @@ def formsemestre_status(formsemestre_id=None, check_parcours=True): <td colspan="5"> <span class="status_module_cat">SAÉs</span> </td> - </tr>""", + </tr> """, formsemestre_tableau_modules( saes, nt, formsemestre, can_edit=can_edit, show_ues=False - ), + ),generate_html_table() ] if autres: H += [ @@ -1210,6 +1272,7 @@ _TABLEAU_MODULES_HEAD = """ _TABLEAU_MODULES_FOOT = """</table>""" + def formsemestre_tableau_modules( modimpls: list[ModuleImpl], nt, @@ -1504,3 +1567,5 @@ def formsemestre_note_etuds_sans_notes( sco=ScoData(formsemestre=formsemestre, etud=etud), title=f"{formsemestre.sem_modalite()} {formsemestre.titre_annee()}", ) + + -- GitLab