Skip to content
Snippets Groups Projects
Commit 4f8db525 authored by Rayane Belguebli's avatar Rayane Belguebli
Browse files

Ajout d'un tableu avec le contenu des tables contenant une colonne contenant "apo"

parent b55ad79b
No related branches found
No related tags found
No related merge requests found
......@@ -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
......@@ -889,6 +892,13 @@ def _make_listes_sem(formsemestre: FormSemestre) -> str:
}">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:
autres_liens.append(
......@@ -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):
......@@ -1140,7 +1202,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()
]
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()}",
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment