mirror of
https://github.com/ansible/awx.git
synced 2026-02-13 11:37:17 -03:30
Update Django to 1.8 and DRF to 3.3, add new Django migrations, update serializers/pagination/metadata, update browsable API styling.
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
# Django REST Framework
|
||||
from rest_framework import renderers
|
||||
|
||||
|
||||
class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
|
||||
'''
|
||||
Customizations to the default browsable API renderer.
|
||||
@@ -16,14 +17,16 @@ class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
|
||||
return renderers.JSONRenderer()
|
||||
return renderer
|
||||
|
||||
def get_raw_data_form(self, view, method, request):
|
||||
def get_raw_data_form(self, data, view, method, request):
|
||||
# Set a flag on the view to indiciate to the view/serializer that we're
|
||||
# creating a raw data form for the browsable API.
|
||||
try:
|
||||
setattr(view, '_raw_data_form_marker', True)
|
||||
return super(BrowsableAPIRenderer, self).get_raw_data_form(view, method, request)
|
||||
return super(BrowsableAPIRenderer, self).get_raw_data_form(data, view, method, request)
|
||||
finally:
|
||||
delattr(view, '_raw_data_form_marker')
|
||||
|
||||
def get_rendered_html_form(self, view, method, request):
|
||||
def get_rendered_html_form(self, data, view, method, request):
|
||||
'''Never show auto-generated form (only raw form).'''
|
||||
obj = getattr(view, 'object', None)
|
||||
if not self.show_form_for_method(view, method, request, obj):
|
||||
@@ -31,9 +34,10 @@ class BrowsableAPIRenderer(renderers.BrowsableAPIRenderer):
|
||||
if method in ('DELETE', 'OPTIONS'):
|
||||
return True # Don't actually need to return a form
|
||||
|
||||
def get_context(self, data, accepted_media_type, renderer_context):
|
||||
context = super(BrowsableAPIRenderer, self).get_context(data, accepted_media_type, renderer_context)
|
||||
return context
|
||||
def get_filter_form(self, data, view, request):
|
||||
# Don't show filter form in browsable API.
|
||||
return
|
||||
|
||||
|
||||
class PlainTextRenderer(renderers.BaseRenderer):
|
||||
|
||||
@@ -45,9 +49,12 @@ class PlainTextRenderer(renderers.BaseRenderer):
|
||||
data = unicode(data)
|
||||
return data.encode(self.charset)
|
||||
|
||||
|
||||
class DownloadTextRenderer(PlainTextRenderer):
|
||||
|
||||
format = "txt_download"
|
||||
|
||||
|
||||
class AnsiTextRenderer(PlainTextRenderer):
|
||||
|
||||
media_type = 'text/plain'
|
||||
|
||||
Reference in New Issue
Block a user