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:
Luke Bennett 2018-10-19 02:07:29 +01:00
parent 7f43b65fe5
commit 42dd6bf250
No known key found for this signature in database
GPG key ID: 402ED51FB5D306C2
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'