# -*- mode: python -*- # -*- coding: utf-8 -*- ############################################################################## # # Gestion scolarite IUT # # Copyright (c) 1999 - 2022 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 # ############################################################################## """API ScoDoc 9 """ # PAS ENCORE IMPLEMENTEE, juste un essai # Pour P. Bouron, il faudrait en priorité l'équivalent de # Scolarite/Notes/moduleimpl_withmodule_list (alias scodoc7 do_moduleimpl_withmodule_list) # Scolarite/Notes/evaluation_create # Scolarite/Notes/evaluation_delete # Scolarite/Notes/formation_list # Scolarite/Notes/formsemestre_list # Scolarite/Notes/formsemestre_partition_list # Scolarite/Notes/groups_view # Scolarite/Notes/moduleimpl_status # Scolarite/setGroups from datetime import datetime from flask import jsonify, request, g, send_file from sqlalchemy.sql import func from app import db, log from app.api import bp, requested_format from app.api.auth import token_auth from app.api.errors import error_response from app import models from app.models import FormSemestre, FormSemestreInscription, Identite from app.models import ApcReferentielCompetences from app.scodoc.sco_abs import ( annule_absence, annule_justif, add_absence, add_justif, list_abs_date, ) from app.scodoc.sco_bulletins import formsemestre_bulletinetud_dict from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud from app.scodoc.sco_evaluation_db import do_evaluation_get_all_notes from app.scodoc.sco_formations import formation_export from app.scodoc.sco_formsemestre_inscriptions import ( do_formsemestre_inscription_listinscrits, ) from app.scodoc.sco_groups import setGroups, get_etud_groups, get_group_members from app.scodoc.sco_logos import list_logos, find_logo, _list_dept_logos from app.scodoc.sco_moduleimpl import moduleimpl_list from app.scodoc.sco_permissions import Permission # ###################################################### Logos ########################################################## # # # XXX TODO voir get_logo déjà existant dans app/views/scodoc.py # # @bp.route("/logos", methods=["GET"]) # def liste_logos(format="json"): # """ # Liste des logos définis pour le site scodoc. # """ # # fonction to use : list_logos() # # try: # # res = list_logos() # # except ValueError: # # return error_response(409, message="La requête ne peut être traitée en l’état actuel") # # # # if res is None: # # return error_response(200, message="Aucun logo trouvé correspondant aux informations renseignés") # # # # return res # # # # @bp.route("/logos/", methods=["GET"]) # def recup_logo_global(logo_name: str): # """ # Retourne l'image au format png ou jpg # # logo_name : le nom du logo rechercher # """ # # fonction to use find_logo # # try: # # res = find_logo(logo_name) # # except ValueError: # # return error_response(409, message="La requête ne peut être traitée en l’état actuel") # # # # if res is None: # # return error_response(200, message="Aucun logo trouvé correspondant aux informations renseignés") # # # # return res # # # @bp.route("/departements//logos", methods=["GET"]) # def logo_dept(dept: str): # """ # Liste des logos définis pour le département visé. # # dept : l'id d'un département # """ # # fonction to use: _list_dept_logos # # dept_id = models.Departement.query.filter_by(acronym=dept).first() # # try: # # res = _list_dept_logos(dept_id.id) # # except ValueError: # # return error_response(409, message="La requête ne peut être traitée en l’état actuel") # # # # if res is None: # # return error_response(200, message="Aucun logo trouvé correspondant aux informations renseignés") # # # # return res # # # @bp.route("/departement//logos/", methods=["GET"]) # def recup_logo_dept_global(dept: str, logo_name: str): # """ # L'image format png ou jpg # # dept : l'id d'un département # logo_name : le nom du logo rechercher # """ # # fonction to use find_logo # # dept_id = models.Departement.query.filter_by(acronym=dept).first() # # try: # # res = find_logo(logo_name, dept_id.id) # # except ValueError: # # return error_response(409, message="La requête ne peut être traitée en l’état actuel") # # # # if res is None: # # return error_response(200, message="Aucun logo trouvé correspondant aux informations renseignés") # # # # return res