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)  | 
