#2784
[auf_rh_dae.git] / project / rh / decorators.py
CommitLineData
02c1b3dc 1# -*- encoding: utf-8 -*-
a12ddd52
OL
2
3from rh.groups import grp_drh, grp_drh2
02c1b3dc
JPC
4from project.decorators import redirect_interdiction
5
a12ddd52
OL
6
7def in_drh_or_admin(user):
8 """
9 Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
10 """
11 groups = user.groups.all()
12 if user.is_superuser or \
13 grp_drh in groups or \
14 grp_drh2 in groups:
15 return True
16 else:
17 return False
18
02c1b3dc
JPC
19def drh_or_admin_required(fn):
20 """
a12ddd52 21 Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
02c1b3dc
JPC
22 """
23 def inner(request, *args, **kwargs):
24 user = request.user
a12ddd52 25 if in_drh_or_admin(user):
6c602049 26 return fn(request, *args, **kwargs)
02c1b3dc
JPC
27
28 msg = u"Votre compte ne permet pas d'accéder à cette partie de l'application."
29 return redirect_interdiction(request, msg)
30
31 return inner