aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/request_controller.rb37
-rw-r--r--app/models/incoming_message.rb4
2 files changed, 23 insertions, 18 deletions
diff --git a/app/controllers/request_controller.rb b/app/controllers/request_controller.rb
index 42d54a403..466c6d6ce 100644
--- a/app/controllers/request_controller.rb
+++ b/app/controllers/request_controller.rb
@@ -604,23 +604,29 @@ class RequestController < ApplicationController
# special caching code so mime types are handled right
around_filter :cache_attachments, :only => [ :get_attachment, :get_attachment_as_html ]
def cache_attachments
- key = params.merge(:only_path => true)
- key_path = foi_fragment_cache_path(key)
+ if !params[:skip_cache].nil?
+ yield
+ else
+ key = params.merge(:only_path => true)
+ key_path = foi_fragment_cache_path(key)
- if foi_fragment_cache_exists?(key_path)
- cached = foi_fragment_cache_read(key_path)
- response.content_type = AlaveteliFileTypes.filename_to_mimetype(params[:file_name].join("/")) || 'application/octet-stream'
- render_for_text(cached)
- return
- end
+ if foi_fragment_cache_exists?(key_path)
+ cached = foi_fragment_cache_read(key_path)
+ response.content_type = AlaveteliFileTypes.filename_to_mimetype(params[:file_name].join("/")) || 'application/octet-stream'
+ render_for_text(cached)
+ return
+ end
- yield
+ yield
- # write it to the fileystem ourselves, so is just a plain file. (The
- # various fragment cache functions using Ruby Marshall to write the file
- # which adds a header, so isnt compatible with images that have been
- # extracted elsewhere from PDFs)
- foi_fragment_cache_write(key_path, response.body)
+ if params[:skip_cache].nil?
+ # write it to the fileystem ourselves, so is just a plain file. (The
+ # various fragment cache functions using Ruby Marshall to write the file
+ # which adds a header, so isnt compatible with images that have been
+ # extracted elsewhere from PDFs)
+ foi_fragment_cache_write(key_path, response.body)
+ end
+ end
end
def get_attachment
@@ -649,7 +655,7 @@ class RequestController < ApplicationController
view_html_stylesheet = render_to_string :partial => "request/view_html_stylesheet"
html.sub!(/<head>/i, "<head>" + view_html_stylesheet)
- html.sub!(/<body[^>]*>/i, '<body><prefix-here><div id="' + wrapper_id + '"><div id="view_html_content">')
+ html.sub!(/<body[^>]*>/i, '<body><prefix-here><div id="' + wrapper_id + '"><div id="view-html-content">')
html.sub!(/<\/body[^>]*>/i, '</div></div></body>')
view_html_prefix = render_to_string :partial => "request/view_html_prefix"
@@ -657,7 +663,6 @@ class RequestController < ApplicationController
html.sub!("<attachment-url-here>", CGI.escape(@attachment_url))
@incoming_message.html_mask_stuff!(html)
-
response.content_type = 'text/html'
render :text => html
end
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb
index b0b02fdda..16ae38b92 100644
--- a/app/models/incoming_message.rb
+++ b/app/models/incoming_message.rb
@@ -255,7 +255,8 @@ class FOIAttachment
text = CGI.escapeHTML(text)
text = MySociety::Format.make_clickable(text)
html = text.gsub(/\n/, '<br>')
- return "<html><head></head><body>" + html + "</body></html>", wrapper_id
+ return '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd"><html><head><title></title></head><body>' + html + "</body></html>", wrapper_id
end
# the extractions will also produce image files, which go in the
@@ -987,7 +988,6 @@ class IncomingMessage < ActiveRecord::Base
attachment.filename = _get_censored_part_file_name(leaf)
if leaf.within_rfc822_attachment
attachment.within_rfc822_subject = leaf.within_rfc822_attachment.subject
-
# Test to see if we are in the first part of the attached
# RFC822 message and it is text, if so add headers.
# XXX should probably use hunting algorithm to find main text part, rather than