Files
gitlabhq/app/models/application_setting.rb
T
Dmitriy Zaporozhets d3361e6d1b Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee
Conflicts:
	Gemfile.lock
	app/controllers/admin/application_settings_controller.rb
	app/controllers/groups/application_controller.rb
	app/controllers/groups/group_members_controller.rb
	app/controllers/projects/team_members_controller.rb
	app/helpers/application_settings_helper.rb
	app/helpers/projects_helper.rb
	app/helpers/tab_helper.rb
	app/models/application_setting.rb
	app/models/user.rb
	app/views/devise/shared/_signin_box.html.haml
	app/views/groups/projects.html.haml
	app/views/profiles/keys/_key.html.haml
	app/views/projects/team_members/_form.html.haml
	app/views/projects/team_members/index.html.haml
	config/routes.rb
	db/schema.rb
	spec/lib/gitlab/ldap/access_spec.rb
2015-03-16 21:25:00 -07:00

61 lines
2.0 KiB
Ruby

# == Schema Information
#
# Table name: application_settings
#
# id :integer not null, primary key
# default_projects_limit :integer
# default_branch_protection :integer
# signup_enabled :boolean
# signin_enabled :boolean
# gravatar_enabled :boolean
# twitter_sharing_enabled :boolean
# sign_in_text :text
# created_at :datetime
# updated_at :datetime
# home_page_url :string(255)
# default_branch_protection :integer default(2)
# twitter_sharing_enabled :boolean default(TRUE)
# help_text :text
# restricted_visibility_levels :text
#
class ApplicationSetting < ActiveRecord::Base
serialize :restricted_visibility_levels
validates :home_page_url,
allow_blank: true,
format: { with: URI::regexp(%w(http https)), message: "should be a valid url" },
if: :home_page_url_column_exist
validates_each :restricted_visibility_levels do |record, attr, value|
unless value.nil?
value.each do |level|
unless Gitlab::VisibilityLevel.options.has_value?(level)
record.errors.add(attr, "'#{level}' is not a valid visibility level")
end
end
end
end
def self.current
ApplicationSetting.last
end
def self.create_from_defaults
create(
default_projects_limit: Settings.gitlab['default_projects_limit'],
default_branch_protection: Settings.gitlab['default_branch_protection'],
signup_enabled: Settings.gitlab['signup_enabled'],
signin_enabled: Settings.gitlab['signin_enabled'],
twitter_sharing_enabled: Settings.gitlab['twitter_sharing_enabled'],
gravatar_enabled: Settings.gravatar['enabled'],
sign_in_text: Settings.extra['sign_in_text'],
restricted_visibility_levels: Settings.gitlab['restricted_visibility_levels']
)
end
def home_page_url_column_exist
ActiveRecord::Base.connection.column_exists?(:application_settings, :home_page_url)
end
end