Defect #35134
closedChange total spent time link to global time entries when issue has subtasks that can be on non descendent projects
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)
Files
Updated by Marius BĂLTEANU over 3 years ago
- Assignee set to Marius BĂLTEANU
- Target version set to 4.1.4
Updated by Marius BĂLTEANU over 3 years ago
- Status changed from New to Needs feedback
- Assignee deleted (
Marius BĂLTEANU)
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.
Updated by Dmitry Makurin over 3 years 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.
Updated by Marius BĂLTEANU over 3 years ago
- File 0001-Link-to-global-time-entries-if-issue-has-subtasks-an.patch 0001-Link-to-global-time-entries-if-issue-has-subtasks-an.patch added
Here is the patch.
Updated by Marius BĂLTEANU over 3 years ago
- 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".
Updated by Marius BĂLTEANU over 3 years ago
- Status changed from Needs feedback to Resolved
Patch committed.
Updated by Marius BĂLTEANU over 3 years ago
- Status changed from Resolved to Closed
Updated by Go MAEDA over 3 years ago
- Status changed from Closed to Reopened
IssuesHelperTest in 4.2-stable and 4.1-stable branches fails with Ruby 2.4.
laphroaig:4.2-stable maeda$ ruby test/helpers/issues_helper_test.rb Run options: --seed 4533 # Running: ....F Failure: IssuesHelperTest#test_issue_spent_hours_details_should_link_to_project_time_entries_depending_on_cross_project_setting [test/helpers/issues_helper_test.rb:385]: Expected /href="\/projects\/ecookbook\/time_entries\?issue_id=~1"/ to match "154.25 h (Total: <a href=\"/projects/ecookbook/time_entries?issue_id=%7E1\">161.25 h</a>)". bin/rails test test/helpers/issues_helper_test.rb:379 ...........................F Failure: IssuesHelperTest#test_issue_spent_hours_details_should_link_to_global_time_entries_depending_on_cross_project_setting [test/helpers/issues_helper_test.rb:396]: Expected /href="\/time_entries\?issue_id=~1"/ to match "154.25 h (Total: <a href=\"/time_entries?issue_id=%7E1\">161.25 h</a>)". bin/rails test test/helpers/issues_helper_test.rb:390
Updated by Marius BĂLTEANU over 3 years ago
Thanks for reporting the failures, I've committed the fixes.
Considering that the issue reproduces only on Ruby 2.4 which is no longer supported on trunk, is it ok to fix the tests only on 4.2-stable
and 4.1-stable
branches?
Updated by Marius BĂLTEANU over 3 years ago
- Status changed from Reopened to Closed
Updated by Marius BĂLTEANU over 3 years ago
- Subject changed from Change total spent time link to global time entries to Change total spent time link to global time entries when issue has subtasks that can be on non descendent projects