| author | verrierj |
| Wed, 16 Nov 2011 12:34:49 +0100 | |
| changeset 241 | 8649bd4f2443 |
| parent 240 | a46cb257d8ee |
| child 245 | 953228fcbb56 |
| permissions | -rw-r--r-- |
|
239
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
1 |
from django.conf import settings |
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
2 |
from django.core.exceptions import MiddlewareNotUsed |
| 241 | 3 |
from ldt.security.utils import protect_models, unprotect_models, _thread_locals |
|
239
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
4 |
|
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
5 |
class SecurityMiddleware(object): |
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
6 |
|
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
7 |
def __init__(self): |
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
8 |
if not hasattr(settings, 'USE_GROUP_PERMISSIONS') or not settings.USE_GROUP_PERMISSIONS: |
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
9 |
raise MiddlewareNotUsed() |
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
10 |
|
| 241 | 11 |
def process_request(self, request): |
12 |
_thread_locals.user = request.user |
|
13 |
protect_models() |
|
|
239
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
14 |
|
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
15 |
def process_response(self, request, response): |
|
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
16 |
unprotect_models() |
| 241 | 17 |
del _thread_locals.user |
18 |
||
|
239
352be36c9fd7
Moved code about group security into a separate module
verrierj
parents:
diff
changeset
|
19 |
return response |