From 719b51ecae86b3575ce3e4e89df575ead67cf489 Mon Sep 17 00:00:00 2001 From: davin baragiotta Date: Fri, 29 Jul 2011 17:48:48 -0400 Subject: [PATCH] =?utf8?q?s=C3=A9curit=C3=A9=20a=20priori=20:=20dae,=20recru?= =?utf8?q?tement=20(context=5Fprocessor)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- project/dae/context_processors.py | 8 ++++++++ project/recrutement/context_processors.py | 8 ++++++++ project/recrutement/permissions.py | 15 +++++++++++++++ project/settings.py | 2 ++ project/templates/index.html | 20 +++++++++++++++----- project/templates/menu.html | 4 ++++ 6 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 project/dae/context_processors.py create mode 100644 project/recrutement/context_processors.py create mode 100644 project/recrutement/permissions.py diff --git a/project/dae/context_processors.py b/project/dae/context_processors.py new file mode 100644 index 0000000..40dce68 --- /dev/null +++ b/project/dae/context_processors.py @@ -0,0 +1,8 @@ +# -*- encoding: utf-8 -*- +from dae.decorators import user_in_dae_groupes as in_dae_groupes + +# Ajout de variables accessibles dans les templates (pour tester permissions dans templates) + +def user_in_dae_groupes(request): + return {'user_in_dae_groupes': in_dae_groupes(request.user)} + diff --git a/project/recrutement/context_processors.py b/project/recrutement/context_processors.py new file mode 100644 index 0000000..69b8c6e --- /dev/null +++ b/project/recrutement/context_processors.py @@ -0,0 +1,8 @@ +# -*- encoding: utf-8 -*- +from recrutement.permissions import user_in_recrutement_groupes as in_recrutement_groupes + +# Ajout de variables accessibles dans les templates (pour tester permissions dans templates) + +def user_in_recrutement_groupes(request): + return {'user_in_recrutement_groupes': in_recrutement_groupes(request.user)} + diff --git a/project/recrutement/permissions.py b/project/recrutement/permissions.py new file mode 100644 index 0000000..dc7b9c1 --- /dev/null +++ b/project/recrutement/permissions.py @@ -0,0 +1,15 @@ +# -*- encoding: utf-8 -*- +from django.contrib.auth.models import Group + +# Logique AUF des permissions + +recrutement_groupes = Group.objects.none() + +def user_in_recrutement_groupes(user): + """ + Teste si un user Django fait parti des groupes prédéfinis de DAE. + """ + for g in user.groups.all(): + if g in recrutement_groupes: + return True + return False diff --git a/project/settings.py b/project/settings.py index 0384e47..e15cd1c 100644 --- a/project/settings.py +++ b/project/settings.py @@ -88,6 +88,8 @@ TEMPLATE_CONTEXT_PROCESSORS = ( 'auf.django.skin.context_processors.auf', 'project.context_processors.utilisateur', 'project.context_processors.user_is_admin', + 'dae.context_processors.user_in_dae_groupes', + 'recrutement.context_processors.user_in_recrutement_groupes', ) AUTHENTICATION_BACKENDS = ( diff --git a/project/templates/index.html b/project/templates/index.html index 2edc41d..e2fa48d 100644 --- a/project/templates/index.html +++ b/project/templates/index.html @@ -4,7 +4,6 @@ {% block sous_titre %}Accueil{% endblock %} {% block main %} -

Ressources humaines

@@ -15,8 +14,20 @@ Voici les applications actuellement disponibles :

L'accès aux applications est géré par des permissions d'accès. @@ -24,7 +35,7 @@ L'accès aux applications est géré par des permissions d'accès.

Vos permissions d'accès

-{% if request.user.groups.all %} +{% if user.groups.all %}

Vous faites partie des groupes suivants :

-- 1.7.10.4