@@ -154,7 +154,14 @@ class DjangoModelPermissionsOrAnonReadOnly(DjangoModelPermissions):
154
154
155
155
class DjangoObjectLevelModelPermissions (DjangoModelPermissions ):
156
156
"""
157
- Basic object level permissions utilizing django-guardian.
157
+ The request is authenticated using `django.contrib.auth` permissions.
158
+ See: https://docs.djangoproject.com/en/dev/topics/auth/#permissions
159
+
160
+ It ensures that the user is authenticated, and has the appropriate
161
+ `add`/`change`/`delete` permissions on the object using .has_perms.
162
+
163
+ This permission can only be applied against view classes that
164
+ provide a `.model` or `.queryset` attribute.
158
165
"""
159
166
160
167
actions_map = {
@@ -173,12 +180,6 @@ def get_required_object_permissions(self, method, model_cls):
173
180
}
174
181
return [perm % kwargs for perm in self .actions_map [method ]]
175
182
176
- def has_permission (self , request , view ):
177
- if getattr (view , 'action' , None ) == 'list' :
178
- queryset = view .get_queryset ()
179
- view .queryset = ObjectPermissionReaderFilter ().filter_queryset (request , queryset , view )
180
- return <
4E9E
span class=pl-en>super(DjangoObjectLevelModelPermissions , self ).has_permission (request , view )
181
-
182
183
def has_object_permission (self , request , view , obj ):
183
184
model_cls = getattr (view , 'model' , None )
184
185
queryset = getattr (view , 'queryset' , None )
0 commit comments