Browse Source

The order of thumbnails in journals does not match the order of file name list (#33459).

Patch by Mizuki ISHIKAWA.


git-svn-id: http://svn.redmine.org/redmine/trunk@20768 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/4.2.0
Go MAEDA 3 years ago
parent
commit
7152e5b9df
2 changed files with 27 additions and 1 deletions
  1. 1
    1
      app/helpers/journals_helper.rb
  2. 26
    0
      test/helpers/journals_helper_test.rb

+ 1
- 1
app/helpers/journals_helper.rb View File

@@ -22,7 +22,7 @@ module JournalsHelper
# Returns the attachments of a journal that are displayed as thumbnails
def journal_thumbnail_attachments(journal)
ids = journal.details.select {|d| d.property == 'attachment' && d.value.present?}.map(&:prop_key)
ids.any? ? Attachment.where(:id => ids).select(&:thumbnailable?) : []
ids.any? ? Attachment.where(:id => ids).select(&:thumbnailable?).sort_by{|a| ids.index(a.id.to_s)} : []
end

# Returns the action links for an issue journal

+ 26
- 0
test/helpers/journals_helper_test.rb View File

@@ -60,4 +60,30 @@ class JournalsHelperTest < Redmine::HelperTest
assert_select_in journal_actions, 'a[title=?][class="icon-only icon-edit"]', 'Edit'
assert_select_in journal_actions, 'div[class="drdn-items"] a[class="icon icon-del"]'
end

def test_journal_thumbnail_attachments_should_be_in_the_same_order_as_the_journal_details
skip unless convert_installed?
set_tmp_attachments_directory
issue = Issue.generate!

# Thumbnails should be displayed in the same order as Journal.detail, not in attachment id order.
attachment1 = Attachment.generate!(:file => mock_file_with_options(:original_filename => 'image1.png'), :author => User.find(1))
attachment2 = Attachment.generate!(:file => mock_file_with_options(:original_filename => 'image2.png'), :author => User.find(1))
journal = Journal.create!(:journalized => issue, :user_id => 1)
JournalDetail.create!(
:journal => journal, :property => 'attachment',
:prop_key => attachment2.id.to_s,
:value => 'image2.png'
)
JournalDetail.create!(
:journal => journal, :property => 'attachment',
:prop_key => attachment1.id.to_s,
:value => 'image1.png'
)
journal.reload
thumbnails = journal_thumbnail_attachments(journal)
assert_equal 2, thumbnails.count
assert_equal 2, journal.details.count
assert_equal journal.details.map(&:value), thumbnails.map(&:filename)
end
end

Loading…
Cancel
Save