+
+{% elif expiration_contrat %}
+
Important : Votre contrat de travail expire dans {{ contrat_nb_jours_restant }} jours, veuillez contacter les ressources humaines.
{% endif %}
diff --git a/gestion_employe/views.py b/gestion_employe/views.py
index 3b1fd30..c391a9d 100644
--- a/gestion_employe/views.py
+++ b/gestion_employe/views.py
@@ -129,26 +129,41 @@ def mon_profil(request):
try:
employe = Employe.objects.get(user__username=request.user)
except Employe.DoesNotExist:
- messages.error(request, "Impossible d'acceder au menu 'Mon profil' car votre profil Utilisateur n'est lié à aucun profil Employé. Veuillez contacter l'Administrateur.")
+ messages.error(
+ request,
+ "Impossible d'acceder au menu 'Mon profil' car votre profil Utilisateur n'est lié à aucun profil Employé. Veuillez contacter l'Administrateur."
+ )
return redirect("gestion_conges:conge")
-
+
contrats = Contrat.objects.filter(employe=employe, statut='actif').first()
+
projets = Affectation.objects.filter(
- employe = employe,
- date_fin_daffectation__gte = timezone.now().date()
+ employe=employe,
+ date_fin_daffectation__gte=timezone.now().date()
).select_related('projet')
+ has_contrat = contrats is not None
+ expiration_contrat = False
+ contrat_nb_jours_restant = None
+
+ if contrats:
+ nb_jours = contrats.nombre_jours_restant
+ contrat_nb_jours_restant = nb_jours
+ expiration_contrat = nb_jours <= fonctions_utilitaire.DUREE_FIN_CONTRAT
+
return render(
- request,
- 'gestion_employe/monprofil.html',
+ request,
+ 'gestion_employe/monprofil.html',
{
'employe': employe,
+
'contrats': [{
**model_to_dict(contrats),
"type_contrat": dict(Contrat.TYPE_CONTRAT).get(contrats.type_contrat),
"statut": dict(Contrat.STATUT_CONTRAT).get(contrats.statut),
"fichier_contrat": contrats.fichier_contrat.url if contrats.fichier_contrat else "",
- } if contrats else []],
+ }] if contrats else [],
+
'projets': [
{
**model_to_dict(a.projet),
@@ -158,12 +173,13 @@ def mon_profil(request):
"pourcentage_temps_affectation": a.pourcentage_temps_affectation
} for a in projets
],
+
"formation_form": FormationForm(),
- "expiration_contrat": contrats.nombre_jours_restant <= fonctions_utilitaire.DUREE_FIN_CONTRAT if contrats else False,
- "contrat_nb_jours_restant": contrats.nombre_jours_restant if contrats else None
+ "has_contrat": has_contrat,
+ "expiration_contrat": expiration_contrat,
+ "contrat_nb_jours_restant": contrat_nb_jours_restant
}
)
-
@login_required
def modifier_mot_passe(request):
"""Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil"""