Defect #34297
closedSubprojects issues are not displayed on main project when all subprojects are closed
0%
Description
No issues are displayed on issue page
parent project (open) - subproject1 (closed) - subproject2 (closed)
It shows sub1, sub2 issues.
parent project (open) - subproject1 (closed) - subproject2 (open)
Files
Related issues
Updated by Go MAEDA about 4 years ago
- Status changed from New to Confirmed
I have confirmed the reported behavior. If there are one or more open subprojects, issues in closed subprojects are visible in a parent project's issues list. However, if all subprojects are closed, all issues from subprojects are invisible.
Updated by Go MAEDA about 4 years ago
- Subject changed from The issue is not visible when closing all subprojects. to Subprojects issues are not displayed on main project when all subprojects are closed
Updated by Go MAEDA about 4 years ago
- Related to Defect #34375: "is not" operator for Subproject filter incorrectly excludes closed subprojects added
Updated by Yuichi HARADA about 4 years ago
- File fixed-34297.patch fixed-34297.patch added
Go MAEDA wrote:
I have confirmed the reported behavior. If there are one or more open subprojects, issues in closed subprojects are visible in a parent project's issues list. However, if all subprojects are closed, all issues from subprojects are invisible.
I created a patch. I fix to show subprojects issues even if all subprojects are closed.
Updated by Go MAEDA about 4 years ago
- Target version set to Candidate for next major release
Updated by Go MAEDA about 4 years ago
Yuichi HARADA wrote:
I created a patch. I fix to show subprojects issues even if all subprojects are closed.
Thank you for posting the patch.
What do you think about the following approach? The number of lines to be changed is minimal, and also fixes #34375.
diff --git a/app/models/query.rb b/app/models/query.rb
index 18f1b135b..8ed09579d 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -898,10 +898,10 @@ class Query < ActiveRecord::Base
def project_statement
project_clauses = []
- active_subprojects_ids = []
+ non_archived_subprojects_ids = []
- active_subprojects_ids = project.descendants.active.map(&:id) if project
- if active_subprojects_ids.any?
+ non_archived_subprojects_ids = project.descendants.where.not(status: Project::STATUS_ARCHIVED).ids if project
+ if non_archived_subprojects_ids.any?
if has_filter?("subproject_id")
case operator_for("subproject_id")
when '='
@@ -910,7 +910,7 @@ class Query < ActiveRecord::Base
project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',')
when '!'
# exclude the selected subprojects
- ids = [project.id] + active_subprojects_ids - values_for("subproject_id").map(&:to_i)
+ ids = [project.id] + non_archived_subprojects_ids - values_for("subproject_id").map(&:to_i)
project_clauses << "#{Project.table_name}.id IN (%s)" % ids.join(',')
when '!*'
# main project only
Updated by Yuichi HARADA almost 4 years ago
Updated by Go MAEDA almost 4 years ago
- File 34297-v2.patch 34297-v2.patch added
Yuichi HARADA wrote:
Go MAEDA wrote:
What do you think about the following approach? The number of lines to be changed is minimal, and also fixes #34375.
[...]
That's great. I have confirmed that #34375 is also improved with minimal changes.
Thank you for checking the code. I have updated the patch:
- Combined the code in #34297#note-6 and tests in fixed-34297.patch
- Simplified tests
Updated by Go MAEDA almost 4 years ago
- Target version changed from Candidate for next major release to 4.0.8
Setting the target version to 4.0.8.
Updated by Go MAEDA almost 4 years ago
- Status changed from Confirmed to Resolved
- Assignee set to Go MAEDA
Committed the patch.
Updated by Go MAEDA almost 4 years ago
- Status changed from Resolved to Closed
- Resolution set to Fixed