summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@gitlab.com>2015-02-19 20:48:49 +0000
committerDmitriy Zaporozhets <dzaporozhets@gitlab.com>2015-02-19 20:48:49 +0000
commit9470675b4e13ce16ab22f372c1bdad591c9ee1bc (patch)
tree9eb8781060747e693fd0cad6b4184b72e620be59
parent84b556b7bc14f1b7bdaebaed85f0d80811b9da03 (diff)
parent1d6050104c17d7924d5cce0e6ddb35f5da45a08e (diff)
downloadgitlab-ce-9470675b4e13ce16ab22f372c1bdad591c9ee1bc.tar.gz
Merge branch 'projects-limit-default' into 'master'
Correctly set default projects limit for new users. See #2014. Note that the projects limit still isn't retroactively applied to existing users (probably as intended) See merge request !1547
-rw-r--r--app/models/user.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index a9776b633a6..21ccc76978e 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -55,14 +55,13 @@ class User < ActiveRecord::Base
include Gitlab::ConfigHelper
include TokenAuthenticatable
extend Gitlab::ConfigHelper
- extend Gitlab::CurrentSettings
+ include Gitlab::CurrentSettings
default_value_for :admin, false
default_value_for :can_create_group, gitlab_config.default_can_create_group
default_value_for :can_create_team, false
default_value_for :hide_no_ssh_key, false
default_value_for :hide_no_password, false
- default_value_for :projects_limit, current_application_settings.default_projects_limit
default_value_for :theme_id, gitlab_config.default_theme
devise :database_authenticatable, :lockable, :async,
@@ -141,6 +140,7 @@ class User < ActiveRecord::Base
before_save :ensure_authentication_token
after_save :ensure_namespace_correct
+ after_initialize :set_projects_limit
after_create :post_create_hook
after_destroy :post_destroy_hook
@@ -463,6 +463,13 @@ class User < ActiveRecord::Base
end
end
+ def set_projects_limit
+ connection_default_value_defined = new_record? && !projects_limit_changed?
+ return unless self.projects_limit.nil? || connection_default_value_defined
+
+ self.projects_limit = current_application_settings.default_projects_limit
+ end
+
def requires_ldap_check?
if !Gitlab.config.ldap.enabled
false