@@ -289,6 +289,7 module Redmine | |||||
289 | url.gsub!('%value%') {value.to_s} |
|
289 | url.gsub!('%value%') {value.to_s} | |
290 | url.gsub!('%id%') {customized.id.to_s} |
|
290 | url.gsub!('%id%') {customized.id.to_s} | |
291 | url.gsub!('%project_id%') {(customized.respond_to?(:project) ? customized.project.try(:id) : nil).to_s} |
|
291 | url.gsub!('%project_id%') {(customized.respond_to?(:project) ? customized.project.try(:id) : nil).to_s} | |
|
292 | url.gsub!('%project_identifier%') {(customized.respond_to?(:project) ? customized.project.try(:identifier) : nil).to_s} | |||
292 | if custom_field.regexp.present? |
|
293 | if custom_field.regexp.present? | |
293 | url.gsub!(%r{%m(\d+)%}) do |
|
294 | url.gsub!(%r{%m(\d+)%}) do | |
294 | m = $1.to_i |
|
295 | m = $1.to_i |
@@ -53,6 +53,19 class Redmine::LinkFieldFormatTest < ActionView::TestCase | |||||
53 | assert_equal '<a href="http://foo/52">bar</a>', field.format.formatted_custom_value(self, custom_value, true) |
|
53 | assert_equal '<a href="http://foo/52">bar</a>', field.format.formatted_custom_value(self, custom_value, true) | |
54 | end |
|
54 | end | |
55 |
|
55 | |||
|
56 | def test_link_field_should_substitute_project_identifier_in_url | |||
|
57 | project = Project.new | |||
|
58 | project.stubs(:identifier).returns('foo_project-00') | |||
|
59 | object = Issue.new | |||
|
60 | object.stubs(:project).returns(project) | |||
|
61 | ||||
|
62 | field = IssueCustomField.new(:field_format => 'link', :url_pattern => 'http://foo/%project_identifier%') | |||
|
63 | custom_value = CustomValue.new(:custom_field => field, :customized => object, :value => "bar") | |||
|
64 | ||||
|
65 | assert_equal "bar", field.format.formatted_custom_value(self, custom_value, false) | |||
|
66 | assert_equal '<a href="http://foo/foo_project-00">bar</a>', field.format.formatted_custom_value(self, custom_value, true) | |||
|
67 | end | |||
|
68 | ||||
56 | def test_link_field_should_substitute_regexp_groups |
|
69 | def test_link_field_should_substitute_regexp_groups | |
57 | field = IssueCustomField.new(:field_format => 'link', :regexp => /^(.+)-(.+)$/, :url_pattern => 'http://foo/%m2%/%m1%') |
|
70 | field = IssueCustomField.new(:field_format => 'link', :regexp => /^(.+)-(.+)$/, :url_pattern => 'http://foo/%m2%/%m1%') | |
58 | custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "56-142") |
|
71 | custom_value = CustomValue.new(:custom_field => field, :customized => Issue.new, :value => "56-142") |
General Comments 0
You need to be logged in to leave comments.
Login now