Assiduites : justifier depuis tableau closes #841
This commit is contained in:
parent
943604996b
commit
a63ed6c0ef
@ -415,6 +415,18 @@ class RowAssiJusti(tb.Row):
|
|||||||
)
|
)
|
||||||
html.append(f'<a title="Supprimer" href="{url}">❌</a>') # utiliser url_for
|
html.append(f'<a title="Supprimer" href="{url}">❌</a>') # utiliser url_for
|
||||||
|
|
||||||
|
# Justifier (si type Assiduité et est_just faux)
|
||||||
|
|
||||||
|
if self.ligne["type"] == "assiduite" and not self.ligne["est_just"]:
|
||||||
|
url = url_for(
|
||||||
|
"assiduites.tableau_assiduite_actions",
|
||||||
|
type=self.ligne["type"],
|
||||||
|
action="justifier",
|
||||||
|
obj_id=self.ligne["obj_id"],
|
||||||
|
scodoc_dept=g.scodoc_dept,
|
||||||
|
)
|
||||||
|
html.append(f'<a title="Justifier" href="{url}">🗄️</a>')
|
||||||
|
|
||||||
self.add_cell(
|
self.add_cell(
|
||||||
"actions",
|
"actions",
|
||||||
"",
|
"",
|
||||||
|
@ -1458,7 +1458,7 @@ def _prepare_tableau(
|
|||||||
def tableau_assiduite_actions():
|
def tableau_assiduite_actions():
|
||||||
"""Edition/suppression/information sur une assiduité ou un justificatif
|
"""Edition/suppression/information sur une assiduité ou un justificatif
|
||||||
type = "assiduite" | "justificatif"
|
type = "assiduite" | "justificatif"
|
||||||
action = "supprimer" | "
|
action = "supprimer" | "details" | "justifier"
|
||||||
"""
|
"""
|
||||||
obj_type: str = request.args.get("type", "assiduite")
|
obj_type: str = request.args.get("type", "assiduite")
|
||||||
action: str = request.args.get("action", "details")
|
action: str = request.args.get("action", "details")
|
||||||
@ -1480,6 +1480,22 @@ def tableau_assiduite_actions():
|
|||||||
|
|
||||||
return redirect(request.referrer)
|
return redirect(request.referrer)
|
||||||
|
|
||||||
|
# Justification d'une assiduité depuis le tableau
|
||||||
|
if action == "justifier" and obj_type == "assiduite":
|
||||||
|
# Création du justificatif correspondant
|
||||||
|
justificatif_correspondant: Justificatif = Justificatif.create_justificatif(
|
||||||
|
etudiant=objet.etudiant,
|
||||||
|
date_debut=objet.date_debut,
|
||||||
|
date_fin=objet.date_fin,
|
||||||
|
etat=scu.EtatJustificatif.VALIDE,
|
||||||
|
user_id=current_user.id,
|
||||||
|
)
|
||||||
|
|
||||||
|
compute_assiduites_justified(objet.etudiant.id, [justificatif_correspondant])
|
||||||
|
|
||||||
|
flash(f"{objet_name} justifiée")
|
||||||
|
return redirect(request.referrer)
|
||||||
|
|
||||||
if request.method == "GET":
|
if request.method == "GET":
|
||||||
module: str | int = "" # moduleimpl_id ou chaine libre
|
module: str | int = "" # moduleimpl_id ou chaine libre
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user