forked from ScoDoc/ScoDoc
WIP: API absences
This commit is contained in:
parent
62c65176b6
commit
5df1d90101
@ -1,20 +1,14 @@
|
|||||||
#################################################### Absences #########################################################
|
#################################################### Absences #########################################################
|
||||||
from datetime import datetime
|
|
||||||
|
|
||||||
from flask import jsonify
|
from flask import jsonify
|
||||||
|
|
||||||
from app import models
|
|
||||||
from app.api import bp
|
from app.api import bp
|
||||||
from app.api.errors import error_response
|
from app.api.errors import error_response
|
||||||
from app.api.auth import token_permission_required
|
from app.api.auth import token_permission_required
|
||||||
from app.api.tools import get_etu_from_etudid_or_nip_or_ine
|
from app.api.tools import get_etu_from_etudid_or_nip_or_ine
|
||||||
from app.scodoc import ndb
|
from app.scodoc import notesdb as ndb
|
||||||
|
|
||||||
from app.scodoc import sco_abs
|
from app.scodoc import sco_abs
|
||||||
from app.scodoc.sco_abs import (
|
|
||||||
annule_absence,
|
|
||||||
annule_justif,
|
|
||||||
list_abs_date,
|
|
||||||
)
|
|
||||||
from app.scodoc.sco_groups import get_group_members
|
from app.scodoc.sco_groups import get_group_members
|
||||||
from app.scodoc.sco_permissions import Permission
|
from app.scodoc.sco_permissions import Permission
|
||||||
|
|
||||||
@ -208,7 +202,7 @@ def abs_groupe_etat( # XXX A REVOIR XXX
|
|||||||
data = []
|
data = []
|
||||||
# Filtre entre les deux dates renseignées
|
# Filtre entre les deux dates renseignées
|
||||||
for member in members:
|
for member in members:
|
||||||
abs = list_abs_date(member.id, date_debut, date_fin)
|
abs = sco_abs.list_abs_date(member.id, date_debut, date_fin)
|
||||||
data.append(abs)
|
data.append(abs)
|
||||||
|
|
||||||
# return jsonify(data) # XXX TODO faire en sorte de pouvoir renvoyer sa (ex to_dict() dans absences)
|
# return jsonify(data) # XXX TODO faire en sorte de pouvoir renvoyer sa (ex to_dict() dans absences)
|
||||||
|
@ -425,16 +425,20 @@ def list_abs_date(etudid, beg_date=None, end_date=None):
|
|||||||
cursor.execute(
|
cursor.execute(
|
||||||
"""SELECT jour, matin, estabs, estjust, description FROM ABSENCES A
|
"""SELECT jour, matin, estabs, estjust, description FROM ABSENCES A
|
||||||
WHERE A.ETUDID = %(etudid)s"""
|
WHERE A.ETUDID = %(etudid)s"""
|
||||||
+ ("" if beg_date is None else """
|
+ (
|
||||||
|
""
|
||||||
|
if beg_date is None
|
||||||
|
else """
|
||||||
AND A.jour >= %(beg_date)s
|
AND A.jour >= %(beg_date)s
|
||||||
AND A.jour <= %(end_date)s
|
AND A.jour <= %(end_date)s
|
||||||
""",
|
""",
|
||||||
vars(),
|
vars(),
|
||||||
)
|
)
|
||||||
Abs = cursor.dictfetchall()
|
)
|
||||||
|
absences = cursor.dictfetchall()
|
||||||
# remove duplicates
|
# remove duplicates
|
||||||
A = {} # { (jour, matin) : abs }
|
A = {} # { (jour, matin) : abs }
|
||||||
for a in Abs:
|
for a in absences:
|
||||||
jour, matin = a["jour"], a["matin"]
|
jour, matin = a["jour"], a["matin"]
|
||||||
if (jour, matin) in A:
|
if (jour, matin) in A:
|
||||||
# garde toujours la description
|
# garde toujours la description
|
||||||
|
Loading…
Reference in New Issue
Block a user