Commit | Line | Data |
---|---|---|
02c1b3dc | 1 | # -*- encoding: utf-8 -*- |
a12ddd52 | 2 | |
b31ce2d7 | 3 | from project.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 | ||
b31ce2d7 | 19 | |
02c1b3dc JPC |
20 | def 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 |