Commit 7e710acc authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Merge branch 'issue_4095' into 'master'

Don't show Issues/MRs from archived projects in Groups view

Fixes #4095 

See merge request !2980
parents 1fa7671f 7dd2e37a
...@@ -10,6 +10,7 @@ v 8.6.0 (unreleased) ...@@ -10,6 +10,7 @@ v 8.6.0 (unreleased)
- Return empty array instead of 404 when commit has no statuses in commit status API - Return empty array instead of 404 when commit has no statuses in commit status API
- Update documentation to reflect Guest role not being enforced on internal projects - Update documentation to reflect Guest role not being enforced on internal projects
- Allow search for logged out users - Allow search for logged out users
- Don't show Issues/MRs from archived projects in Groups view
v 8.5.2 v 8.5.2
- Fix sidebar overlapping content when screen width was below 1200px - Fix sidebar overlapping content when screen width was below 1200px
......
...@@ -2,7 +2,7 @@ module IssuesAction ...@@ -2,7 +2,7 @@ module IssuesAction
extend ActiveSupport::Concern extend ActiveSupport::Concern
def issues def issues
@issues = get_issues_collection @issues = get_issues_collection.non_archived
@issues = @issues.page(params[:page]).per(ApplicationController::PER_PAGE) @issues = @issues.page(params[:page]).per(ApplicationController::PER_PAGE)
@issues = @issues.preload(:author, :project) @issues = @issues.preload(:author, :project)
......
...@@ -2,7 +2,7 @@ module MergeRequestsAction ...@@ -2,7 +2,7 @@ module MergeRequestsAction
extend ActiveSupport::Concern extend ActiveSupport::Concern
def merge_requests def merge_requests
@merge_requests = get_merge_requests_collection @merge_requests = get_merge_requests_collection.non_archived
@merge_requests = @merge_requests.page(params[:page]).per(ApplicationController::PER_PAGE) @merge_requests = @merge_requests.page(params[:page]).per(ApplicationController::PER_PAGE)
@merge_requests = @merge_requests.preload(:author, :target_project) @merge_requests = @merge_requests.preload(:author, :target_project)
......
...@@ -38,6 +38,7 @@ module Issuable ...@@ -38,6 +38,7 @@ module Issuable
scope :join_project, -> { joins(:project) } scope :join_project, -> { joins(:project) }
scope :references_project, -> { references(:project) } scope :references_project, -> { references(:project) }
scope :non_archived, -> { join_project.merge(Project.non_archived) }
delegate :name, delegate :name,
:email, :email,
......
...@@ -278,7 +278,7 @@ class Project < ActiveRecord::Base ...@@ -278,7 +278,7 @@ class Project < ActiveRecord::Base
end end
def search_by_title(query) def search_by_title(query)
where('projects.archived = ?', false).where('LOWER(projects.name) LIKE :query', query: "%#{query.downcase}%") non_archived.where('LOWER(projects.name) LIKE :query', query: "%#{query.downcase}%")
end end
def find_with_namespace(id) def find_with_namespace(id)
......
...@@ -22,11 +22,23 @@ Feature: Groups ...@@ -22,11 +22,23 @@ Feature: Groups
When I visit group "Owned" issues page When I visit group "Owned" issues page
Then I should see issues from group "Owned" assigned to me Then I should see issues from group "Owned" assigned to me
Scenario: I should not see issues from archived project in "Owned" group issues list
Given Group "Owned" has archived project
And the archived project have some issues
When I visit group "Owned" issues page
Then I should not see issues from the archived project
Scenario: I should see group "Owned" merge requests list Scenario: I should see group "Owned" merge requests list
Given project from group "Owned" has merge requests assigned to me Given project from group "Owned" has merge requests assigned to me
When I visit group "Owned" merge requests page When I visit group "Owned" merge requests page
Then I should see merge requests from group "Owned" assigned to me Then I should see merge requests from group "Owned" assigned to me
Scenario: I should not see merge requests from archived project in "Owned" group merge requests list
Given Group "Owned" has archived project
And the archived project have some merge_requests
When I visit group "Owned" merge requests page
Then I should not see merge requests from the archived project
Scenario: I should see edit group "Owned" page Scenario: I should see edit group "Owned" page
When I visit group "Owned" settings page When I visit group "Owned" settings page
And I change group "Owned" name to "new-name" And I change group "Owned" name to "new-name"
......
...@@ -44,6 +44,18 @@ class Spinach::Features::Groups < Spinach::FeatureSteps ...@@ -44,6 +44,18 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
end end
end end
step 'I should not see issues from the archived project' do
@archived_project.issues.each do |issue|
expect(page).not_to have_content issue.title
end
end
step 'I should not see merge requests from the archived project' do
@archived_project.merge_requests.each do |mr|
expect(page).not_to have_content mr.title
end
end
step 'I should see merge requests from group "Owned" assigned to me' do step 'I should see merge requests from group "Owned" assigned to me' do
assigned_to_me(:merge_requests).each do |issue| assigned_to_me(:merge_requests).each do |issue|
expect(page).to have_content issue.title[0..80] expect(page).to have_content issue.title[0..80]
...@@ -113,7 +125,7 @@ class Spinach::Features::Groups < Spinach::FeatureSteps ...@@ -113,7 +125,7 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
step 'Group "Owned" has archived project' do step 'Group "Owned" has archived project' do
group = Group.find_by(name: 'Owned') group = Group.find_by(name: 'Owned')
create(:project, namespace: group, archived: true, path: "archived-project") @archived_project = create(:project, namespace: group, archived: true, path: "archived-project")
end end
step 'I should see "archived" label' do step 'I should see "archived" label' do
...@@ -124,6 +136,21 @@ class Spinach::Features::Groups < Spinach::FeatureSteps ...@@ -124,6 +136,21 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
visit group_path(-1) visit group_path(-1)
end end
step 'the archived project have some issues' do
create :issue,
project: @archived_project,
assignee: current_user,
author: current_user
end
step 'the archived project have some merge requests' do
create :merge_request,
source_project: @archived_project,
target_project: @archived_project,
assignee: current_user,
author: current_user
end
private private
def assigned_to_me(key) def assigned_to_me(key)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment