Commit 58785e50 authored by Gabriel Mazetto's avatar Gabriel Mazetto

Added public key to gitlab geo admin screen

parent 576412e4
...@@ -2,10 +2,14 @@ class Admin::GeoNodesController < Admin::ApplicationController ...@@ -2,10 +2,14 @@ class Admin::GeoNodesController < Admin::ApplicationController
def index def index
@nodes = GeoNode.all @nodes = GeoNode.all
@node = GeoNode.new @node = GeoNode.new
@node.build_geo_node_key
end end
def create def create
@node = GeoNode.new(geo_node_params) @node = GeoNode.new
@node.build_geo_node_key
@node.attributes = geo_node_params
@node.geo_node_key.title = "Geo node: #{@node.url}"
if @node.save if @node.save
redirect_to admin_geo_nodes_path, notice: 'Node was successfully created.' redirect_to admin_geo_nodes_path, notice: 'Node was successfully created.'
...@@ -23,6 +27,6 @@ class Admin::GeoNodesController < Admin::ApplicationController ...@@ -23,6 +27,6 @@ class Admin::GeoNodesController < Admin::ApplicationController
end end
def geo_node_params def geo_node_params
params.require(:geo_node).permit(:url, :host, :port, :primary, :relative_url_root, :schema) params.require(:geo_node).permit(:url, :primary, geo_node_key_attributes: [:key])
end end
end end
...@@ -18,6 +18,8 @@ class GeoNode < ActiveRecord::Base ...@@ -18,6 +18,8 @@ class GeoNode < ActiveRecord::Base
default_value_for :relative_url_root, '' default_value_for :relative_url_root, ''
default_value_for :primary, false default_value_for :primary, false
accepts_nested_attributes_for :geo_node_key
validates :host, host: true, presence: true, uniqueness: { case_sensitive: false, scope: :port } validates :host, host: true, presence: true, uniqueness: { case_sensitive: false, scope: :port }
validates :primary, uniqueness: { message: 'primary node already exists' }, if: :primary validates :primary, uniqueness: { message: 'primary node already exists' }, if: :primary
validates :schema, inclusion: %w(http https) validates :schema, inclusion: %w(http https)
......
...@@ -18,6 +18,11 @@ ...@@ -18,6 +18,11 @@
= f.label :url, 'URL:', class: 'control-label' = f.label :url, 'URL:', class: 'control-label'
.col-sm-10 .col-sm-10
= f.text_field :url, class: 'form-control' = f.text_field :url, class: 'form-control'
= f.fields_for :geo_node_key, @node.geo_node_key do |fg|
.form-group
= fg.label :key, 'Public Key', class: 'control-label'
.col-sm-10
= fg.text_area :key, class: 'form-control'
.form-group .form-group
= f.label :primary, 'Primary', class: 'control-label checkbox' = f.label :primary, 'Primary', class: 'control-label checkbox'
.col-sm-10 .col-sm-10
......
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