From 077ca847779927359d309e80de62dd1c6b33cfe6 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 30 Jan 2019 12:14:53 +0100 Subject: [PATCH] views: set Location properly after upload (fixes #30218) --- fargo/fargo/views.py | 6 ++---- tests/test_public.py | 4 +++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fargo/fargo/views.py b/fargo/fargo/views.py index 46fb7fa..7749a71 100644 --- a/fargo/fargo/views.py +++ b/fargo/fargo/views.py @@ -5,7 +5,7 @@ from copy import deepcopy from django.core.exceptions import PermissionDenied from django.views.decorators.clickjacking import xframe_options_exempt from django.views.generic import CreateView, DeleteView, UpdateView, View, TemplateView -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse, reverse_lazy from django.contrib.auth.decorators import login_required from django.shortcuts import get_object_or_404, resolve_url from django.http import (HttpResponse, HttpResponseRedirect, @@ -81,6 +81,7 @@ class Homepage(Documents, SingleTableMixin, CommonUpload): table_pagination = { 'per_page': 5, } + success_url = reverse_lazy('home') def get_context_data(self, **kwargs): ctx = super(Homepage, self).get_context_data(**kwargs) @@ -92,9 +93,6 @@ class Homepage(Documents, SingleTableMixin, CommonUpload): ctx['occupancy_ratio_percent'] = float(occupancy) * 100.0 / max_size return ctx - def get_success_url(self): - return '' - class PickView(object): def dispatch(self, request, *args, **kwargs): diff --git a/tests/test_public.py b/tests/test_public.py index f03ebe0..100c826 100644 --- a/tests/test_public.py +++ b/tests/test_public.py @@ -27,7 +27,9 @@ def test_upload(app, john_doe): response1 = app.get('/') form = response1.form form['content'] = Upload('monfichier.pdf', b'coin', 'application/pdf') - response2 = form.submit().follow() + response2 = form.submit() + assert response2['Location'] in ['/', 'http://testserver/'] + response2 = response2.follow() assert 'monfichier.pdf' in response2.text if magic is not None: assert UserDocument.objects.get(filename='monfichier.pdf').document.mime_type == 'text/plain'