]> source.dussan.org Git - redmine.git/commitdiff
Merged r21085 to 4.1-stable (#35134).
authorMarius Balteanu <marius.balteanu@zitec.com>
Tue, 27 Jul 2021 20:46:18 +0000 (20:46 +0000)
committerMarius Balteanu <marius.balteanu@zitec.com>
Tue, 27 Jul 2021 20:46:18 +0000 (20:46 +0000)
git-svn-id: http://svn.redmine.org/redmine/branches/4.1-stable@21095 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/helpers/issues_helper.rb
test/helpers/issues_helper_test.rb

index 30a2470e911e625957ee451338b26e62c23c7871..f2f40654ba95a5ff1d3686917c7ce06b24025dba 100644 (file)
@@ -217,6 +217,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
index 89c9de0ef786ccb8c158731d0e4beb53b760e9e5..991e7fe781bcc3661422ed55c717e4f1f76f59f3 100644 (file)
@@ -360,4 +360,26 @@ class IssuesHelperTest < Redmine::HelperTest
       assert_equal '06/06/2019', issue_due_date_details(issue)
     end
   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