foreman_datacenter 1.19.7 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/foreman_datacenter/modal.js +9 -22
- data/app/assets/stylesheets/foreman_datacenter/datacenter.css +0 -3
- data/app/assets/stylesheets/foreman_datacenter/device_roles.css +0 -32
- data/app/controllers/api/v2/foreman_datacenter/device_interfaces_controller.rb +1 -1
- data/app/controllers/api/v2/foreman_datacenter/devices_controller.rb +1 -1
- data/app/controllers/api/v2/foreman_datacenter/management_devices_controller.rb +1 -1
- data/app/controllers/api/v2/foreman_datacenter/power_outlets_controller.rb +35 -35
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/comment.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_port.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_port_template.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_server_port.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_server_port_template.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_bay.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_bay_template.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_interface.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_interface_connection.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_module.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_role.rb +1 -1
- data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_type.rb +1 -1
- data/app/controllers/foreman_datacenter/application_controller.rb +0 -2
- data/app/controllers/foreman_datacenter/console_ports_controller.rb +4 -2
- data/app/controllers/foreman_datacenter/console_server_ports_controller.rb +10 -5
- data/app/controllers/foreman_datacenter/device_bays_controller.rb +10 -5
- data/app/controllers/foreman_datacenter/device_interface_connections_controller.rb +4 -7
- data/app/controllers/foreman_datacenter/device_interfaces_controller.rb +6 -3
- data/app/controllers/foreman_datacenter/device_modules_controller.rb +7 -3
- data/app/controllers/foreman_datacenter/device_types_controller.rb +2 -1
- data/app/controllers/foreman_datacenter/devices_controller.rb +25 -8
- data/app/controllers/foreman_datacenter/management_devices_controller.rb +6 -3
- data/app/controllers/foreman_datacenter/power_outlets_controller.rb +10 -5
- data/app/controllers/foreman_datacenter/power_ports_controller.rb +10 -5
- data/app/controllers/foreman_datacenter/rack_groups_controller.rb +1 -6
- data/app/controllers/foreman_datacenter/sites_controller.rb +1 -7
- data/app/models/foreman_datacenter/device.rb +0 -1
- data/app/models/foreman_datacenter/device_interface_connection.rb +2 -2
- data/app/models/foreman_datacenter/site.rb +0 -1
- data/app/views/foreman_datacenter/console_ports/index.html.erb +5 -27
- data/app/views/foreman_datacenter/device_interface_connections/index.html.erb +3 -23
- data/app/views/foreman_datacenter/device_roles/index.html.erb +1 -1
- data/app/views/foreman_datacenter/device_roles/show.html.erb +1 -1
- data/app/views/foreman_datacenter/device_types/index.html.erb +1 -1
- data/app/views/foreman_datacenter/device_types/show.html.erb +1 -1
- data/app/views/foreman_datacenter/devices/_interface.html.erb +3 -17
- data/app/views/foreman_datacenter/devices/index.html.erb +1 -1
- data/app/views/foreman_datacenter/devices/show.html.erb +1 -4
- data/app/views/foreman_datacenter/manufacturers/index.html.erb +1 -1
- data/app/views/foreman_datacenter/manufacturers/show.html.erb +1 -1
- data/app/views/foreman_datacenter/platforms/index.html.erb +1 -1
- data/app/views/foreman_datacenter/platforms/show.html.erb +8 -8
- data/app/views/foreman_datacenter/rack_groups/show.html.erb +1 -4
- data/app/views/foreman_datacenter/rack_groups/welcome.html.erb +0 -2
- data/app/views/foreman_datacenter/racks/_device_position.html.erb +3 -21
- data/app/views/foreman_datacenter/racks/_device_position.html.erb.back +28 -0
- data/app/views/foreman_datacenter/racks/_unpositioned_devices.html.erb +1 -1
- data/app/views/foreman_datacenter/racks/welcome.html.erb +0 -2
- data/app/views/foreman_datacenter/sites/show.html.erb +1 -4
- data/config/routes.rb +0 -2
- data/lib/foreman_datacenter/engine.rb +2 -2
- data/lib/foreman_datacenter/version.rb +1 -1
- metadata +4 -8
- data/app/assets/stylesheets/foreman_datacenter/horizontal-scroll.css +0 -9
- data/app/controllers/concerns/foreman_datacenter/controller/racks.rb +0 -10
- data/app/views/foreman_datacenter/rack_groups/racks.html.erb +0 -18
- data/app/views/foreman_datacenter/racks/_dp.html.erb +0 -46
- data/app/views/foreman_datacenter/sites/racks.html.erb +0 -36
@@ -3,10 +3,10 @@ module ForemanDatacenter
|
|
3
3
|
include Foreman::Controller::AutoCompleteSearch
|
4
4
|
include ForemanDatacenter::Controller::Parameters::DeviceInterfaceConnection
|
5
5
|
|
6
|
-
before_action :find_resource, only: [:destroy, :planned, :connected
|
6
|
+
before_action :find_resource, only: [:destroy, :planned, :connected]
|
7
7
|
|
8
8
|
def index
|
9
|
-
@device_interface_connections = resource_base_search_and_page.includes(second_interface
|
9
|
+
@device_interface_connections = resource_base_search_and_page.includes(:second_interface, first_interface: [:device])
|
10
10
|
end
|
11
11
|
|
12
12
|
def new
|
@@ -15,16 +15,13 @@ module ForemanDatacenter
|
|
15
15
|
)
|
16
16
|
end
|
17
17
|
|
18
|
-
def edit
|
19
|
-
@device = @device_interface_connection.first_device
|
20
|
-
end
|
21
|
-
|
22
18
|
def create
|
23
19
|
@device_interface_connection = ForemanDatacenter::DeviceInterfaceConnection.new(device_interface_connection_params.merge(interface_a: params[:device_interface_id]))
|
24
20
|
@device_interface_connection.first_interface = get_device_interface
|
25
21
|
|
26
22
|
if @device_interface_connection.save
|
27
|
-
|
23
|
+
redirect_to device_url(@device_interface_connection.first_interface.device),
|
24
|
+
notice: 'Connection was successfully created.'
|
28
25
|
else
|
29
26
|
process_error object: @device_interface_connection
|
30
27
|
end
|
@@ -28,7 +28,8 @@ module ForemanDatacenter
|
|
28
28
|
@device_interface = ForemanDatacenter::DeviceInterface.new(device_interface_params.merge(device_id: params[:device_id]))
|
29
29
|
|
30
30
|
if @device_interface.save
|
31
|
-
|
31
|
+
redirect_to device_url(id: @device_interface.device_id),
|
32
|
+
notice: 'Device interface was successfully created.'
|
32
33
|
else
|
33
34
|
process_error object: @device_interface
|
34
35
|
end
|
@@ -36,7 +37,8 @@ module ForemanDatacenter
|
|
36
37
|
|
37
38
|
def update
|
38
39
|
if @device_interface.update(device_interface_params)
|
39
|
-
|
40
|
+
redirect_to device_url(id: @device_interface.device_id),
|
41
|
+
notice: 'Device interface was successfully updated.'
|
40
42
|
else
|
41
43
|
process_error object: @device_interface
|
42
44
|
end
|
@@ -44,7 +46,8 @@ module ForemanDatacenter
|
|
44
46
|
|
45
47
|
def destroy
|
46
48
|
if @device_interface.destroy
|
47
|
-
|
49
|
+
redirect_to device_url(id: @device_interface.device_id),
|
50
|
+
notice: 'Device interface was successfully destroyed.'
|
48
51
|
else
|
49
52
|
process_error object: @device_interface
|
50
53
|
end
|
@@ -15,8 +15,10 @@ module ForemanDatacenter
|
|
15
15
|
|
16
16
|
def create
|
17
17
|
@device_module = ForemanDatacenter::DeviceModule.new(device_module_params.merge(device_id: params[:device_id]))
|
18
|
+
|
18
19
|
if @device_module.save
|
19
|
-
|
20
|
+
redirect_to inventory_device_url(id: @device_module.device_id),
|
21
|
+
notice: 'Device module was successfully created.'
|
20
22
|
else
|
21
23
|
process_error object: @device_module
|
22
24
|
end
|
@@ -24,7 +26,8 @@ module ForemanDatacenter
|
|
24
26
|
|
25
27
|
def update
|
26
28
|
if @device_module.update(device_module_params)
|
27
|
-
|
29
|
+
redirect_to inventory_device_url(id: @device_module.device_id),
|
30
|
+
notice: 'Device module was successfully updated.'
|
28
31
|
else
|
29
32
|
process_error object: @device_module
|
30
33
|
end
|
@@ -32,7 +35,8 @@ module ForemanDatacenter
|
|
32
35
|
|
33
36
|
def destroy
|
34
37
|
if @device_module.destroy
|
35
|
-
|
38
|
+
redirect_to inventory_device_url(id: @device_module.device_id),
|
39
|
+
notice: 'Device module was successfully destroyed.'
|
36
40
|
else
|
37
41
|
process_error object: @device_module
|
38
42
|
end
|
@@ -33,7 +33,8 @@ module ForemanDatacenter
|
|
33
33
|
|
34
34
|
def update
|
35
35
|
if @device_type.update(device_type_params)
|
36
|
-
|
36
|
+
redirect_to device_type_url(@device_type),
|
37
|
+
notice: 'Device type was successfully updated'
|
37
38
|
else
|
38
39
|
process_error object: @device_type
|
39
40
|
end
|
@@ -17,8 +17,11 @@ module ForemanDatacenter
|
|
17
17
|
|
18
18
|
def show
|
19
19
|
@device = ForemanDatacenter::Device.includes(
|
20
|
-
power_ports: [:power_outlet],
|
21
|
-
|
20
|
+
power_ports: [:power_outlet, :device],
|
21
|
+
power_outlets: [:device, :power_port],
|
22
|
+
console_ports: [:console_server_port, :device],
|
23
|
+
console_server_ports: [:console_port, :device],
|
24
|
+
device_bays: [:installed_device],
|
22
25
|
comments: [:user]
|
23
26
|
).find(params[:id])
|
24
27
|
@comments = @device.comments
|
@@ -60,10 +63,21 @@ module ForemanDatacenter
|
|
60
63
|
end
|
61
64
|
|
62
65
|
def destroy
|
63
|
-
|
64
|
-
|
66
|
+
unless params['object_only']
|
67
|
+
if @device.destroy
|
68
|
+
process_success success_redirect: "/datacenter/devices"
|
69
|
+
else
|
70
|
+
process_error object: @device
|
71
|
+
end
|
65
72
|
else
|
66
|
-
|
73
|
+
if @device.host
|
74
|
+
@device.host.destroy
|
75
|
+
new_device_name = "Unassigned device (former: #{@device.name})"
|
76
|
+
@device.update(name: new_device_name)
|
77
|
+
process_success success_redirect: '/datacenter/devices', success_msg: 'Associated host deleted'
|
78
|
+
else
|
79
|
+
process_error success_redirect: '/datacenter/devices', error_msg: 'Associated host not found'
|
80
|
+
end
|
67
81
|
end
|
68
82
|
end
|
69
83
|
|
@@ -96,7 +110,7 @@ module ForemanDatacenter
|
|
96
110
|
@device.non_management_interfaces.
|
97
111
|
where(id: params[:interfaces]).
|
98
112
|
destroy_all
|
99
|
-
|
113
|
+
redirect_to device_url(@device)
|
100
114
|
end
|
101
115
|
|
102
116
|
def qr_code
|
@@ -107,9 +121,11 @@ module ForemanDatacenter
|
|
107
121
|
|
108
122
|
def sync_interfaces_with_host
|
109
123
|
if @device.sync_interfaces_with_host
|
110
|
-
|
124
|
+
notice("Device successfully synchronized.")
|
125
|
+
redirect_to device_url(@device)
|
111
126
|
else
|
112
|
-
|
127
|
+
error("Unsuccessful synchronization.")
|
128
|
+
redirect_to device_url(@device)
|
113
129
|
end
|
114
130
|
end
|
115
131
|
|
@@ -138,3 +154,4 @@ module ForemanDatacenter
|
|
138
154
|
end
|
139
155
|
end
|
140
156
|
end
|
157
|
+
|
@@ -16,7 +16,8 @@ module ForemanDatacenter
|
|
16
16
|
@management_device = ManagementDevice.new(management_device_params.merge(device_id: params[:device_id]))
|
17
17
|
|
18
18
|
if @management_device.save
|
19
|
-
|
19
|
+
redirect_to device_url(@management_device.device),
|
20
|
+
notice: 'New management device was successfully created'
|
20
21
|
else
|
21
22
|
process_error object: @management_device
|
22
23
|
end
|
@@ -24,7 +25,8 @@ module ForemanDatacenter
|
|
24
25
|
|
25
26
|
def update
|
26
27
|
if @management_device.update(management_device_params)
|
27
|
-
|
28
|
+
redirect_to device_url(@management_device.device),
|
29
|
+
notice: 'Management device was successfully updated'
|
28
30
|
else
|
29
31
|
process_error object: @management_device
|
30
32
|
end
|
@@ -32,7 +34,8 @@ module ForemanDatacenter
|
|
32
34
|
|
33
35
|
def destroy
|
34
36
|
if @management_device.destroy
|
35
|
-
|
37
|
+
redirect_to device_url(@management_device.device),
|
38
|
+
notice: 'Management device was successfully destroyed'
|
36
39
|
else
|
37
40
|
process_error object: @management_device
|
38
41
|
end
|
@@ -18,7 +18,8 @@ module ForemanDatacenter
|
|
18
18
|
@power_outlet = PowerOutlet.new(power_outlet_params.merge(device_id: params[:device_id]))
|
19
19
|
|
20
20
|
if @power_outlet.save
|
21
|
-
|
21
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
22
|
+
notice: 'Power outlet was successfully created.'
|
22
23
|
else
|
23
24
|
process_error object: @power_outlet
|
24
25
|
end
|
@@ -26,7 +27,8 @@ module ForemanDatacenter
|
|
26
27
|
|
27
28
|
def update
|
28
29
|
if @power_outlet.update(power_outlet_params)
|
29
|
-
|
30
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
31
|
+
notice: 'Power outlet was successfully updated.'
|
30
32
|
else
|
31
33
|
process_error object: @power_outlet
|
32
34
|
end
|
@@ -34,7 +36,8 @@ module ForemanDatacenter
|
|
34
36
|
|
35
37
|
def destroy
|
36
38
|
if @power_outlet.destroy
|
37
|
-
|
39
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
40
|
+
notice: 'Power outlet was successfully destroyed.'
|
38
41
|
else
|
39
42
|
process_error object: @power_outlet
|
40
43
|
end
|
@@ -49,12 +52,14 @@ module ForemanDatacenter
|
|
49
52
|
@power_outlet,
|
50
53
|
params[:power_port][:connection_status]
|
51
54
|
)
|
52
|
-
|
55
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
56
|
+
notice: 'Power outlet was successfully connected.'
|
53
57
|
end
|
54
58
|
|
55
59
|
def disconnect
|
56
60
|
@power_outlet.power_port.disconnect
|
57
|
-
|
61
|
+
redirect_to device_url(id: @power_outlet.device_id),
|
62
|
+
notice: 'Power outlet was successfully disconnected.'
|
58
63
|
end
|
59
64
|
|
60
65
|
def for_device
|
@@ -24,7 +24,8 @@ module ForemanDatacenter
|
|
24
24
|
@power_port = ForemanDatacenter::PowerPort.new(power_port_params.merge(device_id: params[:device_id]))
|
25
25
|
|
26
26
|
if @power_port.save
|
27
|
-
|
27
|
+
redirect_to device_url(id: @power_port.device_id),
|
28
|
+
notice: 'Power port was successfully created.'
|
28
29
|
else
|
29
30
|
process_error object: @power_port
|
30
31
|
end
|
@@ -32,7 +33,8 @@ module ForemanDatacenter
|
|
32
33
|
|
33
34
|
def update
|
34
35
|
if @power_port.update(power_port_params)
|
35
|
-
|
36
|
+
redirect_to device_url(id: @power_port.device_id),
|
37
|
+
notice: 'Power port was successfully updated.'
|
36
38
|
else
|
37
39
|
process_error object: @power_port
|
38
40
|
end
|
@@ -40,7 +42,8 @@ module ForemanDatacenter
|
|
40
42
|
|
41
43
|
def destroy
|
42
44
|
if @power_port.destroy
|
43
|
-
|
45
|
+
redirect_to device_url(id: @power_port.device_id),
|
46
|
+
notice: 'Power port was successfully destroyed.'
|
44
47
|
else
|
45
48
|
process_error object: @power_port
|
46
49
|
end
|
@@ -70,12 +73,14 @@ module ForemanDatacenter
|
|
70
73
|
power_outlet,
|
71
74
|
params[:power_port][:connection_status]
|
72
75
|
)
|
73
|
-
|
76
|
+
redirect_to device_url(id: @power_port.device_id),
|
77
|
+
notice: 'Power port was successfully connected.'
|
74
78
|
end
|
75
79
|
|
76
80
|
def disconnect
|
77
81
|
@power_port.disconnect
|
78
|
-
|
82
|
+
redirect_to device_url(id: @power_port.device_id),
|
83
|
+
notice: 'Power port was successfully disconnected.'
|
79
84
|
end
|
80
85
|
end
|
81
86
|
end
|
@@ -3,7 +3,7 @@ module ForemanDatacenter
|
|
3
3
|
include Foreman::Controller::AutoCompleteSearch
|
4
4
|
include ForemanDatacenter::Controller::Parameters::RackGroup
|
5
5
|
|
6
|
-
before_action :find_resource, only: [:show, :edit, :update, :destroy, :move
|
6
|
+
before_action :find_resource, only: [:show, :edit, :update, :destroy, :move]
|
7
7
|
|
8
8
|
def index
|
9
9
|
@rack_groups = resource_base_search_and_page.includes(:site, :racks)
|
@@ -58,11 +58,6 @@ module ForemanDatacenter
|
|
58
58
|
process_error object: @rack_group, error_msg: 'Current Rack Group haven\'t any Racks.' if @racks.empty?
|
59
59
|
end
|
60
60
|
|
61
|
-
def racks
|
62
|
-
@racks = @rack_group.racks.includes(devices: [:device_role])
|
63
|
-
process_error redirect: rack_groups_path(@rack_group), error_msg: 'Current Rack Group haven\'t any Racks.' if @racks.empty?
|
64
|
-
end
|
65
|
-
|
66
61
|
def update_associated_objects
|
67
62
|
begin
|
68
63
|
@rack_group = ForemanDatacenter::RackGroup.find(request.env['HTTP_REFERER'].split('/')[-2])
|
@@ -3,7 +3,7 @@ module ForemanDatacenter
|
|
3
3
|
include Foreman::Controller::AutoCompleteSearch
|
4
4
|
include ForemanDatacenter::Controller::Parameters::Site
|
5
5
|
|
6
|
-
before_action :find_resource, only: [:show, :edit, :update, :destroy, :move
|
6
|
+
before_action :find_resource, only: [:show, :edit, :update, :destroy, :move]
|
7
7
|
|
8
8
|
def index
|
9
9
|
@sites = resource_base_search_and_page
|
@@ -50,12 +50,6 @@ module ForemanDatacenter
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
def racks
|
54
|
-
@rack_groups = @site.rack_groups.includes(racks: [devices: [:device_role]])
|
55
|
-
@ungrouped_racks = @site.racks.where(rack_group_id: nil)#.includes(:device_role)
|
56
|
-
process_error redirect: site_path(@site), error_msg: 'Current site haven\'t any Racks.' if (@rack_groups.empty? && @ungrouped_racks.empty?)
|
57
|
-
end
|
58
|
-
|
59
53
|
def move
|
60
54
|
@sites = resource_base_search_and_page
|
61
55
|
@rack_groups = @site.rack_groups
|
@@ -51,7 +51,6 @@ module ForemanDatacenter
|
|
51
51
|
scoped_search in: :device_role, on: :name, complete_value: true, rename: :role
|
52
52
|
scoped_search in: :device_type, on: :model, complete_value: true, rename: :type
|
53
53
|
scoped_search in: :platform, on: :name, complete_value: true, rename: :platform
|
54
|
-
scoped_search in: :comments, on: :content, complete_value: true, rename: :comments
|
55
54
|
|
56
55
|
delegate :site_id, to: :rack, allow_nil: true
|
57
56
|
delegate :manufacturer_id, :is_console_server, :is_pdu, :is_network_device,
|
@@ -23,7 +23,7 @@ module ForemanDatacenter
|
|
23
23
|
scoped_search in: :second_interface, on: :name, complete_value: true, rename: :interface_b
|
24
24
|
|
25
25
|
def first_device
|
26
|
-
|
26
|
+
first_interface.device
|
27
27
|
end
|
28
28
|
|
29
29
|
def first_rack
|
@@ -35,7 +35,7 @@ module ForemanDatacenter
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def second_device
|
38
|
-
|
38
|
+
first_interface.device
|
39
39
|
end
|
40
40
|
|
41
41
|
def second_rack
|
@@ -20,7 +20,6 @@ module ForemanDatacenter
|
|
20
20
|
scoped_search on: :shipping_address, complete_value: true, default_order: true
|
21
21
|
scoped_search on: :created_at, complete_value: true, default_order: true
|
22
22
|
scoped_search on: :updated_at, complete_value: true, default_order: true
|
23
|
-
scoped_search on: :comments, complete_value: true, default_order: true
|
24
23
|
|
25
24
|
def racks_count
|
26
25
|
@racks_count ||= racks.count
|
@@ -14,34 +14,12 @@
|
|
14
14
|
<% for port in @console_ports %>
|
15
15
|
<tr>
|
16
16
|
<td>
|
17
|
-
|
18
|
-
|
19
|
-
device_path(port.console_server_port.device) %>
|
20
|
-
<% else %>
|
21
|
-
<%= muted_text("Device not found", "span") %>
|
22
|
-
<% end %>
|
23
|
-
</td>
|
24
|
-
<td>
|
25
|
-
<% if port.console_server_port %>
|
26
|
-
<%= h port.console_server_port.name %>
|
27
|
-
<% else %>
|
28
|
-
<%= muted_text("Port not found", "span") %>
|
29
|
-
<% end %>
|
30
|
-
</td>
|
31
|
-
<td>
|
32
|
-
<% if port.device %>
|
33
|
-
<%= link_to port.device.name, device_path(port.device) %>
|
34
|
-
<% else %>
|
35
|
-
<%= muted_text("Device not found", "span") %>
|
36
|
-
<% end %>
|
37
|
-
</td>
|
38
|
-
<td>
|
39
|
-
<% if port %>
|
40
|
-
<%= h port.name %>
|
41
|
-
<% else %>
|
42
|
-
<%= muted_text("Port not found", "span") %>
|
43
|
-
<% end %>
|
17
|
+
<%= link_to port.console_server_port.device.name,
|
18
|
+
device_path(port.console_server_port.device) %>
|
44
19
|
</td>
|
20
|
+
<td><%= h port.console_server_port.name %></td>
|
21
|
+
<td><%= link_to port.device.name, device_path(port.device) %></td>
|
22
|
+
<td><%= h port.name %></td>
|
45
23
|
</tr>
|
46
24
|
<% end %>
|
47
25
|
</tbody>
|
@@ -15,35 +15,15 @@
|
|
15
15
|
<% for connection in @device_interface_connections %>
|
16
16
|
<tr>
|
17
17
|
<td>
|
18
|
-
|
19
|
-
<%= link_to connection.first_device.name,
|
18
|
+
<%= link_to connection.first_device.name,
|
20
19
|
device_path(connection.first_device) %>
|
21
|
-
<% else %>
|
22
|
-
<%= muted_text("Device not found", "span") %>
|
23
|
-
<% end %>
|
24
20
|
</td>
|
21
|
+
<td><%= h connection.first_interface.name %></td>
|
25
22
|
<td>
|
26
|
-
<% if connection.first_device %>
|
27
|
-
<%= h connection.first_interface.name %>
|
28
|
-
<% else %>
|
29
|
-
<%= muted_text("Interface not found", "span") %>
|
30
|
-
<% end %>
|
31
|
-
</td>
|
32
|
-
<td>
|
33
|
-
<% if connection.second_device %>
|
34
23
|
<%= link_to connection.second_device.name,
|
35
24
|
device_path(connection.second_device) %>
|
36
|
-
<% else %>
|
37
|
-
<%= muted_text("Device not found", "span") %>
|
38
|
-
<% end %>
|
39
|
-
</td>
|
40
|
-
<td>
|
41
|
-
<% if connection.second_device %>
|
42
|
-
<%= h connection.second_interface.name %>
|
43
|
-
<% else %>
|
44
|
-
<%= muted_text("Interface not found", "span") %>
|
45
|
-
<% end %>
|
46
25
|
</td>
|
26
|
+
<td><%= h connection.second_interface.name %></td>
|
47
27
|
</tr>
|
48
28
|
<% end %>
|
49
29
|
</tbody>
|