Commit 4eb04441ac32130531564fa4f6dbb932db68509a

Authored by Braulio Bhavamitra
2 parents 53ccf362 5cdd7db7

Merge branch 'folder-with-full-filenames' into 'master'

folder: let word wrap work (do not short filenames)

See merge request !503
app/helpers/folder_helper.rb
1   -require 'short_filename'
2   -
3 1 module FolderHelper
4 2  
5   - include ShortFilename
6 3 include ArticleHelper
7 4  
8 5 def list_contents(configure={})
... ... @@ -10,8 +7,8 @@ module FolderHelper
10 7 configure[:list_type] ||= :folder
11 8 if !configure[:contents].blank?
12 9 configure[:contents] = configure[:contents].paginate(
13   - :order => "updated_at DESC",
14   - :per_page => 10,
  10 + :order => "name ASC",
  11 + :per_page => 30,
15 12 :page => params[:npage]
16 13 )
17 14  
... ...
app/models/uploaded_file.rb
1   -require 'short_filename'
2   -
3 1 # Article type that handles uploaded files.
4 2 #
5 3 # Limitation: only file metadata are versioned. Only the latest version
... ... @@ -14,8 +12,6 @@ class UploadedFile < Article
14 12  
15 13 track_actions :upload_image, :after_create, :keep_params => ["view_url", "thumbnail_path", "parent.url", "parent.name"], :if => Proc.new { |a| a.published? && a.image? && !a.parent.nil? && a.parent.gallery? }, :custom_target => :parent
16 14  
17   - include ShortFilename
18   -
19 15 def title
20 16 if self.name.present? then self.name else self.filename end
21 17 end
... ...
app/views/shared/_content_item.html.erb
... ... @@ -4,8 +4,8 @@
4 4 <%= display_content_icon(content) %>
5 5 </div>
6 6 <span class="item-description">
7   - <%= link_to(short_filename_upper_ext(content.name), content.url) %>
  7 + <%= link_to(content.name, content.url) %>
8 8 </span>
9 9 <span class="item-date"><%= _("Published at: #{show_date(content.updated_at)}") %></span>
10 10 </div>
11   -</div>
12 11 \ No newline at end of file
  12 +</div>
... ...
lib/short_filename.rb
... ... @@ -1,21 +0,0 @@
1   -module ShortFilename
2   -
3   - def short_filename(filename, limit_chars = 43)
4   - extname = File.extname(filename)
5   - basename = File.basename(filename,extname)
6   - return shrink(basename, extname, limit_chars) + extname
7   - end
8   -
9   - def short_filename_upper_ext(filename, limit_chars = 43)
10   - extname = File.extname(filename)
11   - display_name = shrink(File.basename(filename, extname), extname, limit_chars)
12   - return extname.present? ? (display_name + ' - ' + extname.upcase.delete(".")) : display_name
13   - end
14   -
15   - def shrink(filename, extname, limit_chars)
16   - return filename if filename.size <= limit_chars
17   - str_complement = '(...)'
18   - return filename[0..(limit_chars - extname.size - str_complement.size - 1)] + str_complement
19   - end
20   -
21   -end
plugins/context_content/views/blocks/context_content.html.erb
... ... @@ -6,7 +6,7 @@
6 6 <%= instance_eval(&block.content_image(content)) if block.show_image %>
7 7 </div>
8 8 <% if block.show_name %>
9   - <div class="name"><%= short_filename(content.name, 30) %></div>
  9 + <div class="name"><%= content.name %></div>
10 10 <% end %>
11 11 </a>
12 12 </span>
... ...
test/unit/application_helper_test.rb
... ... @@ -564,18 +564,6 @@ class ApplicationHelperTest &lt; ActionView::TestCase
564 564 assert_equal environment.theme, current_theme
565 565 end
566 566  
567   - should 'trunc to 15 chars the big filename' do
568   - assert_equal 'AGENDA(...).mp3', short_filename('AGENDA_CULTURA_-_FESTA_DE_VAQUEIROS_PONTO_DE_SERRA_PRETA_BAIXA.mp3',15)
569   - end
570   -
571   - should 'trunc to default limit the big filename' do
572   - assert_equal 'AGENDA_CULTURA_-_FESTA_DE_VAQUEIRO(...).mp3', short_filename('AGENDA_CULTURA_-_FESTA_DE_VAQUEIROS_PONTO_DE_SERRA_PRETA_BAIXA.mp3')
573   - end
574   -
575   - should 'does not trunc short filename' do
576   - assert_equal 'filename.mp3', short_filename('filename.mp3')
577   - end
578   -
579 567 should 'return nil when :show_balloon_with_profile_links_when_clicked is not enabled in environment' do
580 568 env = Environment.default
581 569 env.stubs(:enabled?).with(:show_balloon_with_profile_links_when_clicked).returns(false)
... ...
test/unit/short_filename_test.rb
... ... @@ -1,34 +0,0 @@
1   -require_relative "../test_helper"
2   -
3   -class NoosferoFilenamesTest < ActiveSupport::TestCase
4   -
5   - include ShortFilename
6   -
7   - should 'trunc to 15 chars the big filename' do
8   - assert_equal 'AGENDA(...).mp3', short_filename('AGENDA_CULTURA_-_FESTA_DE_VAQUEIROS_PONTO_DE_SERRA_PRETA_BAIXA.mp3',15)
9   - end
10   -
11   - should 'trunc to default limit the big filename' do
12   - assert_equal 'AGENDA_CULTURA_-_FESTA_DE_VAQUEIRO(...).mp3', short_filename('AGENDA_CULTURA_-_FESTA_DE_VAQUEIROS_PONTO_DE_SERRA_PRETA_BAIXA.mp3')
13   - end
14   -
15   - should 'does not trunc short filename' do
16   - assert_equal 'filename.mp3', short_filename('filename.mp3')
17   - end
18   -
19   - should 'highlight the file extansion' do
20   - assert_equal 'AGENDA(...) - MP3', short_filename_upper_ext('AGENDA_CULTURA_-_FESTA_DE_VAQUEIROS_PONTO_DE_SERRA_PRETA_BAIXA.mp3',15)
21   -
22   - assert_equal 'AGENDA - MP3', short_filename_upper_ext('AGENDA.mp3',15)
23   - end
24   -
25   - should 'return the full filename if its size is smaller than the limit' do
26   - assert_equal 'AGENDA', shrink('AGENDA', 'mp3', 15)
27   - end
28   -
29   - should 'shrink the filename if its size is bigger than the limit' do
30   - assert_equal 'AGENDA(...)', shrink('AGENDA_CULTURA_-_FESTA_DE_VAQUEIROS_PONTO_DE_SERRA_PRETA_BAIXA', 'mp3', 14)
31   - end
32   -
33   -end
34   -