Filename in the download link
This commit is contained in:
parent
aef2ff3b0e
commit
e2d67406db
@ -69,12 +69,13 @@ class DmsfFilesController < ApplicationController
|
|||||||
member = Member.find_by(user_id: User.current.id, project_id: @file.project.id)
|
member = Member.find_by(user_id: User.current.id, project_id: @file.project.id)
|
||||||
# IE has got a tendency to cache files
|
# IE has got a tendency to cache files
|
||||||
expires_in 0.year, 'must-revalidate' => true
|
expires_in 0.year, 'must-revalidate' => true
|
||||||
pdf_preview = @file.pdf_preview
|
pdf_preview = (params[:disposition] != 'attachment') && params[:filename].blank? && @file.pdf_preview
|
||||||
filename = filename_for_content_disposition(@revision.formatted_name(member))
|
filename = filename_for_content_disposition(@revision.formatted_name(member))
|
||||||
if pdf_preview.present?
|
if pdf_preview.present?
|
||||||
basename = File.basename(filename, '.*')
|
basename = File.basename(filename, '.*')
|
||||||
send_file pdf_preview, filename: "#{basename}.pdf", type: 'application/pdf', disposition: 'inline'
|
send_file pdf_preview, filename: "#{basename}.pdf", type: 'application/pdf', disposition: 'inline'
|
||||||
else
|
else
|
||||||
|
params[:disposition] = 'attachment' if params[:filename].present?
|
||||||
send_file @revision.disk_file, filename: filename, type: @revision.detect_content_type,
|
send_file @revision.disk_file, filename: filename, type: @revision.detect_content_type,
|
||||||
disposition: params[:disposition].present? ? params[:disposition] : @revision.dmsf_file.disposition
|
disposition: params[:disposition].present? ? params[:disposition] : @revision.dmsf_file.disposition
|
||||||
end
|
end
|
||||||
|
|||||||
@ -62,8 +62,10 @@
|
|||||||
back_url: back_url } %>
|
back_url: back_url } %>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<%= context_menu_link l(:button_download), view_dmsf_file_path(dmsf_file, disposition: 'attachment'),
|
<% member = Member.find_by(user_id: User.current.id, project_id: dmsf_file.project.id) %>
|
||||||
class: 'icon icon-download', disabled: false %>
|
<% filename = dmsf_file.last_revision&.formatted_name(member) %>
|
||||||
|
<%= context_menu_link l(:button_download), static_dmsf_file_path(dmsf_file, filename: filename),
|
||||||
|
class: 'icon icon-download', disabled: false %>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<%= context_menu_link l(:field_mail), entries_operations_dmsf_path(id: project, folder_id: folder,
|
<%= context_menu_link l(:field_mail), entries_operations_dmsf_path(id: project, folder_id: folder,
|
||||||
|
|||||||
@ -23,10 +23,10 @@
|
|||||||
<%= link_to_function l(:title_download_entries),
|
<%= link_to_function l(:title_download_entries),
|
||||||
"$('#revision_access_#{revision.id}').toggle(); $('.drdn.expanded').removeClass('expanded');",
|
"$('#revision_access_#{revision.id}').toggle(); $('.drdn.expanded').removeClass('expanded');",
|
||||||
class: 'icon icon-group dmsf-revision-action-button' %>
|
class: 'icon icon-group dmsf-revision-action-button' %>
|
||||||
<%= link_to l(:title_download),
|
<% member = Member.find_by(user_id: User.current.id, project_id: revision.dmsf_file.project.id) %>
|
||||||
view_dmsf_file_path(file, download: revision, disposition: 'attachment'),
|
<% filename = revision.formatted_name(member) %>
|
||||||
title: l(:title_title_version_version_download, title: h(revision.title), version: revision.version),
|
<%= link_to l(:button_download), static_dmsf_file_path(file, download: revision, filename: filename),
|
||||||
class: 'icon icon-download dmsf-revision-action-button' %>
|
class: 'icon icon-download', disabled: false %>
|
||||||
<%= link_to l(:title_obsolete_revision),
|
<%= link_to l(:title_obsolete_revision),
|
||||||
obsolete_revision_path(revision),
|
obsolete_revision_path(revision),
|
||||||
data: { confirm: l(:text_are_you_sure) },
|
data: { confirm: l(:text_are_you_sure) },
|
||||||
|
|||||||
@ -40,7 +40,10 @@
|
|||||||
class: 'icon dmsf-icon-link' %>
|
class: 'icon dmsf-icon-link' %>
|
||||||
<%= link_to "#{l(:button_copy)}/#{l(:button_move)}", copy_file_path(id: file, back_url: back_url),
|
<%= link_to "#{l(:button_copy)}/#{l(:button_move)}", copy_file_path(id: file, back_url: back_url),
|
||||||
title: l(:title_copy), class: 'icon icon-copy' %>
|
title: l(:title_copy), class: 'icon icon-copy' %>
|
||||||
<%= link_to l(:button_download), view_dmsf_file_path(file, disposition: 'attachment'), class: 'icon icon-download' %>
|
<% member = Member.find_by(user_id: User.current.id, project_id: file.project.id) %>
|
||||||
|
<% filename = file.last_revision&.formatted_name(member) %>
|
||||||
|
<%= link_to l(:button_download), static_dmsf_file_path(file, filename: filename), class: 'icon icon-download',
|
||||||
|
disabled: false %>
|
||||||
<%= render partial: 'dmsf_context_menus/watch', locals: { object: file } %>
|
<%= render partial: 'dmsf_context_menus/watch', locals: { object: file } %>
|
||||||
<%= delete_link(dmsf_file_path(id: file, details: true),
|
<%= delete_link(dmsf_file_path(id: file, details: true),
|
||||||
back_url: dmsf_folder_path(id: file.project, folder_id: file.dmsf_folder)) if file_delete_allowed %>
|
back_url: dmsf_folder_path(id: file.project, folder_id: file.dmsf_folder)) if file_delete_allowed %>
|
||||||
|
|||||||
@ -96,6 +96,7 @@ if Redmine::Plugin.installed? :redmine_dmsf
|
|||||||
get '/dmsf/files/:id/revision/obsolete', controller: 'dmsf_files', action: 'obsolete_revision', as: 'obsolete_revision'
|
get '/dmsf/files/:id/revision/obsolete', controller: 'dmsf_files', action: 'obsolete_revision', as: 'obsolete_revision'
|
||||||
get '/dmsf/files/:id/download', to: 'dmsf_files#view', download: '', as: 'download_dmsf_file' # Otherwise will not route nil into the download param
|
get '/dmsf/files/:id/download', to: 'dmsf_files#view', download: '', as: 'download_dmsf_file' # Otherwise will not route nil into the download param
|
||||||
get '/dmsf/files/:id/view', to: 'dmsf_files#view', as: 'view_dmsf_file'
|
get '/dmsf/files/:id/view', to: 'dmsf_files#view', as: 'view_dmsf_file'
|
||||||
|
get '/dmsf/files/:id/:filename', to: 'dmsf_files#view', :id => /\d+/, :filename => /.*/, as: 'static_dmsf_file'
|
||||||
get '/dmsf/files/:id', controller: 'dmsf_files', action: 'show', as: 'dmsf_file'
|
get '/dmsf/files/:id', controller: 'dmsf_files', action: 'show', as: 'dmsf_file'
|
||||||
delete '/dmsf/files/:id', controller: 'dmsf_files', action: 'delete'
|
delete '/dmsf/files/:id', controller: 'dmsf_files', action: 'delete'
|
||||||
get '/dmsf/files/:id/restore', controller: 'dmsf_files', action: 'restore', as: 'restore_dmsf_file'
|
get '/dmsf/files/:id/restore', controller: 'dmsf_files', action: 'restore', as: 'restore_dmsf_file'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user