diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2017-11-01 13:34:39 +0100 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2017-11-03 11:01:09 +0100 |
commit | 556a33a6ab4eb05801a96c9669074eab622e4e90 (patch) | |
tree | 209c41d921061835090d74b19616d0f0a3270c4d /app/models/user.rb | |
parent | cc32b894c95ff62fcddc6f6babe4ac97894bba95 (diff) | |
download | gitlab-ce-winh-namespace-rename-hooks.tar.gz |
Add system hooks user_rename and group_renamewinh-namespace-rename-hooks
Diffstat (limited to 'app/models/user.rb')
-rw-r--r-- | app/models/user.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 9459b6d4fa4..f02bacbfaa9 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -168,6 +168,7 @@ class User < ActiveRecord::Base 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 + after_save :username_changed_hook, if: :has_username_changed? after_destroy :post_destroy_hook after_commit :update_emails_with_primary_email, on: :update, if: -> { previous_changes.key?('email') } after_commit :update_invalid_gpg_signatures, on: :update, if: -> { previous_changes.key?('email') } @@ -873,6 +874,14 @@ class User < ActiveRecord::Base end end + def has_username_changed? + username_changed? && !username_was.nil? + end + + def username_changed_hook + system_hook_service.execute_hooks_for(self, :rename) + end + def post_destroy_hook log_info("User \"#{name}\" (#{email}) was removed") system_hook_service.execute_hooks_for(self, :destroy) |