| author | ymh <ymh.work@gmail.com> |
| Wed, 18 Jul 2018 17:32:09 +0200 | |
| changeset 142 | 56850f5c73f6 |
| parent 117 | 9864fe2067cd |
| permissions | -rw-r--r-- |
|
117
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
""" |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
Permissions for auth objects |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
""" |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
import logging |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
|
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
from rest_framework import permissions |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
from rest_framework.permissions import BasePermission |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
|
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
logger = logging.getLogger(__name__) |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
|
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
|
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
class GroupPermission(BasePermission): |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
""" |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
Pemissions for Groups objects |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
""" |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
|
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
def has_permission(self, request, view): |
| 142 | 18 |
return request.user and request.user.is_authenticated |
|
117
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
|
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
|
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
def has_object_permission(self, request, view, obj): |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
if request.method not in permissions.SAFE_METHODS: |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
return request.user == obj.profile.owner |
|
9864fe2067cd
Add api endpoints for group management
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
return True |