##############################################################################
# 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")
