From d9d93a650bf7c78734c2210b9d4afbbb9950100b Mon Sep 17 00:00:00 2001 From: Gaetan Delannay Date: Fri, 3 Oct 2014 20:27:54 +0200 Subject: [PATCH] [gen] pod field: bugfix: download a generated or frozen pod result. --- fields/file.py | 5 +++-- fields/pod.py | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/fields/file.py b/fields/file.py index 73f49dc..96ed5c4 100644 --- a/fields/file.py +++ b/fields/file.py @@ -212,11 +212,12 @@ class FileInfo: self.modified = DateTime() self.size = os.stat(fsName).st_size - def writeResponse(self, response, dbFolder=''): + def writeResponse(self, response, dbFolder='', disposition='inline'): '''Writes this file in the HTTP p_response object.''' # As a preamble, initialise response headers. header = response.setHeader - header('Content-Disposition', 'inline;filename="%s"' % self.uploadName) + header('Content-Disposition', + '%s;filename="%s"' % (disposition, self.uploadName)) header('Content-Type', self.mimeType) header('Content-Length', self.size) header('Accept-Ranges', 'bytes') diff --git a/fields/pod.py b/fields/pod.py index 846b03b..daf4d95 100644 --- a/fields/pod.py +++ b/fields/pod.py @@ -731,7 +731,10 @@ class Pod(Field): # attachment? mailing = rq.get('mailing') if not mailing: - res.writeResponse(rq.RESPONSE) + # With disposition=inline, Google Chrome and IE may launch a PDF + # viewer that triggers one or many additional crashing HTTP GET + # requests. + res.writeResponse(rq.RESPONSE, disposition='attachment') return else: # Send the email(s).