Always download files when downloading from the preview page

Fixes CNVS-28388

Test plan:
 - Set up Canvadocs
 - Upload a file whose name ends with .txt to a course's files
 - Make a wiki page
 - Include a link to the file in the page
 - View the page
 - Click on the link
 - On the page you're taken to, click the "Download ..." link at
   the top
 - Verify the file gets downloaded instead of simply opened in a
   new tab

Change-Id: Ib357f7edcc70a320f66707091209e43defbcd8c7
Reviewed-on: https://gerrit.instructure.com/76593
Tested-by: Jenkins
Reviewed-by: Steven Burnett <sburnett@instructure.com>
QA-Review: Deepeeca Soundarrajan <dsoundarrajan@instructure.com>
Product-Review: Alex Boyd <aboyd@instructure.com>
This commit is contained in:
Alex Boyd 2016-04-07 15:08:33 -06:00
parent f46c259e40
commit 7a471e44cd
1 changed files with 7 additions and 11 deletions

View File

@ -2,7 +2,7 @@
<%= join_title @attachment.display_name, @context.name %>
<% end %>
<% add_crumb @attachment.display_name, context_url(@context, :context_file_url, @attachment) %>
<% download_url = context_url(@context, :context_file_download_url, @attachment.id) %>
<% download_url = context_url(@context, :context_file_download_url, @attachment.id, download_frd: 1) %>
<% js_bundle 'module_sequence_footer' %>
<% if !can_do(@attachment.context, @current_user, :manage_files) && (locked = @attachment.locked_for?(@current_user)) %>
<div style="margin: 10px 50px;">
@ -13,6 +13,12 @@
<% end %>
</div>
<% else %>
<h2><%= @attachment.display_name %></h2>
<div>
<span style="font-size: 1.2em;">
<%= link_to "Download #{@attachment.display_name}", download_url %>
</span> (<%= @attachment.readable_size %>)
</div>
<% if @attachment.content_type == "application/x-shockwave-flash" %>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" class="embedded_swf">
<param name="movie" value="<%= safe_domain_file_url(@attachment) %>" />
@ -29,26 +35,16 @@
</object>
<!--<![endif]-->
</object>
<a style="display:block;" href="<%= safe_domain_file_url(@attachment, nil, nil, true) %>">Download <%= @attachment.display_name %></a>
<% elsif @attachment.inline_content? && !@attachment.canvadocable? %>
<% js_bundle :file_inline %>
<iframe id="file_content" src="<%= safe_domain_file_url(@attachment) %>" style="width: 100%; height: 400px;" title="<%= t('File Content') %>"></iframe>
<% elsif @attachment.content_type && @attachment.content_type.match(/\Aimage\//) %>
<h2><%= @attachment.display_name %></h2>
<%= link_to(image_tag(download_url, :alt => @attachment.display_name), download_url) %>
<% elsif @attachment.content_type && @attachment.content_type.match(/\Avideo\/|audio\//) %>
<% js_bundle :file_preview %>
<h2><%= @attachment.display_name %></h2>
<div id="media_preview" <%= media_preview_attributes(@attachment) %>></div>
<span style="font-size: 1.2em;">
<%= link_to "Download #{@attachment.display_name}", download_url %>
</span> (<%= @attachment.readable_size %>)
<% else %>
<% js_bundle :file_show %>
<h2><%= @attachment.display_name %></h2>
<span style="font-size: 1.2em;">
<%= link_to "Download #{@attachment.display_name}", download_url %>
</span> (<%= @attachment.readable_size %>)
<div id="doc_preview" <%= doc_preview_attributes(@attachment) %>></div>
<% end %>
<% end %>