diff options
| author | bwreilly | 2013-09-09 09:32:29 -0700 |
|---|---|---|
| committer | bwreilly | 2013-09-09 09:32:29 -0700 |
| commit | 23fc9dd53fcd9cc25e2c77e5ffae395f04d4990d (patch) | |
| tree | 5d81f1c228847444618620711e6df3aabc799f60 /rest_framework/permissions.py | |
| parent | 0183c69538de7b6dc4e9b0602fc364e789e0cab6 (diff) | |
| download | django-rest-framework-23fc9dd53fcd9cc25e2c77e5ffae395f04d4990d.tar.bz2 | |
better doc for object permissions, drop redundant has_permission call
Diffstat (limited to 'rest_framework/permissions.py')
| -rw-r--r-- | rest_framework/permissions.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/rest_framework/permissions.py b/rest_framework/permissions.py index 61a33bdd..70bf9c61 100644 --- a/rest_framework/permissions.py +++ b/rest_framework/permissions.py @@ -154,7 +154,14 @@ class DjangoModelPermissionsOrAnonReadOnly(DjangoModelPermissions): class DjangoObjectLevelModelPermissions(DjangoModelPermissions): """ - Basic object level permissions utilizing django-guardian. + The request is authenticated using `django.contrib.auth` permissions. + See: https://docs.djangoproject.com/en/dev/topics/auth/#permissions + + It ensures that the user is authenticated, and has the appropriate + `add`/`change`/`delete` permissions on the object using .has_perms. + + This permission can only be applied against view classes that + provide a `.model` or `.queryset` attribute. """ actions_map = { @@ -173,12 +180,6 @@ class DjangoObjectLevelModelPermissions(DjangoModelPermissions): } return [perm % kwargs for perm in self.actions_map[method]] - def has_permission(self, request, view): - if getattr(view, 'action', None) == 'list': - queryset = view.get_queryset() - view.queryset = ObjectPermissionReaderFilter().filter_queryset(request, queryset, view) - return super(DjangoObjectLevelModelPermissions, self).has_permission(request, view) - def has_object_permission(self, request, view, obj): model_cls = getattr(view, 'model', None) queryset = getattr(view, 'queryset', None) |
