From a00e2da461cfd1a82003d46701a3188c206a4dda Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Sat, 27 Jan 2024 13:13:44 +0100 Subject: [PATCH] PE: template vue --- app/pe/pe_view.py | 111 +++++--------------------- app/scodoc/sco_formsemestre_status.py | 8 +- app/templates/pe/pe_view_sem_recap.j2 | 48 +++++++++++ 3 files changed, 75 insertions(+), 92 deletions(-) create mode 100644 app/templates/pe/pe_view_sem_recap.j2 diff --git a/app/pe/pe_view.py b/app/pe/pe_view.py index 47eab917..f67fb320 100644 --- a/app/pe/pe_view.py +++ b/app/pe/pe_view.py @@ -35,111 +35,44 @@ """ -from flask import flash, g, redirect, request, send_file, url_for +from flask import flash, g, redirect, render_template, request, send_file, url_for from app.models import FormSemestre -from app.scodoc.sco_exceptions import ScoValueError - -import app.scodoc.sco_utils as scu -from app.scodoc import html_sco_header - from app.pe import pe_comp from app.pe import pe_jury - - -def _pe_view_sem_recap_form(formsemestre_id): - sem_base = FormSemestre.get_formsemestre(formsemestre_id) - if not sem_base.formation.is_apc() or sem_base.formation.get_cursus().NB_SEM < 6: - H = [ - html_sco_header.sco_header(page_title="Avis de poursuite d'études"), - """

Génération des avis de poursuites d'études (V2 BUT EXPERIMENTALE)

-

- Cette fonction génère un ensemble de fichiers permettant d'éditer des avis de - poursuites d'études. -
- De nombreux aspects sont paramétrables: - - voir la documentation (en cours de révision) - . - Cette fonction (en Scodoc9) n'est prévue que pour le BUT. -
- Rendez-vous donc sur un semestre de BUT. -

- """, - ] - return "\n".join(H) + html_sco_header.sco_footer() - - # L'année du diplome - diplome = pe_comp.get_annee_diplome_semestre(sem_base) - - H = [ - html_sco_header.sco_header(page_title="Avis de poursuite d'études"), - f"""

Génération des avis de poursuites d'études (V2 BUT EXPERIMENTALE)

- -
- Fonction expérimentale pour le BUT : travaux en cours, merci de tester - et de faire part de vos expériences sur le Discord. -
- -

- Cette fonction génère un ensemble de fichiers permettant d'éditer des avis de - poursuites d'études pour les étudiants diplômés en {diplome}. -
- De nombreux aspects sont paramétrables: - - voir la documentation - (en cours de révision). -

-
-
- Les templates sont généralement installés sur le serveur ou dans le - paramétrage de ScoDoc. -
- Au besoin, vous pouvez spécifier ici votre propre fichier de template - (un_avis.tex): -
Template: - -
-
Pied de page: - -
-
- - -
- """, - ] - return "\n".join(H) + html_sco_header.sco_footer() +from app.views import ScoData +from app.scodoc.sco_exceptions import ScoValueError +import app.scodoc.sco_utils as scu # called from the web, POST or GET -def pe_view_sem_recap( - formsemestre_id, - avis_tmpl_file=None, - footer_tmpl_file=None, -): +def pe_view_sem_recap(formsemestre_id: int): """Génération des avis de poursuite d'étude""" - if request.method == "GET": - return _pe_view_sem_recap_form(formsemestre_id) - sem_base = FormSemestre.get_formsemestre(formsemestre_id) - if not sem_base.formation.is_apc(): + formsemestre = FormSemestre.get_formsemestre(formsemestre_id) + if not formsemestre.formation.is_apc(): raise ScoValueError( - "Le module de Poursuites d'Etudes avec Scodoc 9 n'est disponible que pour des formations BUT" + """Le module de Poursuites d'Etudes + n'est disponible que pour des formations BUT""" ) - if sem_base.formation.get_cursus().NB_SEM < 6: + if formsemestre.formation.get_cursus().NB_SEM < 6: raise ScoValueError( - "Le module de Poursuites d'Etudes avec Scodoc 9 n'est pas prévu pour une formation de moins de 6 semestres" + """Le module de Poursuites d'Etudes n'est pas prévu + pour une formation de moins de 6 semestres""" ) - # L'année du diplome - diplome = pe_comp.get_annee_diplome_semestre(sem_base) + annee_diplome = pe_comp.get_annee_diplome_semestre(formsemestre) - jury = pe_jury.JuryPE(diplome, sem_base.formation.formation_id) + if request.method == "GET": + return render_template( + "pe/pe_view_sem_recap.j2", + annee_diplome=annee_diplome, + formsemestre=formsemestre, + sco=ScoData(formsemestre=formsemestre), + ) + + jury = pe_jury.JuryPE(annee_diplome, formsemestre.formation.formation_id) if not jury.diplomes_ids: flash("aucun étudiant à considérer !") return redirect( diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py index 20d3ec65..21b8adf4 100755 --- a/app/scodoc/sco_formsemestre_status.py +++ b/app/scodoc/sco_formsemestre_status.py @@ -81,8 +81,9 @@ from app.scodoc.sco_formsemestre_custommenu import formsemestre_custommenu_html import sco_version -def _build_menu_stats(formsemestre_id): +def _build_menu_stats(formsemestre: FormSemestre): "Définition du menu 'Statistiques'" + formsemestre_id = formsemestre.id return [ { "title": "Statistiques...", @@ -123,7 +124,8 @@ def _build_menu_stats(formsemestre_id): "title": "Documents Avis Poursuite Etudes (xp)", "endpoint": "notes.pe_view_sem_recap", "args": {"formsemestre_id": formsemestre_id}, - "enabled": True, # current_app.config["TESTING"] or current_app.config["DEBUG"], + "enabled": formsemestre.formation.is_apc(), + # current_app.config["TESTING"] or current_app.config["DEBUG"], }, { "title": 'Table "débouchés"', @@ -462,7 +464,7 @@ def formsemestre_status_menubar(formsemestre: FormSemestre) -> str: }, ] - menu_stats = _build_menu_stats(formsemestre_id) + menu_stats = _build_menu_stats(formsemestre) H = [ '