forked from ScoDoc/ScoDoc
Update opolka/ScoDoc from ScoDoc/ScoDoc #2
@ -415,6 +415,18 @@ class RowAssiJusti(tb.Row):
|
||||
)
|
||||
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(
|
||||
"actions",
|
||||
"",
|
||||
|
@ -1458,7 +1458,7 @@ def _prepare_tableau(
|
||||
def tableau_assiduite_actions():
|
||||
"""Edition/suppression/information sur une assiduité ou un justificatif
|
||||
type = "assiduite" | "justificatif"
|
||||
action = "supprimer" | "
|
||||
action = "supprimer" | "details" | "justifier"
|
||||
"""
|
||||
obj_type: str = request.args.get("type", "assiduite")
|
||||
action: str = request.args.get("action", "details")
|
||||
@ -1480,6 +1480,22 @@ def tableau_assiduite_actions():
|
||||
|
||||
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":
|
||||
module: str | int = "" # moduleimpl_id ou chaine libre
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user