diff --git a/app/api/justificatifs.py b/app/api/justificatifs.py index a22ca39a..611785ef 100644 --- a/app/api/justificatifs.py +++ b/app/api/justificatifs.py @@ -15,7 +15,7 @@ from werkzeug.exceptions import NotFound import app.scodoc.sco_assiduites as scass import app.scodoc.sco_utils as scu -from app import db +from app import db, set_sco_dept from app.api import api_bp as bp from app.api import api_web_bp from app.api import get_model_api_object, tools @@ -294,6 +294,7 @@ def justif_create(etudid: int = None, nip=None, ine=None): 404, message="étudiant inconnu", ) + set_sco_dept(etud.departement.acronym) # Récupération des justificatifs à créer create_list: list[object] = request.get_json(force=True) diff --git a/app/api/users.py b/app/api/users.py index 761ad0c5..c038ffb8 100644 --- a/app/api/users.py +++ b/app/api/users.py @@ -443,61 +443,61 @@ def role_delete(role_name: str): return {"OK": True} -@bp.route("/user//edt") -@api_web_bp.route("/user//edt") -@login_required -@scodoc -@permission_required(Permission.ScoView) -@as_json -def user_edt(uid: int): - """L'emploi du temps de l'utilisateur. - Si ok, une liste d'évènements. Sinon, une chaine indiquant un message d'erreur. +# @bp.route("/user//edt") +# @api_web_bp.route("/user//edt") +# @login_required +# @scodoc +# @permission_required(Permission.ScoView) +# @as_json +# def user_edt(uid: int): +# """L'emploi du temps de l'utilisateur. +# Si ok, une liste d'évènements. Sinon, une chaine indiquant un message d'erreur. - show_modules_titles affiche le titre complet du module (défaut), sinon juste le code. +# show_modules_titles affiche le titre complet du module (défaut), sinon juste le code. - Il faut la permission ScoView + (UsersView ou bien être connecté comme l'utilisateur demandé) - """ - if g.scodoc_dept is None: # route API non départementale - if not current_user.has_permission(Permission.UsersView): - return scu.json_error(403, "accès non autorisé") - user: User = db.session.get(User, uid) - if user is None: - return json_error(404, "user not found") - # Check permission - if current_user.id != user.id: - if g.scodoc_dept: - allowed_depts = current_user.get_depts_with_permission(Permission.UsersView) - if (None not in allowed_depts) and (user.dept not in allowed_depts): - return json_error(404, "user not found") +# Il faut la permission ScoView + (UsersView ou bien être connecté comme l'utilisateur demandé) +# """ +# if g.scodoc_dept is None: # route API non départementale +# if not current_user.has_permission(Permission.UsersView): +# return scu.json_error(403, "accès non autorisé") +# user: User = db.session.get(User, uid) +# if user is None: +# return json_error(404, "user not found") +# # Check permission +# if current_user.id != user.id: +# if g.scodoc_dept: +# allowed_depts = current_user.get_depts_with_permission(Permission.UsersView) +# if (None not in allowed_depts) and (user.dept not in allowed_depts): +# return json_error(404, "user not found") - show_modules_titles = scu.to_bool(request.args.get("show_modules_titles", False)) +# show_modules_titles = scu.to_bool(request.args.get("show_modules_titles", False)) - # Cherche ics - if not user.edt_id: - return json_error(404, "user not configured") - ics_filename = sco_edt_cal.get_ics_user_edt_filename(user.edt_id) - if not ics_filename: - return json_error(404, "no calendar for this user") +# # Cherche ics +# if not user.edt_id: +# return json_error(404, "user not configured") +# ics_filename = sco_edt_cal.get_ics_user_edt_filename(user.edt_id) +# if not ics_filename: +# return json_error(404, "no calendar for this user") - _, calendar = sco_edt_cal.load_calendar(ics_filename) +# _, calendar = sco_edt_cal.load_calendar(ics_filename) - # TODO: - # - Construire mapping edt2modimpl: edt_id -> modimpl - # pour cela, considérer tous les formsemestres de la période de l'edt - # (soit on considère l'année scolaire du 1er event, ou celle courante, - # soit on cherche min, max des dates des events) - # - Modifier décodage des groupes dans convert_ics pour avoi run mapping - # de groupe par semestre (retrouvé grâce au modimpl associé à l'event) +# # TODO: +# # - Construire mapping edt2modimpl: edt_id -> modimpl +# # pour cela, considérer tous les formsemestres de la période de l'edt +# # (soit on considère l'année scolaire du 1er event, ou celle courante, +# # soit on cherche min, max des dates des events) +# # - Modifier décodage des groupes dans convert_ics pour avoi run mapping +# # de groupe par semestre (retrouvé grâce au modimpl associé à l'event) - raise NotImplementedError() # TODO XXX WIP +# raise NotImplementedError() # TODO XXX WIP - events_scodoc, _ = sco_edt_cal.convert_ics( - calendar, - edt2group=edt2group, - default_group=default_group, - edt2modimpl=edt2modimpl, - ) - edt_dict = sco_edt_cal.translate_calendar( - events_scodoc, group_ids, show_modules_titles=show_modules_titles - ) - return edt_dict +# events_scodoc, _ = sco_edt_cal.convert_ics( +# calendar, +# edt2group=edt2group, +# default_group=default_group, +# edt2modimpl=edt2modimpl, +# ) +# edt_dict = sco_edt_cal.translate_calendar( +# events_scodoc, group_ids, show_modules_titles=show_modules_titles +# ) +# return edt_dict