# -*- mode: python -*- # -*- coding: utf-8 -*- ############################################################################## # # Gestion scolarite IUT # # Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # # Emmanuel Viennet emmanuel.viennet@viennet.net # ############################################################################## ############################################################################## # Module "Avis de poursuite d'étude" # conçu et développé par Cléo Baras (IUT de Grenoble) ############################################################################## """ScoDoc : interface des fonctions de gestion des avis de poursuites d'étude """ from flask import flash, g, redirect, 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() # called from the web, POST or GET def pe_view_sem_recap( formsemestre_id, avis_tmpl_file=None, footer_tmpl_file=None, ): """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(): raise ScoValueError( "Le module de Poursuites d'Etudes avec Scodoc 9 n'est disponible que pour des formations BUT" ) if sem_base.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" ) # L'année du diplome diplome = pe_comp.get_annee_diplome_semestre(sem_base) jury = pe_jury.JuryPE(diplome, sem_base.formation.formation_id) if not jury.diplomes_ids: flash("aucun étudiant à considérer !") return redirect( url_for( "notes.pe_view_sem_recap", scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre_id, ) ) data = jury.get_zipped_data() return send_file( data, mimetype="application/zip", download_name=scu.sanitize_filename(jury.nom_export_zip + ".zip"), as_attachment=True, )