misc: add support for sharing custom 404 page (#29836)

This commit is contained in:
Frédéric Péters 2019-01-15 08:14:16 +01:00
parent b6b97b2bdb
commit cd038ed4f0
2 changed files with 11 additions and 0 deletions

View File

@ -214,6 +214,12 @@ def skeleton(request):
raise PermissionDenied()
source = request.GET['source']
if source == '404':
request.extra_context_data = {'site_base': request.build_absolute_uri('/')[:-1]}
response = error404(request)
response.status_code = 200
return response
parsed_source = urlparse.urlparse(source)
netloc = parsed_source.netloc
if parsed_source.scheme == 'https' and netloc.endswith(':443'):

View File

@ -275,6 +275,11 @@ def test_page_skeleton(app):
resp = app.get('/__skeleton__/?source=%s' % quote('http://127.0.0.1:8999/'))
assert 'RestrictedVisibility' in resp.text
# check 404 skeleton
resp = app.get('/__skeleton__/?source=404')
assert "This page doesn't exist" in resp.text
assert resp.status_code == 200
def test_subpage_location(app):
Page.objects.all().delete()