Commit 1efe1054 authored by Phil Hughes's avatar Phil Hughes Committed by Robert Speicher

SSH keys settings

Closes #13860
parent ba869ae5
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
* *
*/ */
.well-list { .well-list {
position: relative;
margin: 0; margin: 0;
padding: 0; padding: 0;
list-style: none; list-style: none;
......
...@@ -145,3 +145,13 @@ ...@@ -145,3 +145,13 @@
width: auto; width: auto;
} }
} }
.key-icon {
color: #8F8F8F;
font-size: 18px;
line-height: 42px;
}
.key-created-at {
line-height: 42px;
}
...@@ -3,6 +3,7 @@ class Profiles::KeysController < Profiles::ApplicationController ...@@ -3,6 +3,7 @@ class Profiles::KeysController < Profiles::ApplicationController
def index def index
@keys = current_user.keys @keys = current_user.keys
@key = flash[:key] || Key.new
end end
def show def show
...@@ -10,7 +11,7 @@ class Profiles::KeysController < Profiles::ApplicationController ...@@ -10,7 +11,7 @@ class Profiles::KeysController < Profiles::ApplicationController
end end
def new def new
@key = current_user.keys.new redirect_to profile_keys_path
end end
def create def create
...@@ -19,7 +20,7 @@ class Profiles::KeysController < Profiles::ApplicationController ...@@ -19,7 +20,7 @@ class Profiles::KeysController < Profiles::ApplicationController
if @key.save if @key.save
redirect_to profile_key_path(@key) redirect_to profile_key_path(@key)
else else
render 'new' redirect_to profile_keys_path, flash: {key: @key}
end end
end end
......
%div %div
= form_for [:profile, @key], html: { class: 'form-horizontal js-requires-input' } do |f| = form_for [:profile, @key], html: { class: 'js-requires-input' } do |f|
- if @key.errors.any? - if @key.errors.any?
.alert.alert-danger .alert.alert-danger
%ul %ul
...@@ -7,13 +7,11 @@ ...@@ -7,13 +7,11 @@
%li= msg %li= msg
.form-group .form-group
= f.label :key, class: 'control-label' = f.label :key, class: 'label-light'
.col-sm-10 = f.text_area :key, class: "form-control", rows: 8, required: true
= f.text_area :key, class: "form-control", rows: 8, autofocus: true, required: true
.form-group .form-group
= f.label :title, class: 'control-label' = f.label :title, class: 'label-light'
.col-sm-10= f.text_field :title, class: "form-control", required: true = f.text_field :title, class: "form-control", required: true
.form-actions .prepend-top-default
= f.submit 'Add key', class: "btn btn-create" = f.submit 'Add key', class: "btn btn-create"
= link_to "Cancel", profile_keys_path, class: "btn btn-cancel"
%tr %li.key-list-item
%td .pull-left.append-right-10
= link_to path_to_key(key, is_admin) do = icon 'key', class: "key-icon"
%strong= key.title .pull-left
%td = link_to path_to_key(key, is_admin), class: "title" do
%code.key-fingerprint= key.fingerprint = key.title
%td .description
%span.cgray = key.fingerprint
added #{time_ago_with_tooltip(key.created_at)} .pull-right
%td %span.key-created-at
= link_to 'Remove', path_to_key(key, is_admin), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-sm btn-remove delete-key pull-right" created #{time_ago_with_tooltip(key.created_at)} ago
= link_to path_to_key(key, is_admin), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-transparent prepend-left-10" do
%span.sr-only Remove
= icon('trash')
- is_admin = defined?(admin) ? true : false - is_admin = defined?(admin) ? true : false
.row .row.prepend-top-default
.col-md-4 .col-md-4
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
......
- is_admin = defined?(admin) ? true : false - is_admin = defined?(admin) ? true : false
- if @keys.any? - if @keys.any?
.table-holder %ul.well-list
%table.table
%thead.panel-heading
%tr
%th Title
%th Fingerprint
%th Added at
%th
%tbody
- @keys.each do |key| - @keys.each do |key|
= render 'profiles/keys/key', key: key, is_admin: is_admin = render 'profiles/keys/key', key: key, is_admin: is_admin
- else
.nothing-here-block
- if is_admin
User has no ssh keys
- else
There are no SSH keys with access to your account.
- page_title "SSH Keys" - page_title "SSH Keys"
- header_title page_title, profile_keys_path - header_title page_title, profile_keys_path
- is_admin = defined?(admin) ? true : false
.top-area .row.prepend-top-default
.nav-text .col-lg-3.profile-settings-sidebar
%h4.prepend-top-0
= page_title
%p
SSH keys allow you to establish a secure connection between your computer and GitLab.
.col-lg-9
%h5.prepend-top-0
Add an SSH key
%p
Before you can add an SSH key you need to Before you can add an SSH key you need to
= link_to "generate it.", help_page_path("ssh", "README") = link_to "generate it.", help_page_path("ssh", "README")
.nav-controls = render 'form'
= link_to new_profile_key_path, class: "btn btn-new" do %hr
= icon('plus') %h5
Add SSH Key Your SSH keys (#{@keys.count})
%div.append-bottom-default
.prepend-top-default - if @keys.any?
= render 'key_table' = render 'key_table'
- else
%p.profile-settings-message.text-center
- if is_admin
User has no ssh keys
- else
There are no SSH keys with access to your account.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment