diff options
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/gpg_key.rb | 8 | ||||
-rw-r--r-- | app/models/user.rb | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/app/models/gpg_key.rb b/app/models/gpg_key.rb index 6ca108d6b87..ec30658e7ea 100644 --- a/app/models/gpg_key.rb +++ b/app/models/gpg_key.rb @@ -53,6 +53,10 @@ class GpgKey < ActiveRecord::Base emails_with_verified_status.any? { |_email, verified| verified } end + def update_invalid_gpg_signatures + Gitlab::Gpg::InvalidGpgSignatureUpdater.new(self).run + end + private def extract_fingerprint @@ -67,10 +71,6 @@ class GpgKey < ActiveRecord::Base self.primary_keyid = Gitlab::Gpg.primary_keyids_from_key(key).first end - def update_invalid_gpg_signatures - run_after_commit { Gitlab::Gpg::InvalidGpgSignatureUpdater.new(self).run } - end - def notify_user run_after_commit { NotificationService.new.new_gpg_key(self) } end diff --git a/app/models/user.rb b/app/models/user.rb index 5aebd36cf8a..791d099605d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -155,6 +155,7 @@ class User < ActiveRecord::Base before_validation :set_public_email, if: :public_email_changed? after_update :update_emails_with_primary_email, if: :email_changed? + after_update :update_invalid_gpg_signatures, if: :email_changed? before_save :ensure_authentication_token, :ensure_incoming_email_token before_save :ensure_user_rights_and_limits, if: :external_changed? after_save :ensure_namespace_correct @@ -513,6 +514,10 @@ class User < ActiveRecord::Base end end + def update_invalid_gpg_signatures + gpg_keys.each(&:update_invalid_gpg_signatures) + end + # Returns the groups a user has access to def authorized_groups union = Gitlab::SQL::Union |