Skip to content

Commit

Permalink
Make HTML rendering of api views configurable through the settings mo…
Browse files Browse the repository at this point in the history
…dule.
  • Loading branch information
Marko Tibold committed Aug 16, 2012
1 parent 00dd87d commit d7ddc83
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 7 deletions.
2 changes: 2 additions & 0 deletions docs/advanced-usage.rst
Expand Up @@ -34,6 +34,8 @@ These settings are optional (default values are shown):

COMPRESS = [the opposite of DEBUG]

API_RENDER_HTML = False # If set to true, you must include 'djangorestframework' in installded apps as well


Set or override fiber_page in the view:
=======================================
Expand Down
2 changes: 2 additions & 0 deletions fiber/app_settings.py
Expand Up @@ -23,6 +23,8 @@
METADATA_PAGE_SCHEMA = getattr(settings, 'FIBER_METADATA_PAGE_SCHEMA', {})
METADATA_CONTENT_SCHEMA = getattr(settings, 'FIBER_METADATA_CONTENT_SCHEMA', {})

API_RENDER_HTML = getattr(settings, 'API_RENDER_HTML', False)

if 'fiber.middleware.PageFallbackMiddleware' in settings.MIDDLEWARE_CLASSES:
raise DeprecationWarning( \
"fiber.middleware.PageFallbackMiddleware has been removed.\n"
Expand Down
18 changes: 11 additions & 7 deletions fiber/rest_api/views.py
Expand Up @@ -7,11 +7,15 @@
from djangorestframework.mixins import PaginatorMixin
from djangorestframework.status import HTTP_400_BAD_REQUEST
from djangorestframework.response import ErrorResponse
from djangorestframework import renderers
from djangorestframework.renderers import JSONRenderer, DocumentingHTMLRenderer

from fiber.models import Page, PageContentItem
from .forms import MovePageForm, MovePageContentItemForm
from fiber.app_settings import API_RENDER_HTML

from fiber.models import Page, PageContentItem
API_RENDERERS = (JSONRenderer, )
if API_RENDER_HTML:
API_RENDERERS = (JSONRenderer, DocumentingHTMLRenderer)


class ApiRoot(View):
Expand All @@ -20,7 +24,7 @@ class ApiRoot(View):
"""

permissions = (IsAuthenticated, )
renderers = (renderers.JSONRenderer, )
renderers = API_RENDERERS

def get(self, request):
return [
Expand All @@ -35,7 +39,7 @@ def get(self, request):
class ListView(ListOrCreateModelView):

permissions = (IsAuthenticated, )
renderers = (renderers.JSONRenderer, )
renderers = API_RENDERERS


class TreeListView(View):
Expand Down Expand Up @@ -107,13 +111,13 @@ def get_queryset(self, *args, **kwargs):
class InstanceView(InstanceModelView):

permissions = (IsAuthenticated, )
renderers = (renderers.JSONRenderer, )
renderers = API_RENDERERS


class MovePageView(View):

permissions = (IsAuthenticated, )
renderers = (renderers.JSONRenderer, )
renderers = API_RENDERERS

form = MovePageForm

Expand All @@ -130,7 +134,7 @@ def put(self, request, pk):
class MovePageContentItemView(View):

permissions = (IsAuthenticated, )
renderers = (renderers.JSONRenderer, )
renderers = API_RENDERERS

form = MovePageContentItemForm

Expand Down

0 comments on commit d7ddc83

Please sign in to comment.