Disable inaccessible navigation links upon archiving a project
This commit is contained in:
parent
afbc827465
commit
de6bab915c
3 changed files with 59 additions and 2 deletions
|
@ -357,12 +357,12 @@
|
||||||
= link_to project_settings_repository_path(@project), title: _('Repository') do
|
= link_to project_settings_repository_path(@project), title: _('Repository') do
|
||||||
%span
|
%span
|
||||||
= _('Repository')
|
= _('Repository')
|
||||||
- if @project.feature_available?(:builds, current_user)
|
- if !@project.archived? && @project.feature_available?(:builds, current_user)
|
||||||
= nav_link(controller: :ci_cd) do
|
= nav_link(controller: :ci_cd) do
|
||||||
= link_to project_settings_ci_cd_path(@project), title: _('CI / CD') do
|
= link_to project_settings_ci_cd_path(@project), title: _('CI / CD') do
|
||||||
%span
|
%span
|
||||||
= _('CI / CD')
|
= _('CI / CD')
|
||||||
- if settings_operations_available?
|
- if !@project.archived? && settings_operations_available?
|
||||||
= nav_link(controller: [:operations]) do
|
= nav_link(controller: [:operations]) do
|
||||||
= link_to project_settings_operations_path(@project), title: _('Operations') do
|
= link_to project_settings_operations_path(@project), title: _('Operations') do
|
||||||
= _('Operations')
|
= _('Operations')
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: "Disable inaccessible navigation links upon archiving a project"
|
||||||
|
merge_request: 26020
|
||||||
|
author: Elias Werberich
|
||||||
|
type: fixed
|
|
@ -113,4 +113,56 @@ describe 'layouts/nav/sidebar/_project' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe 'ci/cd settings tab' do
|
||||||
|
before do
|
||||||
|
project.update!(archived: project_archived)
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when project is archived' do
|
||||||
|
let(:project_archived) { true }
|
||||||
|
|
||||||
|
it 'does not show the ci/cd settings tab' do
|
||||||
|
render
|
||||||
|
|
||||||
|
expect(rendered).not_to have_link('CI / CD', href: project_settings_ci_cd_path(project))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when project is active' do
|
||||||
|
let(:project_archived) { false }
|
||||||
|
|
||||||
|
it 'shows the ci/cd settings tab' do
|
||||||
|
render
|
||||||
|
|
||||||
|
expect(rendered).to have_link('CI / CD', href: project_settings_ci_cd_path(project))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'operations settings tab' do
|
||||||
|
before do
|
||||||
|
project.update!(archived: project_archived)
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when project is archived' do
|
||||||
|
let(:project_archived) { true }
|
||||||
|
|
||||||
|
it 'does not show the operations settings tab' do
|
||||||
|
render
|
||||||
|
|
||||||
|
expect(rendered).not_to have_link('Operations', href: project_settings_operations_path(project))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'when project is active' do
|
||||||
|
let(:project_archived) { false }
|
||||||
|
|
||||||
|
it 'shows the operations settings tab' do
|
||||||
|
render
|
||||||
|
|
||||||
|
expect(rendered).to have_link('Operations', href: project_settings_operations_path(project))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue