Class: ForemanDatacenter::SitesController
- Inherits:
-
ApplicationController
show all
- Includes:
- Foreman::Controller::AutoCompleteSearch, Controller::Parameters::Site
- Defined in:
- app/controllers/foreman_datacenter/sites_controller.rb
Instance Method Summary
collapse
#action_permission, #controller_permission, #find_resource, #not_found, #resource_class, #resource_class_for, #resource_finder, #resource_name, #resource_scope, #scope_for
Instance Method Details
#create ⇒ Object
19
20
21
22
23
24
25
26
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 19
def create
@site = ForemanDatacenter::Site.new(site_params)
if @site.save
process_success object: @site
else
process_error object: @site
end
end
|
#destroy ⇒ Object
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 36
def destroy
unless params['object_only']
@site.racks.each { |r| r.devices.each { |d| d.destroy } }
@site.rack_groups.delete_all(:delete_all)
@site.racks.delete_all(:delete_all)
else
@site.rack_groups.delete_all(:nullify)
@site.racks.delete_all(:nullify)
end
if @site.destroy
process_success success_redirect: sites_path
else
process_error object: @site
end
end
|
#edit ⇒ Object
16
17
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 16
def edit
end
|
#index ⇒ Object
8
9
10
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 8
def index
@sites = resource_base_search_and_page
end
|
#move ⇒ Object
59
60
61
62
63
64
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 59
def move
@sites = resource_base_search_and_page
@rack_groups = @site.rack_groups
@racks = @site.racks
process_error object: @site, error_msg: 'Current site haven\'t any Racks/RackGroups.' if (@racks.empty? && @rack_groups.empty?)
end
|
#new ⇒ Object
12
13
14
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 12
def new
@site = ForemanDatacenter::Site.new
end
|
#racks ⇒ Object
53
54
55
56
57
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 53
def racks
@rack_groups = @site.rack_groups.includes(racks: [devices: [:device_role]])
@ungrouped_racks = @site.racks.where(rack_group_id: nil) process_error redirect: site_path(@site), error_msg: 'Current site haven\'t any Racks.' if (@rack_groups.empty? && @ungrouped_racks.empty?)
end
|
#update ⇒ Object
28
29
30
31
32
33
34
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 28
def update
if @site.update(site_params)
process_success object: @site
else
process_error object: @site
end
end
|
#update_associated_objects ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'app/controllers/foreman_datacenter/sites_controller.rb', line 66
def update_associated_objects
begin
@site = ForemanDatacenter::Site.find(request.env['HTTP_REFERER'].split('/')[-2])
@rack_groups = @site.rack_groups
@racks = @site.racks
@racks.update_all(site_id: params[:site_id])
@rack_groups.update_all(site_id: params[:site_id])
process_success success_redirect: sites_path, success_msg: 'Associated objects successfully moved.'
rescue => e
process_error object: @site, error_msg: "#{e}"
end
end
|