From 0f8441427eb4e467aa09959a4a67ab6e463a6551 Mon Sep 17 00:00:00 2001 From: davin baragiotta Date: Tue, 2 Aug 2011 15:09:42 -0400 Subject: [PATCH] =?utf8?q?Acc=C3=A8s=20=C3=A0=20page=20perso=20via=20actions?= =?utf8?q?=20en=20haut=20=C3=A0=20droite?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- project/context_processors.py | 7 +++++++ project/dae/utils.py | 17 +++++++++-------- project/lib.py | 16 ++++++++++++++++ project/settings.py | 1 + project/templates/actions.html | 6 +++++- 5 files changed, 38 insertions(+), 9 deletions(-) create mode 100644 project/lib.py diff --git a/project/context_processors.py b/project/context_processors.py index 566b745..58db668 100644 --- a/project/context_processors.py +++ b/project/context_processors.py @@ -1,4 +1,6 @@ # -*- 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) @@ -6,6 +8,11 @@ from permissions import is_admin 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)} diff --git a/project/dae/utils.py b/project/dae/utils.py index d8f765b..f57f4e8 100644 --- a/project/dae/utils.py +++ b/project/dae/utils.py @@ -3,14 +3,15 @@ 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) diff --git a/project/lib.py b/project/lib.py new file mode 100644 index 0000000..3670aca --- /dev/null +++ b/project/lib.py @@ -0,0 +1,16 @@ +# -*- 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 diff --git a/project/settings.py b/project/settings.py index e15cd1c..6ba68d9 100644 --- a/project/settings.py +++ b/project/settings.py @@ -87,6 +87,7 @@ TEMPLATE_CONTEXT_PROCESSORS = ( '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', diff --git a/project/templates/actions.html b/project/templates/actions.html index c38124d..7df2dad 100644 --- a/project/templates/actions.html +++ b/project/templates/actions.html @@ -1,6 +1,10 @@