skillbox/server/core/views.py

38 lines
1.4 KiB
Python

import requests
from django.conf import settings
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http.response import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.views.decorators.csrf import ensure_csrf_cookie
from graphene_django.views import GraphQLView
from wagtail.admin.views.pages.listing import index as wagtailadmin_explore
class PrivateGraphQLView(LoginRequiredMixin, GraphQLView):
pass
@ensure_csrf_cookie
def home(request):
if settings.SERVE_VIA_WEBPACK:
try:
res = requests.get('http://localhost:8080{}'.format(request.get_full_path()))
headers = res.headers
content_type = headers.get('content-type', 'text/html')
return HttpResponse(res.text, content_type=content_type)
except Exception as e:
print('Can not connect to dev server at http://localhost:8080:', e)
return render(request, 'index.html', {})
def override_wagtailadmin_explore_default_ordering(request, parent_page_id):
"""
Wrap Wagtail's explore view to change the default ordering
"""
if request.method == 'GET' and 'ordering' not in request.GET:
# Display reordering handles by default for children of all Page types.
return HttpResponseRedirect(request.path_info + '?ordering=ord')
return wagtailadmin_explore(request, parent_page_id=parent_page_id)