Add download buttons in Files columns of the issues list (#32240).

Patch by Yuichi HARADA.


git-svn-id: http://svn.redmine.org/redmine/trunk@19500 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA
2020-02-06 14:24:51 +00:00
parent df96636e40
commit 9d18f67f9e
4 changed files with 26 additions and 5 deletions

View File

@@ -253,7 +253,20 @@ module ApplicationHelper
when 'Issue' when 'Issue'
object.visible? && html ? link_to_issue(object) : "##{object.id}" object.visible? && html ? link_to_issue(object) : "##{object.id}"
when 'Attachment' when 'Attachment'
html ? link_to_attachment(object) : object.filename if html
content_tag(
:span,
link_to_attachment(object) +
link_to_attachment(
object,
:class => ['icon-only', 'icon-download'],
:title => l(:button_download),
:download => true
)
)
else
object.filename
end
when 'CustomValue', 'CustomFieldValue' when 'CustomValue', 'CustomFieldValue'
if object.custom_field if object.custom_field
f = object.custom_field.format.formatted_custom_value(self, object, html) f = object.custom_field.format.formatted_custom_value(self, object, html)

View File

@@ -241,7 +241,9 @@ table.list td {text-align:center; vertical-align:middle; padding-right:10px;}
table.list td.id { width: 2%; text-align: center;} table.list td.id { width: 2%; text-align: center;}
table.list td.name, table.list td.description, table.list td.subject, table.list td.comments, table.list td.roles, table.list td.attachments, table.list td.text, table.list td.short_description {text-align: left;} table.list td.name, table.list td.description, table.list td.subject, table.list td.comments, table.list td.roles, table.list td.attachments, table.list td.text, table.list td.short_description {text-align: left;}
table.list td.attachments a {display:block;} table.list td.attachments span {display: block; height: 16px;}
table.list td.attachments span a.icon-download {display: inline-block; visibility: hidden;}
table.list td.attachments span:hover a.icon-download {visibility: visible;}
table.list td.tick {width:15%} table.list td.tick {width:15%}
table.list td.checkbox { width: 15px; padding: 2px 0 0 0; } table.list td.checkbox { width: 15px; padding: 2px 0 0 0; }
table.list .checkbox input {padding:0px; height: initial;} table.list .checkbox input {padding:0px; height: initial;}

View File

@@ -1784,8 +1784,14 @@ class IssuesControllerTest < Redmine::ControllerTest
assert_select 'td.attachments' assert_select 'td.attachments'
assert_select 'tr#issue-2' do assert_select 'tr#issue-2' do
assert_select 'td.attachments' do assert_select 'td.attachments' do
assert_select 'a', :text => 'source.rb' assert_select 'span:nth-of-type(1)' do
assert_select 'a', :text => 'picture.jpg' assert_select 'a[href=?]', '/attachments/4', :text => 'source.rb'
assert_select 'a[href=?].icon-download', '/attachments/download/4/source.rb'
end
assert_select 'span:nth-of-type(2)' do
assert_select 'a[href=?]', '/attachments/10', :text => 'picture.jpg'
assert_select 'a[href=?].icon-download', '/attachments/download/10/picture.jpg'
end
end end
end end
end end

View File

@@ -81,7 +81,7 @@ class AttachmentFieldFormatTest < Redmine::IntegrationTest
assert_response :success assert_response :success
# link to the attachment # link to the attachment
link = css_select(".cf_#{@field.id} .value a") link = css_select(".cf_#{@field.id} .value a:not(.icon-download)")
assert_equal 1, link.size assert_equal 1, link.size
assert_equal "testfile.txt", link.text assert_equal "testfile.txt", link.text