diff --git a/app/models/key.rb b/app/models/key.rb index f1c9e42f..0c01edcb 100644 --- a/app/models/key.rb +++ b/app/models/key.rb @@ -81,7 +81,7 @@ class Key < ActiveRecord::Base Key.where(identifier: identifier).count == 0 end - def owner_name - user.username + def shell_id + "key-#{self.id}" end end diff --git a/app/observers/key_observer.rb b/app/observers/key_observer.rb index ad371d30..4146216d 100644 --- a/app/observers/key_observer.rb +++ b/app/observers/key_observer.rb @@ -4,7 +4,7 @@ class KeyObserver < ActiveRecord::Observer def after_save(key) GitoliteWorker.perform_async( :add_key, - key.owner_name, + key.shell_id, key.key ) end @@ -12,7 +12,7 @@ class KeyObserver < ActiveRecord::Observer def after_destroy(key) GitoliteWorker.perform_async( :remove_key, - key.owner_name, + key.shell_id, key.key, ) end diff --git a/lib/gitlab/backend/shell.rb b/lib/gitlab/backend/shell.rb index c596148b..50ebfc5b 100644 --- a/lib/gitlab/backend/shell.rb +++ b/lib/gitlab/backend/shell.rb @@ -27,19 +27,19 @@ module Gitlab # Add new key to gitlab-shell # # Ex. - # add_key("randx", "sha-rsa ...") + # add_key("key-42", "sha-rsa ...") # - def add_key(username, key_content) - system("/home/git/gitlab-shell/bin/gitlab-keys add-key #{username} \"#{key_content}\"") + def add_key(key_id, key_content) + system("/home/git/gitlab-shell/bin/gitlab-keys add-key #{key_id} \"#{key_content}\"") end # Remove ssh key from gitlab shell # # Ex. - # remove_key("sha-rsa") + # remove_key("key-342", "sha-rsa ...") # - def remove_key(username, key_content) - system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{username} \"#{key_content}\"") + def remove_key(key_id, key_content) + system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{key_id} \"#{key_content}\"") end