From 7ebec0bdcd2fa03e11ee6824a00bf412ee5ce66f Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Fri, 8 Dec 2023 13:42:24 +0100 Subject: [PATCH] Assiduite API: fix bug in _edit_one --- app/api/assiduites.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/app/api/assiduites.py b/app/api/assiduites.py index 4116a2cc0..0f498aa1d 100644 --- a/app/api/assiduites.py +++ b/app/api/assiduites.py @@ -10,6 +10,7 @@ from datetime import datetime from flask import g, request from flask_json import as_json from flask_login import current_user, login_required +from flask_sqlalchemy.query import Query from app import db, log, set_sco_dept import app.scodoc.sco_assiduites as scass @@ -24,7 +25,6 @@ from app.models import ( ModuleImpl, Scolog, ) -from flask_sqlalchemy.query import Query from app.models.assiduites import ( get_assiduites_justif, get_justifs_from_date, @@ -84,7 +84,7 @@ def assiduite_justificatifs(assiduite_id: int = None, long: bool = False): ] """ - return get_assiduites_justif(assiduite_id, True) + return get_assiduites_justif(assiduite_id, long) # etudid @@ -839,9 +839,6 @@ def assiduite_edit(assiduite_id: int): # Récupération des valeurs à modifier data = request.get_json(force=True) - # Préparation du retour - errors: list[str] = [] - # Code 200 si modification réussie # Code 404 si raté + message d'erreur code, obj = _edit_one(assiduite_unique, data) @@ -988,9 +985,7 @@ def _edit_one(assiduite_unique: Assiduite, data: dict) -> tuple[int, str]: if moduleimpl is None: errors.append("param 'moduleimpl_id': invalide") else: - if not moduleimpl.est_inscrit( - Identite.query.filter_by(id=assiduite_unique.etudid).first() - ): + if not moduleimpl.est_inscrit(assiduite_unique.etudiant): errors.append("param 'moduleimpl_id': etud non inscrit") else: # Mise à jour du moduleimpl @@ -1006,7 +1001,9 @@ def _edit_one(assiduite_unique: Assiduite, data: dict) -> tuple[int, str]: if formsemestre: force = scu.is_assiduites_module_forced(formsemestre_id=formsemestre.id) else: - force = scu.is_assiduites_module_forced(dept_id=etud.dept_id) + force = scu.is_assiduites_module_forced( + dept_id=assiduite_unique.etudiant.dept_id + ) external_data = ( external_data