#956 Japanese links

This commit is contained in:
Karel Pičman 2019-01-24 16:57:24 +01:00
parent 416a9e2579
commit d455b18fda
4 changed files with 20 additions and 12 deletions

View File

@ -25,9 +25,8 @@ class DmsfUrlValidator < ActiveModel::EachValidator
if record.target_type == 'DmsfUrl'
begin
if value.present?
# TODO : This prevents from entering valid URLs with non-ASCII characters such as:
# 'https://www.google.com/search?q=寿司'
#URI.parse value
# https://www.google.com/search?q=寿司
URI.parse value.split('?').first
else
record.errors.add attribute, :invalid
end

View File

@ -34,7 +34,11 @@
:target => '_blank',
:class => 'icon icon-link') %>
<div class="dmsf_filename" title="<%= l(:label_target_folder) %>">
<%= link.external_url %>
<% if link.external_url && link.external_url.length > 50 %>
<%= "#{link.external_url[0, 25]}...#{link.external_url[-25, 25]}" %>
<% else %>
<%= link.external_url %>
<% end %>
</div>
<%= '</span>'.html_safe if @tree_view %>
</td>

View File

@ -23,17 +23,17 @@
<ul>
<li>
<%= context_menu_link l(:button_download), entries_operations_dmsf_path(:id => @project, :folder_id => @folder,
:ids => params[:ids], :download_entries => true), :method => :post, :class => 'icon-download',
:ids => params[:ids], :download_entries => true), :method => :post, :class => 'icon icon-download',
:id => 'dmsf-cm-download', :disabled => @disabled %>
</li>
<li>
<%= context_menu_link l(:field_mail), entries_operations_dmsf_path(:id => @project, :folder_id => @folder,
:ids => params[:ids], :email_entries => true), :method => :post, :class => 'icon-email',
:ids => params[:ids], :email_entries => true), :method => :post, :class => 'icon icon-email',
:disabled => @disabled %>
</li>
<li>
<%= context_menu_link l(:button_delete), entries_operations_dmsf_path(:id => @project, :folder_id => @folder,
:ids => params[:ids], :delete_entries => true), :method => :post, :class => 'icon-del',
:ids => params[:ids], :delete_entries => true), :method => :post, :class => 'icon icon-del',
:data => { :confirm => l(:text_are_you_sure) }, :id => 'dmsf-cm-delete', :disabled => @disabled %>
</li>
<% if @file %>
@ -45,7 +45,7 @@
<% end %>
<% url << @file.name %>
<% end %>
<%= context_menu_link l(:button_edit), url, :class => 'icon-edit', :disabled => url.blank? %>
<%= context_menu_link l(:button_edit), url, :class => 'icon icon-edit', :disabled => url.blank? %>
</li>
<% end %>
</ul>

View File

@ -111,13 +111,18 @@ class DmsfLinksTest < RedmineDmsf::Test::UnitTest
assert_equal 1, @file_link.errors.size
end
def test_validate_external_url
def test_validate_external_url_invalid
@file_link.target_type = 'DmsfUrl'
@file_link.external_url = ''
assert !@file_link.save,
"External URL link #{@file_link.name} should have not been saved"
@file_link.external_url = 'htt ps://abc.xyz'
assert !@file_link.save, "External URL link #{@file_link.name} should have not been saved"
assert_equal 1, @file_link.errors.size
end
def test_validate_external_url_valid
@file_link.target_type = 'DmsfUrl'
@file_link.external_url = 'https://www.google.com/search?q=寿司'
assert @file_link.save
end
def test_belongs_to_project
@project1.destroy