diff options
| author | Tom Christie | 2012-09-27 21:51:46 +0100 |
|---|---|---|
| committer | Tom Christie | 2012-09-27 21:51:46 +0100 |
| commit | ee36e4ab0c0508a590c6b73a23ec82b7f1e49bd0 (patch) | |
| tree | 8c74086caf32984fe5adb9776558f04e5e56dc76 /rest_framework/views.py | |
| parent | 4d906938a9304be119a9b15f6540a8cbab6f1154 (diff) | |
| download | django-rest-framework-ee36e4ab0c0508a590c6b73a23ec82b7f1e49bd0.tar.bz2 | |
Only display forms when user has permissions. #159
Diffstat (limited to 'rest_framework/views.py')
| -rw-r--r-- | rest_framework/views.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/rest_framework/views.py b/rest_framework/views.py index 3605b1ee..c1a066d3 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -169,13 +169,14 @@ class APIView(View): conneg = self.content_negotiation_class() return conneg.negotiate(request, renderers, self.format, force) - def check_permissions(self, request, obj=None): + def has_permission(self, request, obj=None): """ - Check if request should be permitted. + Return `True` if the request should be permitted. """ for permission in self.get_permissions(): if not permission.has_permission(request, obj): - self.permission_denied(request) + return False + return True def check_throttles(self, request): """ @@ -197,7 +198,8 @@ class APIView(View): Runs anything that needs to occur prior to calling the method handlers. """ self.format = self.get_format_suffix(**kwargs) - self.check_permissions(request) + if not self.has_permission(request): + self.permission_denied(request) self.check_throttles(request) self.renderer, self.accepted_media_type = self.perform_content_negotiation(request) |
