equal
deleted
inserted
replaced
|
1 from django.conf import settings |
|
2 from ldt.ldt_utils.models import Project |
|
3 |
|
4 |
|
5 def group_security(func): |
|
6 def wrapper(request, *args, **kwargs): |
|
7 if settings.USE_GROUP_PERMISSIONS: |
|
8 if not request.user: |
|
9 raise AttributeError("A user should be set in the request.") |
|
10 |
|
11 Project.objects_safe.check_perm_for(request.user) |
|
12 old_project_manager = Project.objects |
|
13 Project.objects = Project.objects_safe |
|
14 |
|
15 response = func(request, *args, **kwargs) |
|
16 |
|
17 Project.objects = old_project_manager |
|
18 Project.objects_safe.stop_checking() |
|
19 |
|
20 else: |
|
21 response = func(request, *args, **kwargs) |
|
22 return response |
|
23 return wrapper |
|
24 |