aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/renderers.py
diff options
context:
space:
mode:
authorTom Christie2013-02-11 13:02:20 +0000
committerTom Christie2013-02-12 08:58:28 +0000
commitf5a0275547ad264c8a9b9aa2a45cc461723a4f11 (patch)
treea73b8835792eca9053ad5c4bc2c91ae7b1ae040b /rest_framework/renderers.py
parent09b01887f234be55c14943028330f569823b2369 (diff)
downloaddjango-rest-framework-f5a0275547ad264c8a9b9aa2a45cc461723a4f11.tar.bz2
Tidy up internal view permission checking logic.
Also document correctly - these methods are now public and will fall under the deprecation policy from now on.
Diffstat (limited to 'rest_framework/renderers.py')
-rw-r--r--rest_framework/renderers.py11
1 files changed, 4 insertions, 7 deletions
diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py
index e7df8758..a6525404 100644
--- a/rest_framework/renderers.py
+++ b/rest_framework/renderers.py
@@ -21,8 +21,7 @@ from rest_framework.request import clone_request
from rest_framework.utils import dict2xml
from rest_framework.utils import encoders
from rest_framework.utils.breadcrumbs import get_breadcrumbs
-from rest_framework import VERSION, status
-from rest_framework import parsers
+from rest_framework import exceptions, parsers, status, VERSION
class BaseRenderer(object):
@@ -299,12 +298,10 @@ class BrowsableAPIRenderer(BaseRenderer):
if not api_settings.FORM_METHOD_OVERRIDE:
return # Cannot use form overloading
- request = clone_request(request, method)
try:
- if not view.has_permission(request):
- return # Don't have permission
- except Exception:
- return # Don't have permission and exception explicitly raise
+ view.check_permissions(clone_request(request, method))
+ except exceptions.APIException:
+ return False # Doesn't have permissions
return True
def serializer_to_form_fields(self, serializer):