--- /dev/null
+# -*- encoding: utf-8 -*-
+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 user_is_admin(request):
+ return {'user_is_admin': not request.user.is_anonymous() and is_admin(request.user)}
+
from project.dae import models as dae
from project.rh_v1 import models as rh
+from project.decorators import admin_required
def index(request):
return render_to_response('dae/index.html', {}, RequestContext(request))
-
def poste(request, key=None):
""" Formulaire pour un poste.
--- /dev/null
+# -*- encoding: utf-8 -*-
+"""
+Décorateurs AUF
+"""
+from django.contrib.auth.decorators import user_passes_test
+from django.core.urlresolvers import reverse
+from django.http import HttpResponseRedirect
+#from helpdesk.models import Ticket, TicketCC
+from permissions import is_employe, is_admin
+
+# Décorateurs des fonctions dans views (pour tester permissions dans views)
+
+def admin_required(fn):
+ def inner(request, *args, **kwargs):
+ user = request.user
+ if is_admin(user):
+ return fn(request, *args, **kwargs)
+ else :
+ return HttpResponseRedirect(reverse('index'))
+ return inner
--- /dev/null
+# -*- encoding: utf-8 -*-
+
+from django.contrib.auth.decorators import user_passes_test
+from django.contrib.auth.models import Group
+
+# Logique AUF des permissions
+
+def is_employe(user):
+ return user.is_authenticated() and user.is_active and user.is_staff
+
+def is_admin(user):
+ """
+ Un admin est un employé qui est superuser
+ """
+ return is_employe(user) and user.is_superuser
<ul>
<li><a href="{% url dae_index %}">Demande d'autorisation d'embauche (DAE)</a></li>
</ul>
-
{% endblock %}
'django.contrib.messages.context_processors.messages',
'django.core.context_processors.request',
'auf.django.skin.context_processors.auf',
+ 'project.context_processors.utilisateur',
+ 'project.context_processors.user_is_admin',
)
AUTHENTICATION_BACKENDS = (