diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py
index f634d73baa1d3b8cf1468116d59d449a3b93d8c5..05d5f74f8773f29e17784eb6c048221f46ad0442 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()}",
)
+
+