Browse Source

Total spent time from issue page should link to global time entries if the issue has subtasks and the subtasks can be on projects that are not descendants of the current project (#35134).

git-svn-id: http://svn.redmine.org/redmine/trunk@21085 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/5.0.0
Marius Balteanu 2 years ago
parent
commit
0765042d64
2 changed files with 27 additions and 0 deletions
  1. 5
    0
      app/helpers/issues_helper.rb
  2. 22
    0
      test/helpers/issues_helper_test.rb

+ 5
- 0
app/helpers/issues_helper.rb View File

@@ -264,6 +264,11 @@ module IssuesHelper
if issue.total_spent_hours == issue.spent_hours
link_to(l_hours_short(issue.spent_hours), path)
else
# link to global time entries if cross-project subtasks are allowed
# in order to show time entries from not descendents projects
if %w(system tree hierarchy).include?(Setting.cross_project_subtasks)
path = time_entries_path(:issue_id => "~#{issue.id}")
end
s = issue.spent_hours > 0 ? l_hours_short(issue.spent_hours) : ""
s += " (#{l(:label_total)}: #{link_to l_hours_short(issue.total_spent_hours), path})"
s.html_safe

+ 22
- 0
test/helpers/issues_helper_test.rb View File

@@ -375,4 +375,26 @@ class IssuesHelperTest < Redmine::HelperTest
assert_equal new_project_issue_path(issue.project, params),
url_for_new_subtask(issue)
end

def test_issue_spent_hours_details_should_link_to_project_time_entries_depending_on_cross_project_setting
%w(descendants).each do |setting|
with_settings :cross_project_subtasks => setting do
TimeEntry.generate!(:issue => Issue.generate!(:parent_issue_id => 1), :hours => 3)
TimeEntry.generate!(:issue => Issue.generate!(:parent_issue_id => 1), :hours => 4)

assert_match "href=\"/projects/ecookbook/time_entries?issue_id=~1\"", issue_spent_hours_details(Issue.find(1))
end
end
end

def test_issue_spent_hours_details_should_link_to_global_time_entries_depending_on_cross_project_setting
%w(system tree hierarchy).each do |setting|
with_settings :cross_project_subtasks => setting do
TimeEntry.generate!(:issue => Issue.generate!(:parent_issue_id => 1), :hours => 3)
TimeEntry.generate!(:issue => Issue.generate!(:parent_issue_id => 1), :hours => 4)

assert_match "href=\"/time_entries?issue_id=~1\"", issue_spent_hours_details(Issue.find(1))
end
end
end
end

Loading…
Cancel
Save