PEP8
[auf_rh_dae.git] / project / rh / decorators.py
CommitLineData
02c1b3dc 1# -*- encoding: utf-8 -*-
a12ddd52 2
b31ce2d7 3from project.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
b31ce2d7 19
02c1b3dc
JPC
20def drh_or_admin_required(fn):
21 """
a12ddd52 22 Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
02c1b3dc
JPC
23 """
24 def inner(request, *args, **kwargs):
25 user = request.user
a12ddd52 26 if in_drh_or_admin(user):
6c602049 27 return fn(request, *args, **kwargs)
02c1b3dc 28
b31ce2d7
EMS
29 msg = u"Votre compte ne permet pas d'accéder à " \
30 u"cette partie de l'application."
02c1b3dc
JPC
31 return redirect_interdiction(request, msg)
32
33 return inner