Commit | Line | Data |
---|---|---|
02c1b3dc | 1 | # -*- encoding: utf-8 -*- |
a12ddd52 OL |
2 | |
3 | from rh.groups import grp_drh, grp_drh2 | |
02c1b3dc JPC |
4 | from project.decorators import redirect_interdiction |
5 | ||
a12ddd52 OL |
6 | |
7 | def 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 |
19 | def 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 |