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