summaryrefslogtreecommitdiff
path: root/app/models/user.rb
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2017-11-06 15:48:08 +0000
committerSean McGivern <sean@mcgivern.me.uk>2017-11-06 15:48:08 +0000
commitad118080cf32e011cd9ded053a86334fea67ffb2 (patch)
tree7d52ecb54951b80768ec574f35d55b5a3cc2c217 /app/models/user.rb
parent8a26706141bd43afa1fca093228f0d8267c39566 (diff)
parent634a152760b1442a9f0ead3b73688f931c414882 (diff)
downloadgitlab-ce-ad118080cf32e011cd9ded053a86334fea67ffb2.tar.gz
Merge branch 'dm-block-group-and-project-creation-when-external-by-default' into 'master'
Make sure group and project creation is blocked for new users that are external by default Closes #39664 See merge request gitlab-org/gitlab-ce!15212
Diffstat (limited to 'app/models/user.rb')
-rw-r--r--app/models/user.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/app/models/user.rb b/app/models/user.rb
index 87a6c63cfaa..aa88cda4dc0 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -164,7 +164,7 @@ class User < ActiveRecord::Base
before_validation :set_notification_email, if: :email_changed?
before_validation :set_public_email, if: :public_email_changed?
before_save :ensure_incoming_email_token
- before_save :ensure_user_rights_and_limits, if: :external_changed?
+ before_save :ensure_user_rights_and_limits, if: ->(user) { user.new_record? || user.external_changed? }
before_save :skip_reconfirmation!, if: ->(user) { user.email_changed? && user.read_only_attribute?(:email) }
before_save :check_for_verified_email, if: ->(user) { user.email_changed? && !user.new_record? }
after_save :ensure_namespace_correct
@@ -1139,8 +1139,9 @@ class User < ActiveRecord::Base
self.can_create_group = false
self.projects_limit = 0
else
- self.can_create_group = gitlab_config.default_can_create_group
- self.projects_limit = current_application_settings.default_projects_limit
+ # Only revert these back to the default if they weren't specifically changed in this update.
+ self.can_create_group = gitlab_config.default_can_create_group unless can_create_group_changed?
+ self.projects_limit = current_application_settings.default_projects_limit unless projects_limit_changed?
end
end