diff --git a/gestion_employe/templates/gestion_employe/monprofil.html b/gestion_employe/templates/gestion_employe/monprofil.html index 3ca4fbf..506f323 100644 --- a/gestion_employe/templates/gestion_employe/monprofil.html +++ b/gestion_employe/templates/gestion_employe/monprofil.html @@ -19,12 +19,13 @@ {% endfor %} {% endif %} -{% if not expiration_contrat %} -
+{% if not has_contrat %} +
Important : Les informations sur votre contrat n'ont pas été renseignées, veuillez contacter les ressources humaines.
-{% elif contrat_nb_jours_restant %} -
+ +{% 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"""