forked from ScoDoc/ScoDoc
Compare commits
No commits in common. "79b5530813f0dc40442293067a4e573c7753a97c" and "2e1dcce69d961c5cb9d32ce0c9e748a2c2d97efb" have entirely different histories.
79b5530813
...
2e1dcce69d
@ -110,7 +110,7 @@ def liste_etudiants(dept: str, *args, sem_id): # XXX TODO A REVOIR
|
||||
return error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
@bp.route("/departements/<string:dept>/semestres_courant", methods=["GET"])
|
||||
@bp.route("/departements/<string:dept>/semestres_actifs", methods=["GET"])
|
||||
@token_auth.login_required
|
||||
def liste_semestres_courant(dept: str):
|
||||
"""
|
||||
@ -126,7 +126,6 @@ def liste_semestres_courant(dept: str):
|
||||
|
||||
return jsonify(data)
|
||||
|
||||
|
||||
@bp.route(
|
||||
"/departements/<string:dept>/formations/<int:formation_id>/referentiel_competences",
|
||||
methods=["GET"],
|
||||
@ -192,7 +191,6 @@ def etudiants_courant():
|
||||
return jsonify(data)
|
||||
# return error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
@bp.route("/etudiant/etudid/<int:etudid>", methods=["GET"])
|
||||
@bp.route("/etudiant/nip/<int:nip>", methods=["GET"])
|
||||
@bp.route("/etudiant/ine/<int:ine>", methods=["GET"])
|
||||
@ -212,7 +210,6 @@ def etudiant(etudid=None, nip=None, ine=None):
|
||||
|
||||
return jsonify(data)
|
||||
|
||||
|
||||
@bp.route("/etudiant/etudid/<int:etudid>/formsemestres")
|
||||
@bp.route("/etudiant/nip/<int:nip>/formsemestres")
|
||||
@bp.route("/etudiant/ine/<int:ine>/formsemestres")
|
||||
@ -306,7 +303,6 @@ def etudiant_groups(formsemestre_id: int, etudid=None, nip=None, ine=None):
|
||||
|
||||
return jsonify(data)
|
||||
|
||||
|
||||
##############################################" Formations ############################################################
|
||||
|
||||
|
||||
@ -494,7 +490,7 @@ def set_groups(
|
||||
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||
|
||||
|
||||
############################################### Evaluations ###########################################################
|
||||
################################################### Evaluations #######################################################
|
||||
|
||||
|
||||
@bp.route("/evaluations/<int:moduleimpl_id>", methods=["GET"])
|
||||
@ -534,47 +530,6 @@ def evaluation_set_notes(eval_id: int, etudid: int, note: float):
|
||||
return error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
#################################################### Jury #############################################################
|
||||
@bp.route("/jury/formsemestre/<int:formsemestre_id>/preparation_jury", methods=["GET"])
|
||||
def jury_preparation(formsemestre_id: int):
|
||||
"""
|
||||
Feuille de préparation du jury
|
||||
"""
|
||||
return error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
@bp.route("/jury/formsemestre/<int:formsemestre_id>/decisions_jury", methods=["GET"])
|
||||
def jury_decisions(formsemestre_id: int):
|
||||
"""
|
||||
Retourne les décisions du jury suivant un formsemestre donné
|
||||
"""
|
||||
return error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
@bp.route("/jury/set_decision/etudid?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>&jury=<string"
|
||||
":decision_jury>&devenir=<string:devenir_jury>&assiduite=<bool>", methods=["POST"])
|
||||
@bp.route("/jury/set_decision/nip?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>&jury=<string:decision_jury"
|
||||
">&devenir=<string:devenir_jury>&assiduite=<bool>", methods=["POST"])
|
||||
@bp.route("/jury/set_decision/ine?etudid=<int:etudid>&formsemestre_id=<int:formesemestre_id>&jury=<string:decision_jury"
|
||||
">&devenir=<string:devenir_jury>&assiduite=<bool>", methods=["POST"])
|
||||
def set_decision_jury(formsemestre_id: int, decision_jury: str, devenir_jury: str, assiduite: bool, etudid=None,
|
||||
nip=None, ine=None):
|
||||
"""
|
||||
Attribuer la décision du jury et le devenir à un etudiant
|
||||
"""
|
||||
return error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
@bp.route("/jury/etudid/<int:etudid>/formsemestre/<int:formsemestre_id>/annule_decision", methods=["DELETE"])
|
||||
@bp.route("/jury/nip/<int:nip>/formsemestre/<int:formsemestre_id>/annule_decision", methods=["DELETE"])
|
||||
@bp.route("/jury/ine/<int:ine>/formsemestre/<int:formsemestre_id>/annule_decision", methods=["DELETE"])
|
||||
def annule_decision_jury(formsemestre_id: int, etudid=None, nip=None, ine=None):
|
||||
"""
|
||||
Supprime la déciosion du jury pour un étudiant donné
|
||||
"""
|
||||
return error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
#################################################### Absences #########################################################
|
||||
|
||||
|
||||
|
@ -53,7 +53,7 @@ class BonusSport:
|
||||
etud_moy_gen et etud_moy_ue ne sont PAS modifiés (mais utilisés par certains bonus non additifs).
|
||||
"""
|
||||
|
||||
# En classique, active un bonus sur les UEs: (dans ce cas bonus_moy_gen est ajusté pour le prendre en compte)
|
||||
# En classique, active un bonus sur les UEs: (dans ce cas bonus_moy_gen reste None)
|
||||
classic_use_bonus_ues = False
|
||||
|
||||
# Attributs virtuels:
|
||||
|
@ -60,7 +60,7 @@ class ResultatsSemestreClassic(NotesTableCompat):
|
||||
)
|
||||
self.modimpl_inscr_df = inscr_mod.df_load_modimpl_inscr(self.formsemestre)
|
||||
self.modimpl_coefs = np.array(
|
||||
[m.module.coefficient or 0.0 for m in self.formsemestre.modimpls_sorted]
|
||||
[m.module.coefficient for m in self.formsemestre.modimpls_sorted]
|
||||
)
|
||||
self.modimpl_idx = {
|
||||
m.id: i for i, m in enumerate(self.formsemestre.modimpls_sorted)
|
||||
@ -113,20 +113,11 @@ class ResultatsSemestreClassic(NotesTableCompat):
|
||||
self.etud_moy_ue += self.bonus_ues # somme les dataframes
|
||||
self.etud_moy_ue.clip(lower=0.0, upper=20.0, inplace=True)
|
||||
bonus_mg = bonus.get_bonus_moy_gen()
|
||||
if bonus_mg is None and self.bonus_ues is not None:
|
||||
# pas de bonus explicite sur la moyenne générale
|
||||
# on l'ajuste pour refléter les modifs d'UE, à l'aide des coefs d'UE.
|
||||
bonus_mg = (self.etud_coef_ue_df * self.bonus_ues).sum(
|
||||
axis=1
|
||||
) / self.etud_coef_ue_df.sum(axis=1)
|
||||
if bonus_mg is not None:
|
||||
self.etud_moy_gen += bonus_mg
|
||||
elif bonus_mg is not None:
|
||||
# Applique le bonus moyenne générale renvoyé
|
||||
self.etud_moy_gen += bonus_mg
|
||||
|
||||
self.etud_moy_gen.clip(lower=0.0, upper=20.0, inplace=True)
|
||||
# compat nt, utilisé pour l'afficher sur les bulletins:
|
||||
self.bonus = bonus_mg
|
||||
self.etud_moy_gen.clip(lower=0.0, upper=20.0, inplace=True)
|
||||
# compat nt, utilisé pour l'afficher sur les bulletins:
|
||||
self.bonus = bonus_mg
|
||||
# --- UE capitalisées
|
||||
self.apply_capitalisation()
|
||||
|
||||
|
@ -315,8 +315,6 @@ def formsemestre_bulletinetud_dict(formsemestre_id, etudid, version="long"):
|
||||
u["cur_moy_ue_txt"] = "bonus appliqué sur les UEs"
|
||||
else:
|
||||
u["cur_moy_ue_txt"] = "bonus de %.3g points" % x
|
||||
if nt.bonus_ues is not None:
|
||||
u["cur_moy_ue_txt"] += " (+ues)"
|
||||
u["moy_ue_txt"] = scu.fmt_note(ue_status["moy"])
|
||||
if ue_status["coef_ue"] != None:
|
||||
u["coef_ue_txt"] = scu.fmt_coef(ue_status["coef_ue"])
|
||||
|
Loading…
Reference in New Issue
Block a user