eb4f1eb5f5
This feature was requested long ago: http://feedback.gitlab.com/forums/176466-general/suggestions/4118466-ability-to-register-only-from-ceratain-domains This MR is based off !253 but changed to use application settings and use wildcard strings to give more flexibility in pattern matching. Regexps seemed overkill and easy to get wrong. Only restrict e-mail addresses upon creation
48 lines
1.2 KiB
Ruby
48 lines
1.2 KiB
Ruby
class Admin::ApplicationSettingsController < Admin::ApplicationController
|
|
before_action :set_application_setting
|
|
|
|
def show
|
|
end
|
|
|
|
def update
|
|
if @application_setting.update_attributes(application_setting_params)
|
|
redirect_to admin_application_settings_path,
|
|
notice: 'Application settings saved successfully'
|
|
else
|
|
render :show
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def set_application_setting
|
|
@application_setting = ApplicationSetting.current
|
|
end
|
|
|
|
def application_setting_params
|
|
restricted_levels = params[:application_setting][:restricted_visibility_levels]
|
|
if restricted_levels.nil?
|
|
params[:application_setting][:restricted_visibility_levels] = []
|
|
else
|
|
restricted_levels.map! do |level|
|
|
level.to_i
|
|
end
|
|
end
|
|
|
|
params.require(:application_setting).permit(
|
|
:default_projects_limit,
|
|
:default_branch_protection,
|
|
:signup_enabled,
|
|
:signin_enabled,
|
|
:gravatar_enabled,
|
|
:twitter_sharing_enabled,
|
|
:sign_in_text,
|
|
:home_page_url,
|
|
:max_attachment_size,
|
|
:default_project_visibility,
|
|
:default_snippet_visibility,
|
|
:restricted_signup_domains_raw,
|
|
restricted_visibility_levels: [],
|
|
)
|
|
end
|
|
end
|