public: handle snapshot of redirected page (#57786)

This commit is contained in:
Valentin Deniaud 2021-11-04 14:38:02 +01:00
parent a4b2cecd0f
commit 3dd41a03db
2 changed files with 12 additions and 1 deletions

View File

@ -521,7 +521,7 @@ def publish_page(request, page, status=200, template_name=None):
if page.redirect_url:
context = {'request': request}
context.update(request.extra_context_data or {})
context.update(getattr(request, 'extra_context_data', {}))
try:
redirect_url = page.get_redirect_url(context=context)
except utils.TemplateError:

View File

@ -2361,6 +2361,17 @@ def test_view_old_snapshot(app, admin_user):
resp = resp.click('view')
def test_view_snapshot_redirect_url(app, admin_user):
page = Page.objects.create(title='One', slug='one', redirect_url='http://example.com')
PageSnapshot.take(page)
app = login(app)
resp = app.get('/manage/pages/%s/' % page.pk)
resp = resp.click('History')
resp = resp.click('view')
assert resp.location == 'http://example.com'
def test_django_admin(app, admin_user):
resp = app.get('/admin/')
resp = resp.follow() # -> /admin/login/