Compare commits

..

No commits in common. "cd961e6e3ea65c52fbc40b2f59f198d5ff1f8847" and "d468a3f49ed9cb75816fea32af2664d6630ec5cf" have entirely different histories.

3 changed files with 64 additions and 82 deletions

View File

@ -66,7 +66,6 @@ from app.scodoc.sco_permissions import Permission
from app.scodoc.sco_prepajury import feuille_preparation_jury
from app.scodoc.sco_pvjury import formsemestre_pvjury
from app.scodoc.sco_recapcomplet import formsemestre_recapcomplet
from app.scodoc.sco_saisie_notes import notes_add
@bp.route("/departements", methods=["GET"])
@ -159,12 +158,11 @@ def referenciel_competences(dept: str, formation_id: int):
return jsonify(ref.to_dict())
@bp.route("/departements/<string:dept>/formsemestre<string:formsemestre_id>/programme", methods=["GET"])
def semestre_index(dept: str, formsemestre_id: int):
"""
Retourne la liste des Ues, ressources et SAE d'un semestre
@bp.route("/departements/<string:dept>/formations/programme/<string:sem_idx>", methods=["GET"])
def semestre_index(dept: str, sem_idx: str):
"""
"""
return error_response(501, message="not implemented")
@ -572,18 +570,15 @@ def evaluation_notes(evaluation_id: int):
return jsonify(data)
@bp.route("/evaluations/eval_set_notes?eval_id=<int:eval_id>&etudid=<int:etudid>&note=<float:note>", methods=["POST"])
@bp.route("/evaluations/eval_set_notes?eval_id=<int:eval_id>&nip=<int:nip>&note=<float:note>", methods=["POST"])
@bp.route("/evaluations/eval_set_notes?eval_id=<int:eval_id>&ine=<int:ine>&note=<float:note>", methods=["POST"])
@bp.route(
"/evaluations/eval_set_notes?eval_id=<int:eval_id>&etudid=<int:etudid>&note=<int:note>",
methods=["POST"],
)
@token_auth.login_required
def evaluation_set_notes(eval_id: int, etudid: int, note: float):
"""
Set les notes d'une évaluation pour un étudiant donnée
"""
# fonction to use : notes_add
# Qu'est ce qu'un user ???
#notes_add()
return error_response(501, message="Not implemented")
@ -850,7 +845,6 @@ def abs_groupe_etat(
###################################################### Logos ##########################################################
# XXX TODO voir get_logo déjà existant dans app/views/scodoc.py
@bp.route("/logos", methods=["GET"])
def liste_logos(format="json"):
@ -858,16 +852,15 @@ 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
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/<string:logo_name>", methods=["GET"])
@ -876,17 +869,15 @@ def recup_logo_global(logo_name: str):
Retourne l'image au format png ou jpg
"""
# 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
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/<string:dept>/logos", methods=["GET"])
@ -895,16 +886,16 @@ def logo_dept(dept: str):
Liste des logos définis pour le département visé.
"""
# 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
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/<string:dept>/logos/<string:logo_name>", methods=["GET"])
@ -913,13 +904,13 @@ def recup_logo_dept_global(dept: str, logo_name: str):
L'image format png ou jpg
"""
# 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
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

View File

@ -1013,16 +1013,11 @@ def mail_bulletin(formsemestre_id, I, pdfdata, filename, recipient_addr):
intro_mail = sco_preferences.get_preference("bul_intro_mail", formsemestre_id)
if intro_mail:
try:
hea = intro_mail % {
"nomprenom": etud["nomprenom"],
"dept": dept,
"webmaster": webmaster,
}
except KeyError as e:
raise ScoValueError(
"format 'Message d'accompagnement' (bul_intro_mail) invalide, revoir les réglages dans les préférences"
)
hea = intro_mail % {
"nomprenom": etud["nomprenom"],
"dept": dept,
"webmaster": webmaster,
}
else:
hea = ""

View File

@ -854,27 +854,23 @@ def formsemestre_import_etud_admission(
apo_emailperso = etud.get("mailperso", "")
if info["emailperso"] and not apo_emailperso:
apo_emailperso = info["emailperso"]
if import_email:
if not "mail" in etud:
raise ScoValueError(
"la réponse portail n'a pas le champs requis 'mail'"
)
if (
info["email"] != etud["mail"]
or info["emailperso"] != apo_emailperso
):
sco_etud.adresse_edit(
cnx,
args={
"etudid": etudid,
"adresse_id": info["adresse_id"],
"email": etud["mail"],
"emailperso": apo_emailperso,
},
)
# notifie seulement les changements d'adresse mail institutionnelle
if info["email"] != etud["mail"]:
changed_mails.append((info, etud["mail"]))
if (
import_email
and info["email"] != etud["mail"]
or info["emailperso"] != apo_emailperso
):
sco_etud.adresse_edit(
cnx,
args={
"etudid": etudid,
"adresse_id": info["adresse_id"],
"email": etud["mail"],
"emailperso": apo_emailperso,
},
)
# notifie seulement les changements d'adresse mail institutionnelle
if info["email"] != etud["mail"]:
changed_mails.append((info, etud["mail"]))
else:
unknowns.append(code_nip)
sco_cache.invalidate_formsemestre(formsemestre_id=sem["formsemestre_id"])