forked from ScoDoc/ScoDoc
assiduites : fin grosses modifs
This commit is contained in:
parent
b73a02ac67
commit
4f71575154
@ -484,6 +484,14 @@ def assiduite_edit(assiduite_id: int):
|
|||||||
if desc is not False:
|
if desc is not False:
|
||||||
assiduite_unique.desc = desc
|
assiduite_unique.desc = desc
|
||||||
|
|
||||||
|
# Cas 4 : est_just
|
||||||
|
est_just = data.get("est_just")
|
||||||
|
if est_just is not None:
|
||||||
|
if not isinstance(est_just, bool):
|
||||||
|
errors.append("param 'est_just' : booléen non reconnu")
|
||||||
|
else:
|
||||||
|
assiduite_unique.est_just = est_just
|
||||||
|
|
||||||
if errors:
|
if errors:
|
||||||
err: str = ", ".join(errors)
|
err: str = ", ".join(errors)
|
||||||
return json_error(404, err)
|
return json_error(404, err)
|
||||||
@ -633,8 +641,6 @@ def _filter_manager(requested, assiduites_query: Assiduite):
|
|||||||
|
|
||||||
user_id = requested.args.get("user_id", False)
|
user_id = requested.args.get("user_id", False)
|
||||||
if user_id is not False:
|
if user_id is not False:
|
||||||
assiduites_query: Assiduite = scass.filter_assiduites_by_user_id(
|
assiduites_query: Assiduite = scass.filter_by_user_id(assiduites_query, user_id)
|
||||||
assiduites_query, user_id
|
|
||||||
)
|
|
||||||
|
|
||||||
return assiduites_query
|
return assiduites_query
|
||||||
|
@ -18,6 +18,7 @@ from app.api import api_web_bp
|
|||||||
from app.api import get_model_api_object
|
from app.api import get_model_api_object
|
||||||
from app.decorators import permission_required, scodoc
|
from app.decorators import permission_required, scodoc
|
||||||
from app.models import Identite, Justificatif
|
from app.models import Identite, Justificatif
|
||||||
|
from app.models.assiduites import compute_assiduites_justified
|
||||||
from app.scodoc.sco_archives_justificatifs import JustificatifArchiver
|
from app.scodoc.sco_archives_justificatifs import JustificatifArchiver
|
||||||
from app.scodoc.sco_exceptions import ScoValueError
|
from app.scodoc.sco_exceptions import ScoValueError
|
||||||
from app.scodoc.sco_permissions import Permission
|
from app.scodoc.sco_permissions import Permission
|
||||||
@ -79,6 +80,9 @@ def justificatifs(etudid: int = None, with_query: bool = False):
|
|||||||
dont la date de fin est inférieure ou égale à la valeur donnée):
|
dont la date de fin est inférieure ou égale à la valeur donnée):
|
||||||
query?date_fin=[- date au format iso -]
|
query?date_fin=[- date au format iso -]
|
||||||
ex: query?date_fin=2022-11-03T10:00+01:00
|
ex: query?date_fin=2022-11-03T10:00+01:00
|
||||||
|
user_id (l'id de l'auteur du justificatif)
|
||||||
|
query?user_id=[int]
|
||||||
|
ex query?user_id=3
|
||||||
"""
|
"""
|
||||||
|
|
||||||
query = Identite.query.filter_by(id=etudid)
|
query = Identite.query.filter_by(id=etudid)
|
||||||
@ -140,7 +144,7 @@ def justif_create(etudid: int = None):
|
|||||||
errors[i] = obj
|
errors[i] = obj
|
||||||
else:
|
else:
|
||||||
success[i] = obj
|
success[i] = obj
|
||||||
|
compute_assiduites_justified(Justificatif.query.filter_by(etudid=etudid), True)
|
||||||
return jsonify({"errors": errors, "success": success})
|
return jsonify({"errors": errors, "success": success})
|
||||||
|
|
||||||
|
|
||||||
@ -198,6 +202,7 @@ def _create_singular(
|
|||||||
|
|
||||||
db.session.add(nouv_justificatif)
|
db.session.add(nouv_justificatif)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
return (
|
return (
|
||||||
200,
|
200,
|
||||||
{
|
{
|
||||||
@ -290,11 +295,15 @@ def justif_edit(justif_id: int):
|
|||||||
|
|
||||||
db.session.add(justificatif_unique)
|
db.session.add(justificatif_unique)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
return jsonify(
|
return jsonify(
|
||||||
{
|
{
|
||||||
"couverture": {
|
"couverture": {
|
||||||
"avant": avant_ids,
|
"avant": avant_ids,
|
||||||
"après": scass.justifies(justificatif_unique),
|
"après": compute_assiduites_justified(
|
||||||
|
Justificatif.query.filter_by(etudid=justificatif_unique.etudid),
|
||||||
|
True,
|
||||||
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@ -573,4 +582,10 @@ def _filter_manager(requested, justificatifs_query):
|
|||||||
justificatifs_query, Justificatif, deb, fin
|
justificatifs_query, Justificatif, deb, fin
|
||||||
)
|
)
|
||||||
|
|
||||||
|
user_id = requested.args.get("user_id", False)
|
||||||
|
if user_id is not False:
|
||||||
|
justificatif_query: Justificatif = scass.filter_by_user_id(
|
||||||
|
justificatif_query, user_id
|
||||||
|
)
|
||||||
|
|
||||||
return justificatifs_query
|
return justificatifs_query
|
||||||
|
@ -196,7 +196,7 @@ def get_assiduites_stats(
|
|||||||
elif key == "est_just":
|
elif key == "est_just":
|
||||||
assiduites = filter_assiduites_by_est_just(assiduites, filtered[key])
|
assiduites = filter_assiduites_by_est_just(assiduites, filtered[key])
|
||||||
elif key == "user_id":
|
elif key == "user_id":
|
||||||
assiduites = filter_assiduites_by_user_id(assiduites, filtered[key])
|
assiduites = filter_by_user_id(assiduites, filtered[key])
|
||||||
if (deb, fin) != (None, None):
|
if (deb, fin) != (None, None):
|
||||||
assiduites = filter_by_date(assiduites, Assiduite, deb, fin)
|
assiduites = filter_by_date(assiduites, Assiduite, deb, fin)
|
||||||
|
|
||||||
@ -232,11 +232,14 @@ def filter_assiduites_by_est_just(
|
|||||||
return assiduites.filter_by(est_just=est_just)
|
return assiduites.filter_by(est_just=est_just)
|
||||||
|
|
||||||
|
|
||||||
def filter_assiduites_by_user_id(assiduites: Assiduite, user_id: int) -> Justificatif:
|
def filter_by_user_id(
|
||||||
|
collection: Assiduite or Justificatif,
|
||||||
|
user_id: int,
|
||||||
|
) -> Justificatif:
|
||||||
"""
|
"""
|
||||||
Filtrage d'une collection d'assiduites en fonction de l'user_id
|
Filtrage d'une collection en fonction de l'user_id
|
||||||
"""
|
"""
|
||||||
return assiduites.filter_by(user_id=user_id)
|
return collection.filter_by(user_id=user_id)
|
||||||
|
|
||||||
|
|
||||||
def filter_by_date(
|
def filter_by_date(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user