foreman_datacenter 1.19.7 → 1.20.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -28,7 +28,7 @@
|
|
28
28
|
hash_for_edit_device_role_path(:id => device_role).merge(:auth_object => device_role, :authorizer => authorizer)
|
29
29
|
),
|
30
30
|
display_fake_delete_if_authorized(
|
31
|
-
|
31
|
+
hash_for_site_path(:id => device_role).merge(:auth_object => device_role, :authorizer => authorizer),
|
32
32
|
id: 'init-modal',
|
33
33
|
href: '#',
|
34
34
|
data: { objecttype: 'device_role',
|
@@ -34,7 +34,7 @@
|
|
34
34
|
hash_for_edit_device_type_path(:id => device_type).merge(:auth_object => device_type, :authorizer => authorizer)
|
35
35
|
),
|
36
36
|
display_fake_delete_if_authorized(
|
37
|
-
|
37
|
+
hash_for_site_path(:id => device_type).merge(:auth_object => device_type, :authorizer => authorizer),
|
38
38
|
id: 'init-modal',
|
39
39
|
href: '#',
|
40
40
|
data: { objecttype: 'device_type',
|
@@ -8,24 +8,11 @@
|
|
8
8
|
<td><%= h interface.mac_address %></td>
|
9
9
|
<td><%= h interface.ip_address %></td>
|
10
10
|
<td>
|
11
|
-
|
12
|
-
|
13
|
-
device_path(interface.connected_interface.device) %>
|
14
|
-
<% else %>
|
15
|
-
<%= muted_text("Device not found", "span") %>
|
16
|
-
<% end %>
|
11
|
+
<%= link_to interface.connected_interface.device.name,
|
12
|
+
device_path(interface.connected_interface.device) %>
|
17
13
|
</td>
|
18
14
|
<td>
|
19
|
-
|
20
|
-
<%= h interface.connected_interface.name %>
|
21
|
-
<% else %>
|
22
|
-
<%= muted_text("Interface not found", "span") %>
|
23
|
-
<% end %>
|
24
|
-
</td>
|
25
|
-
<td>
|
26
|
-
<%= h interface.connection.id %>
|
27
|
-
-
|
28
|
-
<%= h interface.form_factor %>
|
15
|
+
<%= h interface.connected_interface.name %>
|
29
16
|
</td>
|
30
17
|
<td></td>
|
31
18
|
<td class="text-right">
|
@@ -69,7 +56,6 @@
|
|
69
56
|
<td></td>
|
70
57
|
<td class="text-muted">Not connected</td>
|
71
58
|
<td></td>
|
72
|
-
<td></td>
|
73
59
|
<td class="text-right">
|
74
60
|
<%= link_to new_device_interface_device_interface_connection_path(interface),
|
75
61
|
class: 'btn btn-success btn-xs', title: 'Connect' do %>
|
@@ -55,7 +55,7 @@
|
|
55
55
|
hash_for_edit_device_path(:id => device).merge(:auth_object => device, :authorizer => authorizer)
|
56
56
|
),
|
57
57
|
display_fake_delete_if_authorized(
|
58
|
-
|
58
|
+
hash_for_site_path(:id => device).merge(:auth_object => device, :authorizer => authorizer),
|
59
59
|
id: 'init-modal',
|
60
60
|
href: '#',
|
61
61
|
data: { objecttype: 'device',
|
@@ -256,10 +256,7 @@
|
|
256
256
|
<% if @device.management_device %>
|
257
257
|
<tr>
|
258
258
|
<td><%= _("Console URL") %></td>
|
259
|
-
<td>
|
260
|
-
<%= link_to @device.console_url, "#{@device.console_url}", target: "_blank" %>
|
261
|
-
</td>
|
262
|
-
|
259
|
+
<td><%= h @device.console_url %></td>
|
263
260
|
</tr>
|
264
261
|
<tr>
|
265
262
|
<td><%= _("Login") %></td>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
hash_for_edit_manufacturer_path(:id => manufacturer).merge(:auth_object => manufacturer, :authorizer => authorizer)
|
31
31
|
),
|
32
32
|
display_fake_delete_if_authorized(
|
33
|
-
|
33
|
+
hash_for_site_path(:id => manufacturer).merge(:auth_object => manufacturer, :authorizer => authorizer),
|
34
34
|
id: 'init-modal',
|
35
35
|
href: '#',
|
36
36
|
data: { objecttype: 'manufacturer',
|
@@ -28,7 +28,7 @@
|
|
28
28
|
hash_for_edit_platform_path(:id => platform).merge(:auth_object => platform, :authorizer => authorizer)
|
29
29
|
),
|
30
30
|
display_fake_delete_if_authorized(
|
31
|
-
|
31
|
+
hash_for_site_path(:id => platform).merge(:auth_object => platform, :authorizer => authorizer),
|
32
32
|
id: 'init-modal',
|
33
33
|
href: '#',
|
34
34
|
data: { objecttype: 'platform',
|
@@ -12,14 +12,14 @@
|
|
12
12
|
:class => 'btn btn-warning'
|
13
13
|
),
|
14
14
|
display_fake_delete_if_authorized(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
15
|
+
hash_for_site_path(id: @platform),
|
16
|
+
class: 'btn btn-danger',
|
17
|
+
id: 'init-modal',
|
18
|
+
href: '#',
|
19
|
+
data: { objecttype: 'platform',
|
20
|
+
objectid: @platform.id,
|
21
|
+
objectname: @platform.to_label,
|
22
|
+
associatedobjects: associated_objects('platform') }
|
23
23
|
)
|
24
24
|
help_path %>
|
25
25
|
|
@@ -68,10 +68,7 @@
|
|
68
68
|
<table class="<%= table_css_classes 'table-fixed nonmarginbottom' %>">
|
69
69
|
<tr>
|
70
70
|
<td><%= _("Racks") %></td>
|
71
|
-
<td>
|
72
|
-
<%= link_to @rack_group.racks_count, racks_path(search: "rack_group=#{@rack_group.name}") %>
|
73
|
-
<%= link_to 'Overview', racks_rack_group_path(@rack_group), class: "btn btn-primary btn-xs pull-right" unless @rack_group.racks.empty? %>
|
74
|
-
</td>
|
71
|
+
<td><%= link_to @rack_group.racks_count, racks_path(search: "rack_group=#{@rack_group.name}") %></td>
|
75
72
|
</tr>
|
76
73
|
<tr>
|
77
74
|
<td><%= _("Devices") %></td>
|
@@ -1,15 +1,15 @@
|
|
1
1
|
<div class="panel panel-default">
|
2
|
-
<div class="panel-heading
|
2
|
+
<div class="panel-heading"><strong><%= _("Devices") %></strong></div>
|
3
3
|
<table class="<%= table_css_classes 'table-hover panel-body nonmarginbottom' %>">
|
4
4
|
<tbody>
|
5
|
-
<% rack.positioned_devices.each do |positions, devices| %>
|
5
|
+
<% @rack.positioned_devices.each do |positions, devices| %>
|
6
6
|
<tr>
|
7
7
|
<td class="col-md-1"><%= raw(positions.map{|p| "#{p}U"}.join("<br />")) %></td>
|
8
8
|
<td class="col-md-4">
|
9
9
|
<% unless devices.empty? %>
|
10
10
|
<% devices.each do |d| %>
|
11
11
|
<div class="<%= "text-" + ((d.side == "full" or d.side.nil?) ? "center" : "right") + " pull-" + ((d.side == "full" or d.side.nil?) ? "center" : d.side) %>">
|
12
|
-
|
12
|
+
<span class="<%= "label " + d.device_role.color.downcase.gsub(" ","") %>"> </span>
|
13
13
|
<%= link_to d.name, device_path(d) %>
|
14
14
|
<% if d.side.nil? %>
|
15
15
|
*
|
@@ -23,24 +23,6 @@
|
|
23
23
|
</td>
|
24
24
|
</tr>
|
25
25
|
<% end %>
|
26
|
-
<% unless rack.unpositioned_devices.empty? %>
|
27
|
-
<tr>
|
28
|
-
<td class="col-md-1">Unpositioned</br>Devices</td>
|
29
|
-
<td class="col-md-4" style="text-align:center">
|
30
|
-
<% rack.unpositioned_devices.each do |d| %>
|
31
|
-
<div class="<%= "label " + d.device_role.color.downcase.gsub(" ","") %>" style="border-radius:40px;border:0px;"> </div>
|
32
|
-
<%= link_to d.name, device_path(d) %>
|
33
|
-
<% if d.side.nil? %>
|
34
|
-
*
|
35
|
-
<% end %>
|
36
|
-
<% if d.size.nil? %>
|
37
|
-
**
|
38
|
-
<% end %>
|
39
|
-
</br>
|
40
|
-
<% end %>
|
41
|
-
</td>
|
42
|
-
</tr>
|
43
|
-
<% end %>
|
44
26
|
</tbody>
|
45
27
|
</table>
|
46
28
|
</div>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<div class="col-md-5">
|
2
|
+
<div class="panel panel-default">
|
3
|
+
<div class="panel-heading"><strong>Devices</strong></div>
|
4
|
+
<table class="table table-hover panel-body">
|
5
|
+
<tbody>
|
6
|
+
<% @rack.positioned_devices.each do |position, devices| %>
|
7
|
+
<tr>
|
8
|
+
<td class="col-md-1"><%= position %>U</td>
|
9
|
+
<td class="col-md-4">
|
10
|
+
<% unless devices.empty? %>
|
11
|
+
<% devices.each do |d| %>
|
12
|
+
<div class="<%= "text-" + ((d.side == "full" or d.side.nil?) ? "center" : "right") + " pull-" + ((d.side == "full" or d.side.nil?) ? "center" : d.side) %>">
|
13
|
+
<%= link_to d.name, device_path(d) %>
|
14
|
+
<% if d.side.nil? %>
|
15
|
+
*
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
<% end %>
|
19
|
+
<% end %>
|
20
|
+
</td>
|
21
|
+
</tr>
|
22
|
+
<% end %>
|
23
|
+
</tbody>
|
24
|
+
</table>
|
25
|
+
</div>
|
26
|
+
<div><h6 class="text-right">* side is not defined</h6></div>
|
27
|
+
</div>
|
28
|
+
|
@@ -2,7 +2,7 @@
|
|
2
2
|
<div class="panel-heading"><strong><%= _("Unpositioned Devices") %></strong></div>
|
3
3
|
<table class="table table-hover panel-body nonmarginbottom">
|
4
4
|
<tbody>
|
5
|
-
<% rack.unpositioned_devices.each do |d| %>
|
5
|
+
<% @rack.unpositioned_devices.each do |d| %>
|
6
6
|
<tr>
|
7
7
|
<td class="col-md-4">
|
8
8
|
<div class="<%= "text-" + ((d.side == "full" or d.side.nil?) ? "center" : "right") + " pull-" + ((d.side == "full" or d.side.nil?) ? "center" : d.side) %>">
|
@@ -96,10 +96,7 @@
|
|
96
96
|
</tr>
|
97
97
|
<tr>
|
98
98
|
<td><%= _("Racks") %></td>
|
99
|
-
<td>
|
100
|
-
<%= link_to @site.racks_count, racks_path(search: "site=#{@site.name}") %>
|
101
|
-
<%= link_to 'Overview', racks_site_path(@site), class: "btn btn-primary btn-xs pull-right" unless @site.racks.empty? %>
|
102
|
-
</td>
|
99
|
+
<td><%= link_to @site.racks_count, racks_path(search: "site=#{@site.name}") %></td>
|
103
100
|
</tr>
|
104
101
|
<tr>
|
105
102
|
<td><%= _("Devices") %></td>
|
data/config/routes.rb
CHANGED
@@ -86,7 +86,6 @@ Foreman::Application.routes.draw do
|
|
86
86
|
resources :sites do
|
87
87
|
member do
|
88
88
|
get :move
|
89
|
-
get :racks
|
90
89
|
end
|
91
90
|
collection do
|
92
91
|
get 'auto_complete_search'
|
@@ -104,7 +103,6 @@ Foreman::Application.routes.draw do
|
|
104
103
|
resources :rack_groups do
|
105
104
|
member do
|
106
105
|
get :move
|
107
|
-
get :racks
|
108
106
|
end
|
109
107
|
collection do
|
110
108
|
get 'auto_complete_search'
|
@@ -28,7 +28,7 @@ module ForemanDatacenter
|
|
28
28
|
requires_foreman '>= 1.12'
|
29
29
|
|
30
30
|
security_block :datacenter do
|
31
|
-
|
31
|
+
# Hosts
|
32
32
|
permission :import_to_device, {
|
33
33
|
:'hosts' => [:import_to_device]},
|
34
34
|
:resource_type => "ForemanDatacenter::HostExtensions"
|
@@ -315,7 +315,7 @@ module ForemanDatacenter
|
|
315
315
|
:resource_type => "ForemanDatacenter::Rack"
|
316
316
|
# Sites
|
317
317
|
permission :view_sites, {
|
318
|
-
:'foreman_datacenter/sites' => [:show, :index
|
318
|
+
:'foreman_datacenter/sites' => [:show, :index]},
|
319
319
|
:resource_type => "ForemanDatacenter::Site"
|
320
320
|
permission :create_sites, {
|
321
321
|
:'foreman_datacenter/sites' => [:new, :create]},
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_datacenter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Ivanov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-02-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: prawn
|
@@ -90,7 +90,6 @@ files:
|
|
90
90
|
- app/assets/stylesheets/foreman_datacenter/device_interface_connections.css
|
91
91
|
- app/assets/stylesheets/foreman_datacenter/device_roles.css
|
92
92
|
- app/assets/stylesheets/foreman_datacenter/devices.css
|
93
|
-
- app/assets/stylesheets/foreman_datacenter/horizontal-scroll.css
|
94
93
|
- app/assets/stylesheets/foreman_datacenter/modal.css
|
95
94
|
- app/assets/stylesheets/foreman_datacenter/title_filter.css
|
96
95
|
- app/controllers/api/v2/foreman_datacenter/base_controller.rb
|
@@ -141,7 +140,6 @@ files:
|
|
141
140
|
- app/controllers/concerns/foreman_datacenter/controller/parameters/rack.rb
|
142
141
|
- app/controllers/concerns/foreman_datacenter/controller/parameters/rack_group.rb
|
143
142
|
- app/controllers/concerns/foreman_datacenter/controller/parameters/site.rb
|
144
|
-
- app/controllers/concerns/foreman_datacenter/controller/racks.rb
|
145
143
|
- app/controllers/concerns/foreman_datacenter/hosts_controller_extensions.rb
|
146
144
|
- app/controllers/foreman_datacenter/application_controller.rb
|
147
145
|
- app/controllers/foreman_datacenter/comments_controller.rb
|
@@ -459,11 +457,10 @@ files:
|
|
459
457
|
- app/views/foreman_datacenter/rack_groups/index.html.erb
|
460
458
|
- app/views/foreman_datacenter/rack_groups/move.html.erb
|
461
459
|
- app/views/foreman_datacenter/rack_groups/new.html.erb
|
462
|
-
- app/views/foreman_datacenter/rack_groups/racks.html.erb
|
463
460
|
- app/views/foreman_datacenter/rack_groups/show.html.erb
|
464
461
|
- app/views/foreman_datacenter/rack_groups/welcome.html.erb
|
465
462
|
- app/views/foreman_datacenter/racks/_device_position.html.erb
|
466
|
-
- app/views/foreman_datacenter/racks/
|
463
|
+
- app/views/foreman_datacenter/racks/_device_position.html.erb.back
|
467
464
|
- app/views/foreman_datacenter/racks/_form.html.erb
|
468
465
|
- app/views/foreman_datacenter/racks/_rack_groups.html.erb
|
469
466
|
- app/views/foreman_datacenter/racks/_unpositioned_devices.html.erb
|
@@ -481,7 +478,6 @@ files:
|
|
481
478
|
- app/views/foreman_datacenter/sites/index.html.erb
|
482
479
|
- app/views/foreman_datacenter/sites/move.html.erb
|
483
480
|
- app/views/foreman_datacenter/sites/new.html.erb
|
484
|
-
- app/views/foreman_datacenter/sites/racks.html.erb
|
485
481
|
- app/views/foreman_datacenter/sites/show.html.erb
|
486
482
|
- app/views/foreman_datacenter/sites/welcome.html.erb
|
487
483
|
- app/views/hosts/import_to_device.html.erb
|
@@ -594,7 +590,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
594
590
|
- !ruby/object:Gem::Version
|
595
591
|
version: '0'
|
596
592
|
requirements: []
|
597
|
-
rubygems_version: 3.0.
|
593
|
+
rubygems_version: 3.0.2
|
598
594
|
signing_key:
|
599
595
|
specification_version: 4
|
600
596
|
summary: A plugin that lets you document your servers in a datacenter
|
@@ -1,10 +0,0 @@
|
|
1
|
-
module ForemanDatacenter::Controller::Racks
|
2
|
-
extend ActiveSupport::Concern
|
3
|
-
|
4
|
-
def move
|
5
|
-
@rack_groups = resource_base_search_and_page
|
6
|
-
@racks = @rack_group.racks
|
7
|
-
process_error object: @rack_group, error_msg: 'Current Rack Group haven\'t any Racks.' if @racks.empty?
|
8
|
-
end
|
9
|
-
|
10
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
<% stylesheet 'foreman_datacenter/datacenter' %>
|
2
|
-
<% stylesheet 'foreman_datacenter/device_roles' %>
|
3
|
-
<% stylesheet 'foreman_datacenter/horizontal-scroll' %>
|
4
|
-
|
5
|
-
<% title h(@rack_group.name) %>
|
6
|
-
|
7
|
-
<%= breadcrumbs(items: [{caption: _('Rack Group %s') % @rack_group.name, url: rack_group_path(@rack_group)}, {caption: _('Racks Overview')}]) %>
|
8
|
-
|
9
|
-
<div class="row horizontal-scroll">
|
10
|
-
<% @racks.each do |rack| %>
|
11
|
-
<div class="col-md-4">
|
12
|
-
<%= render "foreman_datacenter/racks/device_position", rack: rack %>
|
13
|
-
</div>
|
14
|
-
<% end %>
|
15
|
-
</div>
|
16
|
-
|
17
|
-
<div><h6 class="text-right"><%= _("* side is not defined") %></h6></div>
|
18
|
-
<div><h6 class="text-right"><%= _("** size is not defined") %></h6></div>
|
@@ -1,46 +0,0 @@
|
|
1
|
-
<div class="panel panel-default">
|
2
|
-
<div class="panel-heading text-center"><h4 class="nonmargintop nonmarginbottom"><strong><%= _("#{rack.name}") %></strong></h4></div>
|
3
|
-
<table class="<%= table_css_classes 'table-hover panel-body nonmarginbottom' %>">
|
4
|
-
<tbody>
|
5
|
-
<% rack.positioned_devices.each do |positions, devices| %>
|
6
|
-
<tr>
|
7
|
-
<td class="col-md-1"><%= raw(positions.map{|p| "#{p}U"}.join("<br />")) %></td>
|
8
|
-
<td class="col-md-4">
|
9
|
-
<% unless devices.empty? %>
|
10
|
-
<% devices.each do |d| %>
|
11
|
-
<div class="<%= "text-" + ((d.side == "full" or d.side.nil?) ? "center" : "right") + " pull-" + ((d.side == "full" or d.side.nil?) ? "center" : d.side) %>">
|
12
|
-
<span class="<%= "label " + d.device_role.color.downcase.gsub(" ","") %>"> </span>
|
13
|
-
<%= link_to d.name, device_path(d) %>
|
14
|
-
<% if d.side.nil? %>
|
15
|
-
*
|
16
|
-
<% end %>
|
17
|
-
<% if d.size.nil? %>
|
18
|
-
**
|
19
|
-
<% end %>
|
20
|
-
</div>
|
21
|
-
<% end %>
|
22
|
-
<% end %>
|
23
|
-
</td>
|
24
|
-
</tr>
|
25
|
-
<% end %>
|
26
|
-
<% unless rack.unpositioned_devices.empty? %>
|
27
|
-
<tr>
|
28
|
-
<td class="col-md-1">Unpositioned Devices</td>
|
29
|
-
<td class="col-md-4">
|
30
|
-
<% rack.unpositioned_devices.each do |d| %>
|
31
|
-
<div class="<%= "label " + d.device_role.color.downcase.gsub(" ","") %>" style="border-radius:40px;border:0px;"> </div>
|
32
|
-
<%= link_to d.name, device_path(d) %>
|
33
|
-
<% if d.side.nil? %>
|
34
|
-
*
|
35
|
-
<% end %>
|
36
|
-
<% if d.size.nil? %>
|
37
|
-
**
|
38
|
-
<% end %>
|
39
|
-
</br>
|
40
|
-
<% end %>
|
41
|
-
</td>
|
42
|
-
</tr>
|
43
|
-
<% end %>
|
44
|
-
</tbody>
|
45
|
-
</table>
|
46
|
-
</div>
|