Merge branch '52771-ldap-users-can-t-choose-private-or-internal-when-creating-a-new-group' into 'master'

Fix new group visibility form for non-admins

Closes #52771

See merge request gitlab-org/gitlab-ce!22468
This commit is contained in:
Dmitriy Zaporozhets 2018-11-07 09:54:19 +00:00
commit 54ba4fdbf0
3 changed files with 27 additions and 2 deletions

View File

@ -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

View File

@ -0,0 +1,5 @@
---
title: Fix bug stopping non-admin users from changing visibility level on group creation
merge_request: 22468
author:
type: fixed

View File

@ -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'