Defect #35134

Change total spent time link to global time entries

Added by Dmitry Makurin 3 months ago. Updated 22 days ago.

Status:Needs feedbackStart date:
Priority:NormalDue date:
Assignee:Marius BALTEANU% Done:

0%

Category:-
Target version:4.1.4
Resolution: Affected version:4.2.0

Description

Parent issue displays total spent hours. It includes self time entries and all of subtasks and also gives user a link to time_entries controller. Link leads to time_entries inside a parent issue project so if any of subtask will be in different project than parent you won't see it.

Issue.total_spent_hours does not filter time entries by a project.

I guess it's more natural to give link to time_entries instead projects/:id/time_entries.

Index: app/helpers/issues_helper.rb
<+>UTF-8
===================================================================
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
--- a/app/helpers/issues_helper.rb    (revision ad087516f4f11bb530ea96777e3edc32940e323b)
+++ b/app/helpers/issues_helper.rb    (revision 3c8f6a9152e28c5057710f68b13559db56990dbf)
@@ -259,7 +259,7 @@

   def issue_spent_hours_details(issue)
     if issue.total_spent_hours > 0
-      path = project_time_entries_path(issue.project, :issue_id => "~#{issue.id}")
+      path = time_entries_path(:issue_id => "~#{issue.id}")

       if issue.total_spent_hours == issue.spent_hours
         link_to(l_hours_short(issue.spent_hours), path)

0001-Link-to-global-time-entries-if-issue-has-subtasks-an.patch Magnifier (2.71 KB) Marius BALTEANU, 2021-07-03 15:57

History

#1 Updated by Marius BALTEANU 3 months ago

  • Assignee set to Marius BALTEANU
  • Target version set to 4.1.4

#2 Updated by Marius BALTEANU about 1 month ago

  • Status changed from New to Needs feedback
  • Assignee deleted (Marius BALTEANU)

Indeed, giving link to time_entries instead projects/:id/time_entries fixes this, but with a downside, the user context is changed from project level to global level.

What about setting the link to time_entries only when the "Allow cross-projects subtasks" is set to "With all projects"? If I'm not wrong, this is the only case when this issue reproduces.

#3 Updated by Marius BALTEANU about 1 month ago

  • Assignee set to Marius BALTEANU

#4 Updated by Dmitry Makurin about 1 month ago

Marius BALTEANU wrote:

What about setting the link to time_entries only when the "Allow cross-projects subtasks" is set to "With all projects"? If I'm not wrong, this is the only case when this issue reproduces.

Yes, it is. Agreed that is a better approach, I'll try to redo the patch.

#6 Updated by Marius BALTEANU 22 days ago

The implementation links to global path instead of project path only when:
  • the total spent time is greater than spent time (means that the issue has subtasks with time entries logged) and
  • setting "Allow cross-project subtasks" is "With all projects", "With project tree" or "With project hierarchy".

Also available in: Atom PDF