misc: don't use permanent redirect for moved pages (#25390)

This commit is contained in:
Frédéric Péters 2018-07-20 10:17:11 +02:00
parent a745d98e7a
commit 7137203480
2 changed files with 9 additions and 9 deletions

View File

@ -363,7 +363,7 @@ def page(request):
return HttpResponsePermanentRedirect(url + '/')
redirect = Redirect.objects.filter(old_url=url).last()
if redirect:
return HttpResponsePermanentRedirect(redirect.page.get_online_url())
return HttpResponseRedirect(redirect.page.get_online_url())
raise Http404()
return publish_page(request, page)

View File

@ -603,28 +603,28 @@ def test_redirects(app):
redirect = Redirect(old_url='/whatever/', page=page3)
redirect.save()
assert urlparse(app.get('/whatever/', status=301).location).path == '/second/third/'
assert urlparse(app.get('/whatever/', status=302).location).path == '/second/third/'
assert urlparse(app.get('/whatever', status=301).location).path == '/whatever/'
# check the most recent redirect is called
redirect = Redirect(old_url='/whatever/', page=page2)
redirect.save()
assert urlparse(app.get('/whatever/', status=301).location).path == '/second/'
assert urlparse(app.get('/whatever/', status=302).location).path == '/second/'
# rename page
page3.slug = 'third2'
page3.save()
assert app.get('/second/third2/', status=200)
assert urlparse(app.get('/second/third/', status=301).location).path == '/second/third2/'
assert urlparse(app.get('/second/third/', status=302).location).path == '/second/third2/'
page2.slug = 'second2'
page2.save()
assert urlparse(app.get('/second/third/', status=301).location).path == '/second2/third2/'
assert urlparse(app.get('/second/third2/', status=301).location).path == '/second2/third2/'
assert urlparse(app.get('/second/', status=301).location).path == '/second2/'
assert urlparse(app.get('/second/third/', status=302).location).path == '/second2/third2/'
assert urlparse(app.get('/second/third2/', status=302).location).path == '/second2/third2/'
assert urlparse(app.get('/second/', status=302).location).path == '/second2/'
# change parent
page3.parent = None
page3.save()
assert urlparse(app.get('/second/third/', status=301).location).path == '/third2/'
assert urlparse(app.get('/second2/third2/', status=301).location).path == '/third2/'
assert urlparse(app.get('/second/third/', status=302).location).path == '/third2/'
assert urlparse(app.get('/second2/third2/', status=302).location).path == '/third2/'