foreman_datacenter 0.0.1
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 +7 -0
- data/LICENSE +619 -0
- data/README.md +38 -0
- data/Rakefile +47 -0
- data/app/assets/javascripts/foreman_datacenter/ajax.js +18 -0
- data/app/assets/javascripts/foreman_datacenter/console_ports.js +2 -0
- data/app/assets/javascripts/foreman_datacenter/device_interface_connections.js +16 -0
- data/app/assets/javascripts/foreman_datacenter/devices.js +33 -0
- data/app/assets/javascripts/foreman_datacenter/racks.js +16 -0
- data/app/assets/javascripts/foreman_datacenter/shared.js +19 -0
- data/app/assets/stylesheets/foreman_datacenter/device_interface_connections.css +3 -0
- data/app/controllers/foreman_datacenter/console_port_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/console_ports_controller.rb +94 -0
- data/app/controllers/foreman_datacenter/console_server_port_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/console_server_ports_controller.rb +78 -0
- data/app/controllers/foreman_datacenter/device_bay_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/device_bays_controller.rb +74 -0
- data/app/controllers/foreman_datacenter/device_interface_connections_controller.rb +65 -0
- data/app/controllers/foreman_datacenter/device_interfaces_controller.rb +65 -0
- data/app/controllers/foreman_datacenter/device_modules_controller.rb +53 -0
- data/app/controllers/foreman_datacenter/device_roles_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/device_types_controller.rb +60 -0
- data/app/controllers/foreman_datacenter/devices_controller.rb +82 -0
- data/app/controllers/foreman_datacenter/interface_templates_controller.rb +52 -0
- data/app/controllers/foreman_datacenter/manufacturers_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/platforms_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/power_outlet_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/power_outlets_controller.rb +77 -0
- data/app/controllers/foreman_datacenter/power_port_templates_controller.rb +41 -0
- data/app/controllers/foreman_datacenter/power_ports_controller.rb +94 -0
- data/app/controllers/foreman_datacenter/rack_groups_controller.rb +55 -0
- data/app/controllers/foreman_datacenter/racks_controller.rb +63 -0
- data/app/controllers/foreman_datacenter/sites_controller.rb +56 -0
- data/app/helpers/foreman_datacenter/console_ports_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/console_server_ports_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/device_bays_helper.rb +12 -0
- data/app/helpers/foreman_datacenter/device_interface_connections_helper.rb +10 -0
- data/app/helpers/foreman_datacenter/device_interfaces_helper.rb +4 -0
- data/app/helpers/foreman_datacenter/device_roles_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/device_types_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/devices_helper.rb +54 -0
- data/app/helpers/foreman_datacenter/interface_templates_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/platforms_helper.rb +7 -0
- data/app/helpers/foreman_datacenter/power_outlets_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/power_ports_helper.rb +11 -0
- data/app/helpers/foreman_datacenter/racks_helper.rb +8 -0
- data/app/helpers/foreman_datacenter/shared_helper.rb +29 -0
- data/app/models/foreman_datacenter/console_port.rb +19 -0
- data/app/models/foreman_datacenter/console_port_template.rb +12 -0
- data/app/models/foreman_datacenter/console_server_port.rb +9 -0
- data/app/models/foreman_datacenter/console_server_port_template.rb +12 -0
- data/app/models/foreman_datacenter/device.rb +136 -0
- data/app/models/foreman_datacenter/device_bay.rb +15 -0
- data/app/models/foreman_datacenter/device_bay_template.rb +12 -0
- data/app/models/foreman_datacenter/device_interface.rb +36 -0
- data/app/models/foreman_datacenter/device_interface_connection.rb +43 -0
- data/app/models/foreman_datacenter/device_module.rb +10 -0
- data/app/models/foreman_datacenter/device_role.rb +14 -0
- data/app/models/foreman_datacenter/device_type.rb +43 -0
- data/app/models/foreman_datacenter/interface_template.rb +17 -0
- data/app/models/foreman_datacenter/manufacturer.rb +7 -0
- data/app/models/foreman_datacenter/platform.rb +16 -0
- data/app/models/foreman_datacenter/power_outlet.rb +9 -0
- data/app/models/foreman_datacenter/power_outlet_template.rb +12 -0
- data/app/models/foreman_datacenter/power_port.rb +19 -0
- data/app/models/foreman_datacenter/power_port_template.rb +12 -0
- data/app/models/foreman_datacenter/rack.rb +13 -0
- data/app/models/foreman_datacenter/rack_group.rb +9 -0
- data/app/models/foreman_datacenter/site.rb +22 -0
- data/app/views/foreman_datacenter/console_port_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_port_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_ports/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/console_ports/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_ports/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/console_ports/index.html.erb +29 -0
- data/app/views/foreman_datacenter/console_ports/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_ports/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/console_server_port_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_server_port_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_server_ports/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/console_server_ports/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/console_server_ports/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/console_server_ports/new.html.erb +3 -0
- data/app/views/foreman_datacenter/console_server_ports/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/device_bay_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/device_bay_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_bays/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/device_bays/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_bays/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_bays/populate_new.html.erb +21 -0
- data/app/views/foreman_datacenter/device_interface_connections/_form.html.erb +72 -0
- data/app/views/foreman_datacenter/device_interface_connections/_interfaces.html.erb +5 -0
- data/app/views/foreman_datacenter/device_interface_connections/index.html.erb +32 -0
- data/app/views/foreman_datacenter/device_interface_connections/new.html.erb +7 -0
- data/app/views/foreman_datacenter/device_interfaces/_form.html.erb +22 -0
- data/app/views/foreman_datacenter/device_interfaces/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_interfaces/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_modules/_form.html.erb +17 -0
- data/app/views/foreman_datacenter/device_modules/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_modules/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_roles/_form.html.erb +11 -0
- data/app/views/foreman_datacenter/device_roles/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_roles/index.html.erb +36 -0
- data/app/views/foreman_datacenter/device_roles/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_roles/show.html.erb +56 -0
- data/app/views/foreman_datacenter/device_types/_form.html.erb +26 -0
- data/app/views/foreman_datacenter/device_types/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/device_types/index.html.erb +36 -0
- data/app/views/foreman_datacenter/device_types/new.html.erb +3 -0
- data/app/views/foreman_datacenter/device_types/show.html.erb +357 -0
- data/app/views/foreman_datacenter/devices/_console_port.html.erb +60 -0
- data/app/views/foreman_datacenter/devices/_console_server_port.html.erb +64 -0
- data/app/views/foreman_datacenter/devices/_device_bay.html.erb +46 -0
- data/app/views/foreman_datacenter/devices/_device_module.html.erb +16 -0
- data/app/views/foreman_datacenter/devices/_device_types.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/_for_rack.html.erb +9 -0
- data/app/views/foreman_datacenter/devices/_form.html.erb +80 -0
- data/app/views/foreman_datacenter/devices/_interface.html.erb +67 -0
- data/app/views/foreman_datacenter/devices/_management_interface.html.erb +67 -0
- data/app/views/foreman_datacenter/devices/_power_outlet.html.erb +60 -0
- data/app/views/foreman_datacenter/devices/_power_port.html.erb +60 -0
- data/app/views/foreman_datacenter/devices/_racks.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/edit.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/index.html.erb +51 -0
- data/app/views/foreman_datacenter/devices/inventory.html.erb +66 -0
- data/app/views/foreman_datacenter/devices/new.html.erb +5 -0
- data/app/views/foreman_datacenter/devices/show.html.erb +303 -0
- data/app/views/foreman_datacenter/hosts/hosts/new_action.html.erb +1 -0
- data/app/views/foreman_datacenter/hosts/new_action.html.erb +1 -0
- data/app/views/foreman_datacenter/interface_templates/_form.html.erb +19 -0
- data/app/views/foreman_datacenter/interface_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/layouts/layouts/new_layout.html.erb +0 -0
- data/app/views/foreman_datacenter/layouts/new_layout.html.erb +0 -0
- data/app/views/foreman_datacenter/manufacturers/_form.html.erb +7 -0
- data/app/views/foreman_datacenter/manufacturers/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/manufacturers/index.html.erb +34 -0
- data/app/views/foreman_datacenter/manufacturers/new.html.erb +3 -0
- data/app/views/foreman_datacenter/manufacturers/show.html.erb +52 -0
- data/app/views/foreman_datacenter/platforms/_form.html.erb +11 -0
- data/app/views/foreman_datacenter/platforms/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/platforms/index.html.erb +34 -0
- data/app/views/foreman_datacenter/platforms/new.html.erb +3 -0
- data/app/views/foreman_datacenter/platforms/show.html.erb +56 -0
- data/app/views/foreman_datacenter/power_outlet_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_outlet_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_outlets/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/power_outlets/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_outlets/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/power_outlets/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_outlets/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/power_port_templates/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_port_templates/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_ports/_for_device.html.erb +5 -0
- data/app/views/foreman_datacenter/power_ports/_form.html.erb +15 -0
- data/app/views/foreman_datacenter/power_ports/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/power_ports/index.html.erb +29 -0
- data/app/views/foreman_datacenter/power_ports/new.html.erb +3 -0
- data/app/views/foreman_datacenter/power_ports/new_connection.html.erb +22 -0
- data/app/views/foreman_datacenter/rack_groups/_form.html.erb +11 -0
- data/app/views/foreman_datacenter/rack_groups/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/rack_groups/index.html.erb +36 -0
- data/app/views/foreman_datacenter/rack_groups/new.html.erb +3 -0
- data/app/views/foreman_datacenter/rack_groups/show.html.erb +56 -0
- data/app/views/foreman_datacenter/racks/_form.html.erb +25 -0
- data/app/views/foreman_datacenter/racks/_rack_groups.html.erb +8 -0
- data/app/views/foreman_datacenter/racks/edit.html.erb +5 -0
- data/app/views/foreman_datacenter/racks/index.html.erb +50 -0
- data/app/views/foreman_datacenter/racks/new.html.erb +5 -0
- data/app/views/foreman_datacenter/racks/show.html.erb +67 -0
- data/app/views/foreman_datacenter/shared/_rack_device_select.html.erb +22 -0
- data/app/views/foreman_datacenter/sites/_form.html.erb +12 -0
- data/app/views/foreman_datacenter/sites/edit.html.erb +3 -0
- data/app/views/foreman_datacenter/sites/index.html.erb +40 -0
- data/app/views/foreman_datacenter/sites/new.html.erb +3 -0
- data/app/views/foreman_datacenter/sites/show.html.erb +98 -0
- data/config/routes.rb +92 -0
- data/db/migrate/20160727161914_create_sites.rb +16 -0
- data/db/migrate/20160728123353_create_rack_groups.rb +12 -0
- data/db/migrate/20160728143149_create_racks.rb +16 -0
- data/db/migrate/20160728161636_create_platforms.rb +12 -0
- data/db/migrate/20160728162635_create_device_roles.rb +12 -0
- data/db/migrate/20160728163815_create_manufacturers.rb +12 -0
- data/db/migrate/20160728164858_create_device_types.rb +18 -0
- data/db/migrate/20160728171422_create_devices.rb +31 -0
- data/db/migrate/20160728194401_create_device_interfaces.rb +17 -0
- data/db/migrate/20160728195242_create_device_interface_connections.rb +18 -0
- data/db/migrate/20160804104103_create_interface_templates.rb +15 -0
- data/db/migrate/20160804142618_create_console_port_templates.rb +13 -0
- data/db/migrate/20160804164301_create_power_port_templates.rb +13 -0
- data/db/migrate/20160805080626_create_console_server_port_templates.rb +13 -0
- data/db/migrate/20160805084726_create_power_outlet_templates.rb +13 -0
- data/db/migrate/20160805100411_create_device_bay_templates.rb +13 -0
- data/db/migrate/20160809091611_create_device_bays.rb +16 -0
- data/db/migrate/20160809103211_create_power_outlets.rb +13 -0
- data/db/migrate/20160809104325_create_power_ports.rb +17 -0
- data/db/migrate/20160809112815_create_console_server_ports.rb +13 -0
- data/db/migrate/20160809113846_create_console_ports.rb +17 -0
- data/db/migrate/20160816224805_create_device_modules.rb +15 -0
- data/lib/foreman_datacenter.rb +4 -0
- data/lib/foreman_datacenter/engine.rb +70 -0
- data/lib/foreman_datacenter/version.rb +3 -0
- data/lib/tasks/foreman_datacenter_tasks.rake +45 -0
- data/locale/Makefile +60 -0
- data/locale/en/foreman_datacenter.po +19 -0
- data/locale/foreman_datacenter.pot +19 -0
- data/locale/gemspec.rb +2 -0
- data/test/factories/foreman_datacenter_factories.rb +5 -0
- data/test/test_plugin_helper.rb +6 -0
- data/test/unit/foreman_datacenter_test.rb +11 -0
- metadata +310 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<% if console_server_port.console_port %>
|
|
3
|
+
<td>
|
|
4
|
+
<i class="fa fa-fw fa-keyboard-o"></i>
|
|
5
|
+
<%= h console_server_port.name %>
|
|
6
|
+
</td>
|
|
7
|
+
<td>
|
|
8
|
+
<%= link_to console_server_port.console_port.device.name,
|
|
9
|
+
device_path(console_server_port.console_port.device) %>
|
|
10
|
+
</td>
|
|
11
|
+
<td><%= h console_server_port.console_port.name %></td>
|
|
12
|
+
<td class="text-right">
|
|
13
|
+
<% if console_server_port.console_port.planned? %>
|
|
14
|
+
<%= link_to connected_console_port_path(console_server_port.console_port),
|
|
15
|
+
class: 'btn btn-success btn-xs', remote: true,
|
|
16
|
+
data: {confirm: 'Are you sure?', action: 'connected'},
|
|
17
|
+
method: :patch, title: 'Mark connected' do %>
|
|
18
|
+
<i class="glyphicon glyphicon-wrench"></i>
|
|
19
|
+
<% end %>
|
|
20
|
+
<% else %>
|
|
21
|
+
<%= link_to planned_console_port_path(console_server_port.console_port),
|
|
22
|
+
class: 'btn btn-warning btn-xs', remote: true,
|
|
23
|
+
data: {confirm: 'Are you sure?', action: 'planned'},
|
|
24
|
+
method: :patch, title: 'Mark planned' do %>
|
|
25
|
+
<i class="glyphicon glyphicon-ban-circle"></i>
|
|
26
|
+
<% end %>
|
|
27
|
+
<% end %>
|
|
28
|
+
<%= link_to disconnect_console_server_port_path(console_server_port),
|
|
29
|
+
class: 'btn btn-danger btn-xs', title: 'Disconnect',
|
|
30
|
+
data: {confirm: 'Are you sure?'}, method: :patch do %>
|
|
31
|
+
<i class="glyphicon glyphicon-remove"></i>
|
|
32
|
+
<% end %>
|
|
33
|
+
<%= link_to edit_console_server_port_path(console_server_port),
|
|
34
|
+
class: 'btn btn-info btn-xs', title: 'Edit port' do %>
|
|
35
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
36
|
+
<% end %>
|
|
37
|
+
<button class="btn btn-danger btn-xs" disabled>
|
|
38
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
39
|
+
</button>
|
|
40
|
+
</td>
|
|
41
|
+
<% else %>
|
|
42
|
+
<td>
|
|
43
|
+
<i class="fa fa-fw fa-keyboard-o"></i>
|
|
44
|
+
<%= h console_server_port.name %>
|
|
45
|
+
</td>
|
|
46
|
+
<td class="text-muted">Not connected</td>
|
|
47
|
+
<td></td>
|
|
48
|
+
<td class="text-right">
|
|
49
|
+
<%= link_to new_connection_console_server_port_path(console_server_port),
|
|
50
|
+
class: 'btn btn-success btn-xs', title: 'Connect' do %>
|
|
51
|
+
<i class="glyphicon glyphicon-plus"></i>
|
|
52
|
+
<% end %>
|
|
53
|
+
<%= link_to edit_console_server_port_path(console_server_port),
|
|
54
|
+
class: 'btn btn-info btn-xs', title: 'Edit port' do %>
|
|
55
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
56
|
+
<% end %>
|
|
57
|
+
<%= link_to console_server_port_path(console_server_port),
|
|
58
|
+
class: 'btn btn-danger btn-xs', title: 'Delete port',
|
|
59
|
+
data: {confirm: 'Are you sure?'}, method: :delete do %>
|
|
60
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
61
|
+
<% end %>
|
|
62
|
+
</td>
|
|
63
|
+
<% end %>
|
|
64
|
+
</tr>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<td>
|
|
3
|
+
<% if device_bay.installed_device %>
|
|
4
|
+
<span class="glyphicon glyphicon-record"></span>
|
|
5
|
+
<% else %>
|
|
6
|
+
<span class="glyphicon glyphicon-unchecked"></span>
|
|
7
|
+
<% end %>
|
|
8
|
+
<%= device_bay.name %>
|
|
9
|
+
</td>
|
|
10
|
+
<td>
|
|
11
|
+
<% if device_bay.installed_device %>
|
|
12
|
+
<%= link_to device_bay.installed_device.name,
|
|
13
|
+
device_path(device_bay.installed_device) %>
|
|
14
|
+
<% else %>
|
|
15
|
+
<span class="text-muted">Vacant</span>
|
|
16
|
+
<% end %>
|
|
17
|
+
</td>
|
|
18
|
+
<td class="text-right">
|
|
19
|
+
<% if device_bay.installed_device %>
|
|
20
|
+
<%= link_to depopulate_device_bay_path(device_bay), class: 'btn btn-danger btn-xs',
|
|
21
|
+
data: {confirm: 'Are you sure?'}, method: :delete do %>
|
|
22
|
+
<i class="glyphicon glyphicon-remove" title="Remove device"></i>
|
|
23
|
+
<% end %>
|
|
24
|
+
<%= link_to edit_device_bay_path(device_bay),
|
|
25
|
+
class: 'btn btn-info btn-xs' do %>
|
|
26
|
+
<i class="glyphicon glyphicon-pencil" title="Edit device bay"></i>
|
|
27
|
+
<% end %>
|
|
28
|
+
<button class="btn btn-danger btn-xs" disabled>
|
|
29
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
30
|
+
</button>
|
|
31
|
+
<% else %>
|
|
32
|
+
<%= link_to populate_new_device_bay_path(device_bay),
|
|
33
|
+
class: 'btn btn-success btn-xs' do %>
|
|
34
|
+
<i class="glyphicon glyphicon-plus"></i>
|
|
35
|
+
<% end %>
|
|
36
|
+
<%= link_to edit_device_bay_path(device_bay),
|
|
37
|
+
class: 'btn btn-info btn-xs' do %>
|
|
38
|
+
<i class="glyphicon glyphicon-pencil" title="Edit device bay"></i>
|
|
39
|
+
<% end %>
|
|
40
|
+
<%= link_to device_bay_path(device_bay), class: 'btn btn-danger btn-xs',
|
|
41
|
+
data: {confirm: 'Are you sure?'}, method: :delete do %>
|
|
42
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
43
|
+
<% end %>
|
|
44
|
+
<% end %>
|
|
45
|
+
</td>
|
|
46
|
+
</tr>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<td><%= h device_module.name %></td>
|
|
3
|
+
<td><%= h device_module.part_id %></td>
|
|
4
|
+
<td><%= h device_module.serial %></td>
|
|
5
|
+
<td class="text-right">
|
|
6
|
+
<%= link_to edit_device_module_path,
|
|
7
|
+
class: 'btn btn-warning btn-xs', title: 'Edit a module' do %>
|
|
8
|
+
<span class="glyphicon glyphicon-pencil"></span>
|
|
9
|
+
<% end %>
|
|
10
|
+
<%= link_to device_module_path,
|
|
11
|
+
class: 'btn btn-danger btn-xs', title: 'Destroy a module',
|
|
12
|
+
method: :delete do %>
|
|
13
|
+
<span class="glyphicon glyphicon-trash"></span>
|
|
14
|
+
<% end %>
|
|
15
|
+
</td>
|
|
16
|
+
</tr>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<div class="clearfix">
|
|
2
|
+
<div class="form-group">
|
|
3
|
+
<label class="col-md-2 control-label required">Device</label>
|
|
4
|
+
<div class="col-md-4">
|
|
5
|
+
<%= devices_list_for_rack @rack %>
|
|
6
|
+
</div>
|
|
7
|
+
<span class="help-block help-inline">Then choose a device</span>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<%= form_for @device, as: :device, url: (@device.new_record? ? devices_path : device_path(@device)) do |f| %>
|
|
2
|
+
<%= base_errors_for @device %>
|
|
3
|
+
|
|
4
|
+
<!-- Device -->
|
|
5
|
+
<div class="panel panel-default">
|
|
6
|
+
<div class="panel-heading"><strong>Device</strong></div>
|
|
7
|
+
<div class="panel-body">
|
|
8
|
+
<%= text_f f, :name, required: true %>
|
|
9
|
+
<%= selectable_f f, :device_role_id,
|
|
10
|
+
device_roles_for_select(@device.device_role_id),
|
|
11
|
+
{include_blank: 'Choose a device role'},
|
|
12
|
+
{required: true} %>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<!-- Hardware -->
|
|
17
|
+
<div class="panel panel-default">
|
|
18
|
+
<div class="panel-heading"><strong>Hardware</strong></div>
|
|
19
|
+
<div class="panel-body">
|
|
20
|
+
<div class="clearfix">
|
|
21
|
+
<div class="form-group">
|
|
22
|
+
<label class="col-md-2 control-label required">Manufacturer *</label>
|
|
23
|
+
<div class="col-md-4">
|
|
24
|
+
<%= select_tag :manufacturer_id,
|
|
25
|
+
device_manufacturers_for_select(@device.manufacturer_id),
|
|
26
|
+
{ :include_blank => 'Choose a manufacturer',
|
|
27
|
+
:onchange => 'devicesNewManufacturerSelected(this)',
|
|
28
|
+
:'data-url' => device_types_devices_path,
|
|
29
|
+
:class => 'form-control' } %>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
<div id="device-types-container">
|
|
34
|
+
<%= device_types_for_device_form f, @device.manufacturer_id, @device.device_type_id %>
|
|
35
|
+
</div>
|
|
36
|
+
<%= text_f f, :serial, help_inline: 'Chassis serial number' %>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<!-- Location -->
|
|
41
|
+
<div class="panel panel-default">
|
|
42
|
+
<div class="panel-heading"><strong>Location</strong></div>
|
|
43
|
+
<div class="panel-body">
|
|
44
|
+
<div class="clearfix">
|
|
45
|
+
<div class="form-group">
|
|
46
|
+
<label class="col-md-2 control-label required">Site *</label>
|
|
47
|
+
<div class="col-md-4">
|
|
48
|
+
<%= sites_for_device_form @device.site_id %>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
<div id="sites-container">
|
|
53
|
+
<%= racks_for_device_form f, @device.site_id, @device.rack_id %>
|
|
54
|
+
</div>
|
|
55
|
+
<%= selectable_f f, :face, ForemanDatacenter::Device.faces.keys,
|
|
56
|
+
{ include_blank: 'Choose a rack face', label: 'Rack face' } %>
|
|
57
|
+
<%= text_f f, :position, type: 'number', min: 0,
|
|
58
|
+
help_inline: 'For multi-U devices, this is the lowest occupied rack unit.' %>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<!-- Management -->
|
|
63
|
+
<div class="panel panel-default">
|
|
64
|
+
<div class="panel-heading"><strong>Management</strong></div>
|
|
65
|
+
<div class="panel-body">
|
|
66
|
+
<%= platforms_for_device_form f, @device.platform_id %>
|
|
67
|
+
<%= selectable_f f, :status, ForemanDatacenter::Device.statuses.keys %>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<!-- Comments -->
|
|
72
|
+
<div class="panel panel-default">
|
|
73
|
+
<div class="panel-heading"><strong>Comments</strong></div>
|
|
74
|
+
<div class="panel-body">
|
|
75
|
+
<%= textarea_f f, :comments, rows: 10 %>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
<%= submit_or_cancel f %>
|
|
80
|
+
<% end %>
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<% if interface.connected? %>
|
|
3
|
+
<td>
|
|
4
|
+
<span class="glyphicon glyphicon-transfer"></span>
|
|
5
|
+
<%= interface.name %>
|
|
6
|
+
</td>
|
|
7
|
+
<td>
|
|
8
|
+
<%= link_to interface.connected_interface.device.name,
|
|
9
|
+
device_path(interface.connected_interface.device) %>
|
|
10
|
+
</td>
|
|
11
|
+
<td>
|
|
12
|
+
<%= h interface.connected_interface.name %>
|
|
13
|
+
</td>
|
|
14
|
+
<td class="text-right">
|
|
15
|
+
<% if interface.connection.planned? %>
|
|
16
|
+
<%= link_to connected_device_interface_connection_path(interface.connection),
|
|
17
|
+
class: 'btn btn-success btn-xs', remote: true,
|
|
18
|
+
data: {confirm: 'Are you sure?', action: 'connected'},
|
|
19
|
+
method: :patch, title: 'Mark connected' do %>
|
|
20
|
+
<i class="glyphicon glyphicon-wrench"></i>
|
|
21
|
+
<% end %>
|
|
22
|
+
<% else %>
|
|
23
|
+
<%= link_to planned_device_interface_connection_path(interface.connection),
|
|
24
|
+
class: 'btn btn-warning btn-xs', remote: true,
|
|
25
|
+
data: {confirm: 'Are you sure?', action: 'planned'},
|
|
26
|
+
method: :patch, title: 'Mark planned' do %>
|
|
27
|
+
<i class="glyphicon glyphicon-ban-circle"></i>
|
|
28
|
+
<% end %>
|
|
29
|
+
<% end %>
|
|
30
|
+
<%= link_to device_interface_connection_path(interface.connection),
|
|
31
|
+
class: 'btn btn-danger btn-xs', remote: true,
|
|
32
|
+
data: {confirm: 'Are you sure?', action: 'destroy'},
|
|
33
|
+
method: :delete, title: 'Delete connection' do %>
|
|
34
|
+
<i class="glyphicon glyphicon-remove"></i>
|
|
35
|
+
<% end %>
|
|
36
|
+
<%= link_to edit_device_interface_path(interface),
|
|
37
|
+
class: 'btn btn-info btn-xs', title: 'Edit interface' do %>
|
|
38
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
39
|
+
<% end %>
|
|
40
|
+
<button class="btn btn-danger btn-xs" disabled>
|
|
41
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
42
|
+
</button>
|
|
43
|
+
</td>
|
|
44
|
+
<% else %>
|
|
45
|
+
<td>
|
|
46
|
+
<span class="glyphicon glyphicon-transfer"></span>
|
|
47
|
+
<%= interface.name %>
|
|
48
|
+
</td>
|
|
49
|
+
<td class="text-muted">Not connected</td>
|
|
50
|
+
<td></td>
|
|
51
|
+
<td class="text-right">
|
|
52
|
+
<%= link_to new_device_interface_device_interface_connection_path(interface),
|
|
53
|
+
class: 'btn btn-success btn-xs', title: 'Connect' do %>
|
|
54
|
+
<i class="glyphicon glyphicon-plus"></i>
|
|
55
|
+
<% end %>
|
|
56
|
+
<%= link_to edit_device_interface_path(interface),
|
|
57
|
+
class: 'btn btn-info btn-xs', title: 'Edit interface' do %>
|
|
58
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
59
|
+
<% end %>
|
|
60
|
+
<%= link_to device_interface_path(interface),
|
|
61
|
+
class: 'btn btn-danger btn-xs', title: 'Delete interface',
|
|
62
|
+
data: {confirm: 'Are you sure?'}, method: :delete do %>
|
|
63
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
64
|
+
<% end %>
|
|
65
|
+
</td>
|
|
66
|
+
<% end %>
|
|
67
|
+
</tr>
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<% if management_interface.connected? %>
|
|
3
|
+
<td>
|
|
4
|
+
<i class="fa fa-fw fa-wrench"></i>
|
|
5
|
+
<%= management_interface.name %>
|
|
6
|
+
</td>
|
|
7
|
+
<td>
|
|
8
|
+
<%= link_to management_interface.connected_interface.device.name,
|
|
9
|
+
device_path(management_interface.connected_interface.device) %>
|
|
10
|
+
</td>
|
|
11
|
+
<td>
|
|
12
|
+
<%= h management_interface.connected_interface.name %>
|
|
13
|
+
</td>
|
|
14
|
+
<td class="text-right">
|
|
15
|
+
<% if management_interface.connection.planned? %>
|
|
16
|
+
<%= link_to connected_device_interface_connection_path(management_interface.connection),
|
|
17
|
+
class: 'btn btn-success btn-xs', remote: true,
|
|
18
|
+
data: {confirm: 'Are you sure?', action: 'connected'},
|
|
19
|
+
method: :patch, title: 'Mark connected' do %>
|
|
20
|
+
<i class="glyphicon glyphicon-wrench"></i>
|
|
21
|
+
<% end %>
|
|
22
|
+
<% else %>
|
|
23
|
+
<%= link_to planned_device_interface_connection_path(management_interface.connection),
|
|
24
|
+
class: 'btn btn-warning btn-xs', remote: true,
|
|
25
|
+
data: {confirm: 'Are you sure?', action: 'planned'},
|
|
26
|
+
method: :patch, title: 'Mark planned' do %>
|
|
27
|
+
<i class="glyphicon glyphicon-ban-circle"></i>
|
|
28
|
+
<% end %>
|
|
29
|
+
<% end %>
|
|
30
|
+
<%= link_to device_interface_connection_path(management_interface.connection),
|
|
31
|
+
class: 'btn btn-danger btn-xs', remote: true,
|
|
32
|
+
data: {confirm: 'Are you sure?', action: 'destroy'},
|
|
33
|
+
method: :delete, title: 'Delete connection' do %>
|
|
34
|
+
<i class="glyphicon glyphicon-remove"></i>
|
|
35
|
+
<% end %>
|
|
36
|
+
<%= link_to edit_device_interface_path(management_interface),
|
|
37
|
+
class: 'btn btn-info btn-xs', title: 'Edit management_interface' do %>
|
|
38
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
39
|
+
<% end %>
|
|
40
|
+
<button class="btn btn-danger btn-xs" disabled>
|
|
41
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
42
|
+
</button>
|
|
43
|
+
</td>
|
|
44
|
+
<% else %>
|
|
45
|
+
<td>
|
|
46
|
+
<i class="fa fa-fw fa-wrench"></i>
|
|
47
|
+
<%= management_interface.name %>
|
|
48
|
+
</td>
|
|
49
|
+
<td class="text-muted">Not connected</td>
|
|
50
|
+
<td></td>
|
|
51
|
+
<td class="text-right">
|
|
52
|
+
<%= link_to new_device_interface_device_interface_connection_path(management_interface),
|
|
53
|
+
class: 'btn btn-success btn-xs', title: 'Connect' do %>
|
|
54
|
+
<i class="glyphicon glyphicon-plus"></i>
|
|
55
|
+
<% end %>
|
|
56
|
+
<%= link_to edit_device_interface_path(management_interface),
|
|
57
|
+
class: 'btn btn-info btn-xs', title: 'Edit interface' do %>
|
|
58
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
59
|
+
<% end %>
|
|
60
|
+
<%= link_to device_interface_path(management_interface),
|
|
61
|
+
class: 'btn btn-danger btn-xs', title: 'Delete interface',
|
|
62
|
+
data: {confirm: 'Are you sure?'}, method: :delete do %>
|
|
63
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
64
|
+
<% end %>
|
|
65
|
+
</td>
|
|
66
|
+
<% end %>
|
|
67
|
+
</tr>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<td>
|
|
3
|
+
<i class="fa fa-fw fa-bolt"></i>
|
|
4
|
+
<%= h power_outlet.name %>
|
|
5
|
+
</td>
|
|
6
|
+
<% if power_outlet.power_port %>
|
|
7
|
+
<td>
|
|
8
|
+
<%= link_to power_outlet.power_port.device.name,
|
|
9
|
+
device_path(power_outlet.power_port.device) %>
|
|
10
|
+
</td>
|
|
11
|
+
<td><%= power_outlet.power_port.name %></td>
|
|
12
|
+
<td class="text-right">
|
|
13
|
+
<% if power_outlet.power_port.planned? %>
|
|
14
|
+
<%= link_to connected_power_port_path(power_outlet.power_port),
|
|
15
|
+
class: 'btn btn-success btn-xs', remote: true,
|
|
16
|
+
data: { confirm: 'Are you sure?', action: 'connected' },
|
|
17
|
+
method: :patch, title: 'Mark connected' do %>
|
|
18
|
+
<i class="glyphicon glyphicon-wrench"></i>
|
|
19
|
+
<% end %>
|
|
20
|
+
<% else %>
|
|
21
|
+
<%= link_to planned_power_port_path(power_outlet.power_port),
|
|
22
|
+
class: 'btn btn-warning btn-xs', remote: true,
|
|
23
|
+
data: { confirm: 'Are you sure?', action: 'planned' },
|
|
24
|
+
method: :patch, title: 'Mark planned' do %>
|
|
25
|
+
<i class="glyphicon glyphicon-ban-circle"></i>
|
|
26
|
+
<% end %>
|
|
27
|
+
<% end %>
|
|
28
|
+
<%= link_to disconnect_power_outlet_path(power_outlet),
|
|
29
|
+
class: 'btn btn-danger btn-xs', title: 'Disconnect',
|
|
30
|
+
data: { confirm: 'Are you sure?' }, method: :patch do %>
|
|
31
|
+
<i class="glyphicon glyphicon-remove"></i>
|
|
32
|
+
<% end %>
|
|
33
|
+
<%= link_to edit_power_outlet_path(power_outlet),
|
|
34
|
+
class: 'btn btn-info btn-xs', title: 'Edit outlet' do %>
|
|
35
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
36
|
+
<% end %>
|
|
37
|
+
<button class="btn btn-danger btn-xs" disabled>
|
|
38
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
39
|
+
</button>
|
|
40
|
+
</td>
|
|
41
|
+
<% else %>
|
|
42
|
+
<td class="text-muted">Not connected</td>
|
|
43
|
+
<td></td>
|
|
44
|
+
<td class="text-right">
|
|
45
|
+
<%= link_to new_connection_power_outlet_path(power_outlet),
|
|
46
|
+
class: 'btn btn-success btn-xs', title: 'Connect' do %>
|
|
47
|
+
<i class="glyphicon glyphicon-plus"></i>
|
|
48
|
+
<% end %>
|
|
49
|
+
<%= link_to edit_power_outlet_path(power_outlet),
|
|
50
|
+
class: 'btn btn-info btn-xs', title: 'Edit outlet' do %>
|
|
51
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
52
|
+
<% end %>
|
|
53
|
+
<%= link_to power_outlet_path(power_outlet),
|
|
54
|
+
class: 'btn btn-danger btn-xs', title: 'Delete outlet',
|
|
55
|
+
data: {confirm: 'Are you sure?'}, method: :delete do %>
|
|
56
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
57
|
+
<% end %>
|
|
58
|
+
</td>
|
|
59
|
+
<% end %>
|
|
60
|
+
</tr>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<tr>
|
|
2
|
+
<td>
|
|
3
|
+
<i class="fa fa-fw fa-bolt"></i>
|
|
4
|
+
<%= h power_port.name %>
|
|
5
|
+
</td>
|
|
6
|
+
<% if power_port.power_outlet %>
|
|
7
|
+
<td>
|
|
8
|
+
<%= link_to power_port.power_outlet.device.name,
|
|
9
|
+
device_path(power_port.power_outlet.device) %>
|
|
10
|
+
</td>
|
|
11
|
+
<td><%= h power_port.power_outlet.name %></td>
|
|
12
|
+
<td class="text-right">
|
|
13
|
+
<% if power_port.planned? %>
|
|
14
|
+
<%= link_to connected_power_port_path(power_port),
|
|
15
|
+
class: 'btn btn-success btn-xs', remote: true,
|
|
16
|
+
data: { confirm: 'Are you sure?', action: 'connected' },
|
|
17
|
+
method: :patch, title: 'Mark connected' do %>
|
|
18
|
+
<i class="glyphicon glyphicon-wrench"></i>
|
|
19
|
+
<% end %>
|
|
20
|
+
<% else %>
|
|
21
|
+
<%= link_to planned_power_port_path(power_port),
|
|
22
|
+
class: 'btn btn-warning btn-xs', remote: true,
|
|
23
|
+
data: { confirm: 'Are you sure?', action: 'planned' },
|
|
24
|
+
method: :patch, title: 'Mark planned' do %>
|
|
25
|
+
<i class="glyphicon glyphicon-ban-circle"></i>
|
|
26
|
+
<% end %>
|
|
27
|
+
<% end %>
|
|
28
|
+
<%= link_to disconnect_power_outlet_path(power_port.power_outlet),
|
|
29
|
+
class: 'btn btn-danger btn-xs', title: 'Disconnect',
|
|
30
|
+
data: { confirm: 'Are you sure?' }, method: :patch do %>
|
|
31
|
+
<i class="glyphicon glyphicon-remove"></i>
|
|
32
|
+
<% end %>
|
|
33
|
+
<%= link_to edit_power_port_path(power_port),
|
|
34
|
+
class: 'btn btn-info btn-xs', title: 'Edit port' do %>
|
|
35
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
36
|
+
<% end %>
|
|
37
|
+
<button class="btn btn-danger btn-xs" disabled>
|
|
38
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
39
|
+
</button>
|
|
40
|
+
</td>
|
|
41
|
+
<% else %>
|
|
42
|
+
<td class="text-muted">Not connected</td>
|
|
43
|
+
<td></td>
|
|
44
|
+
<td class="text-right">
|
|
45
|
+
<%= link_to new_connection_power_port_path(power_port),
|
|
46
|
+
class: 'btn btn-success btn-xs', title: 'Connect' do %>
|
|
47
|
+
<i class="glyphicon glyphicon-plus"></i>
|
|
48
|
+
<% end %>
|
|
49
|
+
<%= link_to edit_power_port_path(power_port),
|
|
50
|
+
class: 'btn btn-info btn-xs', title: 'Edit port' do %>
|
|
51
|
+
<i class="glyphicon glyphicon-pencil"></i>
|
|
52
|
+
<% end %>
|
|
53
|
+
<%= link_to power_port_path(power_port),
|
|
54
|
+
class: 'btn btn-danger btn-xs', title: 'Delete port',
|
|
55
|
+
data: { confirm: 'Are you sure?' }, method: :delete do %>
|
|
56
|
+
<i class="glyphicon glyphicon-trash"></i>
|
|
57
|
+
<% end %>
|
|
58
|
+
</td>
|
|
59
|
+
<% end %>
|
|
60
|
+
</tr>
|