Index: lib/redmine/field_format.rb
===================================================================
--- lib/redmine/field_format.rb (revision 17048)
+++ lib/redmine/field_format.rb (working copy)
@@ -248,7 +248,10 @@
url = url_from_pattern(custom_field, single_value, customized)
[text, url]
end
- links = texts_and_urls.sort_by(&:first).map {|text, url| view.link_to_if uri_with_safe_scheme?(url), text, url}
+ links = texts_and_urls.sort_by(&:first).map do |text, url|
+ css_class = (url =~ /^https?:\/\//) ? 'external' : nil
+ view.link_to_if uri_with_safe_scheme?(url), text, url, :class => css_class
+ end
links.join(', ').html_safe
else
casted
@@ -442,7 +445,8 @@
url = "http://" + url
end
end
- view.link_to value.to_s.truncate(40), url
+ css_class = (url =~ /^https?:\/\//) ? 'external' : nil
+ view.link_to value.to_s.truncate(40), url, :class => css_class
else
value.to_s
end
Index: test/unit/lib/redmine/field_format/field_format_test.rb
===================================================================
--- test/unit/lib/redmine/field_format/field_format_test.rb (revision 17048)
+++ test/unit/lib/redmine/field_format/field_format_test.rb (working copy)
@@ -72,7 +72,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "bar")
assert_equal "bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
end
def test_text_field_with_url_pattern_and_value_containing_a_space_should_format_as_link
@@ -80,7 +80,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "foo bar")
assert_equal "foo bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'foo bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'foo bar', field.format.formatted_custom_value(self, custom_value, true)
end
def test_text_field_with_url_pattern_should_not_encode_url_pattern
@@ -88,7 +88,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "1")
assert_equal "1", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal '1', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal '1', field.format.formatted_custom_value(self, custom_value, true)
end
def test_text_field_with_url_pattern_should_encode_values
@@ -96,6 +96,6 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "foo bar")
assert_equal "foo bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'foo bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'foo bar', field.format.formatted_custom_value(self, custom_value, true)
end
end
Index: test/unit/lib/redmine/field_format/link_format_test.rb
===================================================================
--- test/unit/lib/redmine/field_format/link_format_test.rb (revision 17048)
+++ test/unit/lib/redmine/field_format/link_format_test.rb (working copy)
@@ -24,7 +24,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "bar")
assert_equal "bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
end
def test_link_field_should_substitute_object_id_in_url
@@ -35,7 +35,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => object, :value => "bar")
assert_equal "bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
end
def test_link_field_should_substitute_project_id_in_url
@@ -48,7 +48,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => object, :value => "bar")
assert_equal "bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
end
def test_link_field_should_substitute_project_identifier_in_url
@@ -61,7 +61,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => object, :value => "bar")
assert_equal "bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'bar', field.format.formatted_custom_value(self, custom_value, true)
end
def test_link_field_should_substitute_regexp_groups
@@ -69,7 +69,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "56-142")
assert_equal "56-142", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal '56-142', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal '56-142', field.format.formatted_custom_value(self, custom_value, true)
end
def test_link_field_without_url_pattern_should_link_to_value
@@ -77,7 +77,7 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "http://foo/bar")
assert_equal "http://foo/bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'http://foo/bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'http://foo/bar', field.format.formatted_custom_value(self, custom_value, true)
end
def test_link_field_without_url_pattern_should_link_to_value_with_http_by_default
@@ -85,6 +85,6 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "foo.bar")
assert_equal "foo.bar", field.format.formatted_custom_value(self, custom_value, false)
- assert_equal 'foo.bar', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal 'foo.bar', field.format.formatted_custom_value(self, custom_value, true)
end
end
Index: test/unit/lib/redmine/field_format/list_format_test.rb
===================================================================
--- test/unit/lib/redmine/field_format/list_format_test.rb (revision 17048)
+++ test/unit/lib/redmine/field_format/list_format_test.rb (working copy)
@@ -131,7 +131,7 @@
def test_field_with_url_pattern_should_link_value
field = IssueCustomField.new(:field_format => 'list', :url_pattern => 'http://localhost/%value%')
formatted = field.format.formatted_value(self, field, 'foo', Issue.new, true)
- assert_equal 'foo', formatted
+ assert_equal 'foo', formatted
assert formatted.html_safe?
end
@@ -138,7 +138,7 @@
def test_field_with_url_pattern_and_multiple_values_should_link_values
field = IssueCustomField.new(:field_format => 'list', :url_pattern => 'http://localhost/%value%')
formatted = field.format.formatted_value(self, field, ['foo', 'bar'], Issue.new, true)
- assert_equal 'bar, foo', formatted
+ assert_equal 'bar, foo', formatted
assert formatted.html_safe?
end
Index: test/unit/lib/redmine/field_format/numeric_format_test.rb
===================================================================
--- test/unit/lib/redmine/field_format/numeric_format_test.rb (revision 17048)
+++ test/unit/lib/redmine/field_format/numeric_format_test.rb (working copy)
@@ -26,6 +26,6 @@
custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "3")
assert_equal 3, field.format.formatted_custom_value(self, custom_value, false)
- assert_equal '3', field.format.formatted_custom_value(self, custom_value, true)
+ assert_equal '3', field.format.formatted_custom_value(self, custom_value, true)
end
end