@@ -134,6 +134,16 class IssueRelation < ActiveRecord::Base | |||||
134 | :unknow |
|
134 | :unknow | |
135 | end |
|
135 | end | |
136 |
|
136 | |||
|
137 | def to_s(issue=nil) | |||
|
138 | issue ||= issue_from | |||
|
139 | issue_text = block_given? ? yield(other_issue(issue)) : "##{other_issue(issue).try(:id)}" | |||
|
140 | s = [] | |||
|
141 | s << l(label_for(issue)) | |||
|
142 | s << "(#{l('datetime.distance_in_words.x_days', :count => delay)})" if delay && delay != 0 | |||
|
143 | s << issue_text | |||
|
144 | s.join(' ') | |||
|
145 | end | |||
|
146 | ||||
137 | def css_classes_for(issue) |
|
147 | def css_classes_for(issue) | |
138 | "rel-#{relation_type_for(issue)}" |
|
148 | "rel-#{relation_type_for(issue)}" | |
139 | end |
|
149 | end |
@@ -14,10 +14,7 | |||||
14 | <tr class="issue hascontextmenu" id="relation-<%= relation.id %>"> |
|
14 | <tr class="issue hascontextmenu" id="relation-<%= relation.id %>"> | |
15 | <td class="checkbox"><%= check_box_tag("ids[]", other_issue.id, false, :id => nil) %></td> |
|
15 | <td class="checkbox"><%= check_box_tag("ids[]", other_issue.id, false, :id => nil) %></td> | |
16 | <td class="subject"> |
|
16 | <td class="subject"> | |
17 | <%= l(relation.label_for(@issue)) %> |
|
17 | <%= relation.to_s(@issue) {|other| link_to_issue(other, :truncate => 60, :project => Setting.cross_project_issue_relations?)}.html_safe %> | |
18 | <%= "(#{l('datetime.distance_in_words.x_days', :count => relation.delay)})" if relation.delay && relation.delay != 0 %> |
|
|||
19 | <%= h(other_issue.project) + ' - ' if Setting.cross_project_issue_relations? %> |
|
|||
20 | <%= link_to_issue(other_issue, :truncate => 60) %> |
|
|||
21 | </td> |
|
18 | </td> | |
22 | <td class="status"><%=h other_issue.status.name %></td> |
|
19 | <td class="status"><%=h other_issue.status.name %></td> | |
23 | <td class="start_date"><%= format_date(other_issue.start_date) %></td> |
|
20 | <td class="start_date"><%= format_date(other_issue.start_date) %></td> |
@@ -214,4 +214,23 class IssueRelationTest < ActiveSupport::TestCase | |||||
214 | assert_equal '10', to.journals.last.details.last.old_value |
|
214 | assert_equal '10', to.journals.last.details.last.old_value | |
215 | assert_nil to.journals.last.details.last.value |
|
215 | assert_nil to.journals.last.details.last.value | |
216 | end |
|
216 | end | |
|
217 | ||||
|
218 | def test_to_s_should_return_the_relation_string | |||
|
219 | set_language_if_valid 'en' | |||
|
220 | relation = IssueRelation.find(1) | |||
|
221 | assert_equal "Blocks #9", relation.to_s(relation.issue_from) | |||
|
222 | assert_equal "Blocked by #10", relation.to_s(relation.issue_to) | |||
|
223 | end | |||
|
224 | ||||
|
225 | def test_to_s_without_argument_should_return_the_relation_string_for_issue_from | |||
|
226 | set_language_if_valid 'en' | |||
|
227 | relation = IssueRelation.find(1) | |||
|
228 | assert_equal "Blocks #9", relation.to_s | |||
|
229 | end | |||
|
230 | ||||
|
231 | def test_to_s_should_accept_a_block_as_custom_issue_formatting | |||
|
232 | set_language_if_valid 'en' | |||
|
233 | relation = IssueRelation.find(1) | |||
|
234 | assert_equal "Blocks Bug #9", relation.to_s {|issue| "#{issue.tracker} ##{issue.id}"} | |||
|
235 | end | |||
217 | end |
|
236 | end |
General Comments 0
You need to be logged in to leave comments.
Login now