40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
##############################################################################
|
|
# ScoDoc
|
|
# Copyright (c) 1999 - 2022 Emmanuel Viennet. All rights reserved.
|
|
# See LICENSE
|
|
##############################################################################
|
|
|
|
"""
|
|
ScoDoc 9 API : jury
|
|
"""
|
|
|
|
from flask import g, jsonify, request
|
|
from flask_login import login_required
|
|
|
|
import app
|
|
from app import db, log
|
|
from app.api import api_bp as bp, api_web_bp
|
|
from app.decorators import scodoc, permission_required
|
|
from app.scodoc.sco_exceptions import ScoException
|
|
from app.scodoc.sco_utils import json_error
|
|
from app.but import jury_but_recap
|
|
from app.models import FormSemestre, FormSemestreInscription, Identite
|
|
from app.scodoc.sco_permissions import Permission
|
|
|
|
|
|
@bp.route("/formsemestre/<int:formsemestre_id>/decisions_jury")
|
|
@api_web_bp.route("/formsemestre/<int:formsemestre_id>/decisions_jury")
|
|
@login_required
|
|
@scodoc
|
|
@permission_required(Permission.ScoView)
|
|
def decisions_jury(formsemestre_id: int):
|
|
"""Décisions du jury des étudiants du formsemestre."""
|
|
# APC, pair:
|
|
formsemestre: FormSemestre = FormSemestre.query.get(formsemestre_id)
|
|
if formsemestre.formation.is_apc():
|
|
app.set_sco_dept(formsemestre.departement.acronym)
|
|
rows = jury_but_recap.get_jury_but_results(formsemestre)
|
|
return jsonify(rows)
|
|
else:
|
|
raise ScoException("non implemente")
|