diff options
author | Alexis Reigel <mail@koffeinfrei.org> | 2017-02-24 21:28:26 +0100 |
---|---|---|
committer | Alexis Reigel <mail@koffeinfrei.org> | 2017-07-27 15:40:41 +0200 |
commit | f0fe1b9d4397e6c1c6aa2da6e371e234db774fe2 (patch) | |
tree | d7d35a328b4aa6fe0535a57554e0996d1deb6c1b /app/models/gpg_key.rb | |
parent | 0668521b2b8ed32f4a3f192a8ad04c64f6c1c0cd (diff) | |
download | gitlab-ce-f0fe1b9d4397e6c1c6aa2da6e371e234db774fe2.tar.gz |
gpg email verification
Diffstat (limited to 'app/models/gpg_key.rb')
-rw-r--r-- | app/models/gpg_key.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/app/models/gpg_key.rb b/app/models/gpg_key.rb index 1101dbae4a9..04c7ce2e79f 100644 --- a/app/models/gpg_key.rb +++ b/app/models/gpg_key.rb @@ -31,6 +31,18 @@ class GpgKey < ActiveRecord::Base Gitlab::Gpg::CurrentKeyChain.emails(fingerprint) end + def emails_with_verified_status + emails_in_key_chain = emails + emails_from_key = Gitlab::Gpg.emails_from_key(key) + + emails_from_key.map do |email| + [ + email, + email == user.email && emails_in_key_chain.include?(email) + ] + end + end + private def extract_fingerprint @@ -40,6 +52,10 @@ class GpgKey < ActiveRecord::Base end def add_to_keychain + emails_from_key = Gitlab::Gpg.emails_from_key(key) + + return unless emails_from_key.include?(user.email) + Gitlab::Gpg::CurrentKeyChain.add(key) end |