admin UI for managing ip pools & ip addresses

This commit is contained in:
Adam Cooke
2017-04-21 11:09:31 +01:00
parent 6eb425eaed
commit c09c501ef4
11 changed files with 232 additions and 0 deletions
@@ -0,0 +1,39 @@
class IPAddressesController < ApplicationController
before_action :admin_required
before_action { @ip_pool = IPPool.find_by_uuid!(params[:ip_pool_id]) }
before_action { params[:id] && @ip_address = @ip_pool.ip_addresses.find(params[:id]) }
def new
@ip_address = @ip_pool.ip_addresses.build
end
def create
@ip_address = @ip_pool.ip_addresses.build(safe_params)
if @ip_address.save
redirect_to_with_json [:edit, @ip_pool]
else
render_form_errors 'new', @ip_address
end
end
def update
if @ip_address.update(safe_params)
redirect_to_with_json [:edit, @ip_pool]
else
render_form_errors 'edit', @ip_address
end
end
def destroy
@ip_address.destroy
redirect_to_with_json [:edit, @ip_pool]
end
private
def safe_params
params.require(:ip_address).permit(:ipv4, :ipv6, :hostname)
end
end