############################################### Evaluations ########################################################### from flask import jsonify from app import models from app.api import bp from app.api.auth import token_permission_required from app.api.errors import error_response from app.scodoc.sco_evaluation_db import do_evaluation_get_all_notes from app.scodoc.sco_permissions import Permission @bp.route("/evaluations/", methods=["GET"]) @token_permission_required(Permission.APIView) def evaluations(moduleimpl_id: int): """ Retourne la liste des évaluations à partir de l'id d'un moduleimpl moduleimpl_id : l'id d'un moduleimpl """ # Récupération de toutes les évaluations evals = models.Evaluation.query.filter_by(id=moduleimpl_id).all() # Mise en forme des données data = [d.to_dict() for d in evals] return jsonify(data) # return error_response(501, message="Not implemented") @bp.route("/evaluations/eval_notes/", methods=["GET"]) @token_permission_required(Permission.APIView) def evaluation_notes(evaluation_id: int): """ Retourne la liste des notes à partir de l'id d'une évaluation donnée evaluation_id : l'id d'une évaluation """ # Fonction utilisée : app.scodoc.sco_evaluation_db.do_evaluation_get_all_notes() try: # Utilisation de la fonction do_evaluation_get_all_notes data = do_evaluation_get_all_notes(evaluation_id) except AttributeError: return error_response( 409, message="La requête ne peut être traitée en l’état actuel. \n" "Veillez vérifier la conformité du 'evaluation_id'", ) return jsonify(data) @bp.route( "/evaluations/eval_set_notes?eval_id=&etudid=¬e=", methods=["POST"], ) @bp.route( "/evaluations/eval_set_notes?eval_id=&nip=¬e=", methods=["POST"], ) @bp.route( "/evaluations/eval_set_notes?eval_id=&ine=¬e=", methods=["POST"], ) @token_permission_required(Permission.APIEditAllNotes) def evaluation_set_notes( eval_id: int, note: float, etudid: int = None, nip: int = None, ine: int = None ): """ Set les notes d'une évaluation pour un étudiant donnée eval_id : l'id d'une évaluation note : la note à attribuer etudid : l'etudid d'un étudiant nip : le code nip d'un étudiant ine : le code ine d'un étudiant """ # Fonction utilisée : app.scodoc.sco_saisie_notes.notes_add() # Qu'est ce qu'un user ??? # notes_add() return error_response(501, message="Not implemented")