Ajout de la suppression des demandes de congé
This commit is contained in:
@@ -234,4 +234,56 @@ def validation_de_conge(request):
|
||||
conge.motif_refus = motif_refus if validation_direction == "refuse" else ""
|
||||
|
||||
conge.save()
|
||||
return JsonResponse({"message": "La décision a été enregistrée avec succès."})
|
||||
return JsonResponse({"message": "La décision a été enregistrée avec succès."})
|
||||
|
||||
|
||||
|
||||
def _conge_est_en_attente(conge):
|
||||
return (
|
||||
conge.validation_hierarchique is not False
|
||||
and conge.validation_direction is not False
|
||||
and not (
|
||||
conge.validation_hierarchique is True
|
||||
and conge.validation_direction is True
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
def supprimer_demande_conge(request, conge_id):
|
||||
if request.method != "POST":
|
||||
return JsonResponse(
|
||||
{"success": False, "message": "Méthode non autorisée."},
|
||||
status=405,
|
||||
)
|
||||
|
||||
try:
|
||||
employe = Employe.objects.get(user=request.user)
|
||||
except Employe.DoesNotExist:
|
||||
return JsonResponse(
|
||||
{"success": False, "message": "Profil employé introuvable."},
|
||||
status=403,
|
||||
)
|
||||
|
||||
try:
|
||||
conge = Conge.objects.get(pk=conge_id, employe=employe)
|
||||
except Conge.DoesNotExist:
|
||||
return JsonResponse(
|
||||
{"success": False, "message": "Demande introuvable ou accès non autorisé."},
|
||||
status=404,
|
||||
)
|
||||
|
||||
if not _conge_est_en_attente(conge):
|
||||
return JsonResponse(
|
||||
{
|
||||
"success": False,
|
||||
"message": "Seules les demandes en attente peuvent être supprimées.",
|
||||
},
|
||||
status=400,
|
||||
)
|
||||
|
||||
conge.delete()
|
||||
return JsonResponse(
|
||||
{"success": True, "message": "Votre demande de congé en attente a été supprimée."}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user