diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-11-06 15:03:51 +0300 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-11-06 17:19:15 +0300 |
commit | 634a152760b1442a9f0ead3b73688f931c414882 (patch) | |
tree | b0bb066a0e42483d7d286acf163022d3ee293c45 /app | |
parent | 97b80fefeb5da20798423b62b63fa9faa08ac118 (diff) |
Make sure group and project creation is blocked for new users that are external by default
Diffstat (limited to 'app')
-rw-r--r-- | app/models/user.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index bcda4564595..ed70a50a514 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 |