# -*- encoding: utf-8 -*-
+
+from lib import get_employe_from_user
from permissions import is_admin
# Ajout de variables accessibles dans les templates (pour tester permissions dans templates)
def utilisateur(request):
return {'utilisateur': request.user}
+def this_employe(request):
+ user = request.user
+ employe = get_employe_from_user(user)
+ return {'this_employe': employe}
+
def user_is_admin(request):
return {'user_is_admin': not request.user.is_anonymous() and is_admin(request.user)}
import datamaster_modeles.models as ref
def get_employe_from_user(user):
- """
- Retourne un employé AUF à partir de son user Django.
- """
- try:
- employe = ref.Authentification.objects.get(courriel=user.email).id
- except:
- raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
- return employe
+ """
+ Retourne un employé AUF à partir de son user Django.
+ """
+ # Refactoring : utiliser project.lib.get_employe_from_user
+ try:
+ employe = ref.Authentification.objects.get(courriel=user.email).id
+ except:
+ raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
+ return employe
def is_user_dans_services_centraux(user):
employe = get_employe_from_user(user)
--- /dev/null
+# -*- encoding: utf-8 -*-
+
+import datamaster_modeles.models as ref
+import rh.models as rh
+
+def get_employe_from_user(user):
+ """
+ Retourne un employé AUF (rh.Employe) à partir de son user Django.
+ """
+ try:
+ ref_employe = ref.Authentification.objects.get(courriel=user.email).id
+ employe = rh.Employe.objects.get(id=ref_employe.id)
+ except:
+ #raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
+ employe = rh.Employe.objects.none()
+ return employe
'django.core.context_processors.request',
'auf.django.skin.context_processors.auf',
'project.context_processors.utilisateur',
+ 'project.context_processors.this_employe',
'project.context_processors.user_is_admin',
'dae.context_processors.user_in_dae_groupes',
'recrutement.context_processors.user_in_recrutement_groupes',
<ul>
{% if user.is_authenticated %}
- <li class="username"><a href="">{{ user }}</a></li>
+ {% if this_employe %}
+ <li class="username"><a href="{% url rh_perso this_employe.id %}">{{ this_employe }}</a></li>
+ {% else %}
+ <li class="username">{{ user }}</li>
+ {% endif %}
<li><a href="{% url admin:index %}">Administration</a></li>
<li><a href="{% url django.contrib.auth.views.logout %}?next=/">Déconnexion</a></li>
{% else %}