Fix new group visibility form for non-admins
Removes an owner permission check before rendering the visibility select radio inputs as non-admins will not have permission. Ensures all users creating a group can select its visibility.
This commit is contained in:
parent
7f43b65fe5
commit
42dd6bf250
3 changed files with 27 additions and 2 deletions
|
@ -35,7 +35,7 @@
|
|||
%p
|
||||
= _('Who will be able to see this group?')
|
||||
= link_to _('View the documentation'), help_page_path("public_access/public_access"), target: '_blank'
|
||||
= render 'shared/visibility_level', f: f, visibility_level: @group.visibility_level, can_change_visibility_level: can_change_group_visibility_level?(@group), form_model: @group, with_label: false
|
||||
= render 'shared/visibility_level', f: f, visibility_level: default_group_visibility, can_change_visibility_level: true, form_model: @group, with_label: false
|
||||
|
||||
= render 'create_chat_team', f: f if Gitlab.config.mattermost.enabled
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Fix bug stopping non-admin users from changing visibility level on group creation
|
||||
merge_request: 22468
|
||||
author:
|
||||
type: fixed
|
|
@ -1,8 +1,10 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'Group' do
|
||||
let(:user) { create(:admin) }
|
||||
|
||||
before do
|
||||
sign_in(create(:admin))
|
||||
sign_in(user)
|
||||
end
|
||||
|
||||
matcher :have_namespace_error_message do
|
||||
|
@ -16,6 +18,24 @@ describe 'Group' do
|
|||
visit new_group_path
|
||||
end
|
||||
|
||||
describe 'as a non-admin' do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
it 'creates a group and persists visibility radio selection', :js do
|
||||
stub_application_setting(default_group_visibility: :private)
|
||||
|
||||
fill_in 'Group name', with: 'test-group'
|
||||
find("input[name='group[visibility_level]'][value='#{Gitlab::VisibilityLevel::PUBLIC}']").click
|
||||
click_button 'Create group'
|
||||
|
||||
group = Group.find_by(name: 'test-group')
|
||||
|
||||
expect(group.visibility_level).to eq(Gitlab::VisibilityLevel::PUBLIC)
|
||||
expect(current_path).to eq(group_path(group))
|
||||
expect(page).to have_selector '.visibility-icon .fa-globe'
|
||||
end
|
||||
end
|
||||
|
||||
describe 'with space in group path' do
|
||||
it 'renders new group form with validation errors' do
|
||||
fill_in 'Group URL', with: 'space group'
|
||||
|
|
Loading…
Reference in a new issue