Files
sirh/fonction_utilitaire/fonctions_utilitaire.py

34 lines
1.2 KiB
Python
Raw Normal View History

2026-04-21 16:35:31 +00:00
from django.utils import timezone
from gestion_employe.models import Contrat
from gestion_conge.models import Conge
QUOTA_CONGE_ANNUEL = 30
NOMBRE_PAGINATION = 8
DEBUT_RAPPEL = 60
DUREE_FIN_CONTRAT = 90
def solde_conge(employe):
"""Fonction de calcul du solde de congé restant l'employé"""
contrat = Contrat.objects.filter(employe=employe, statut='actif').order_by('-date_debut').first()
if contrat is None or not contrat.date_debut:
return {
"success": False,
"message": "Votre contrat de travail n'a pas été correctement renseigner. Veuillez contacter les ressources humaines."
}
conges = Conge.objects.filter(employe=employe, validation_direction=True, date_fin__year = timezone.now().date().year)
jours_conges_valider = sum([conge.nombre_jours for conge in conges])
if jours_conges_valider >= QUOTA_CONGE_ANNUEL:
return {
"success": False,
"message": "Vous avez atteint le nombre maximal de jours de congés. Veuillez contacter l'administration."
}
return {
"success": True,
"quota_annuel": QUOTA_CONGE_ANNUEL - jours_conges_valider,
"nombre_jours_valide": jours_conges_valider
}