summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/gpg_key.rb8
-rw-r--r--app/models/user.rb5
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