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
data/README.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# ForemanDatacenter
|
|
2
|
+
|
|
3
|
+
*Introdction here*
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
See [How_to_Install_a_Plugin](http://projects.theforeman.org/projects/foreman/wiki/How_to_Install_a_Plugin)
|
|
8
|
+
for how to install Foreman plugins
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
*Usage here*
|
|
13
|
+
|
|
14
|
+
## TODO
|
|
15
|
+
|
|
16
|
+
*Todo list here*
|
|
17
|
+
|
|
18
|
+
## Contributing
|
|
19
|
+
|
|
20
|
+
Fork and send a Pull Request. Thanks!
|
|
21
|
+
|
|
22
|
+
## Copyright
|
|
23
|
+
|
|
24
|
+
Copyright (c) *year* *your name*
|
|
25
|
+
|
|
26
|
+
This program is free software: you can redistribute it and/or modify
|
|
27
|
+
it under the terms of the GNU General Public License as published by
|
|
28
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
29
|
+
(at your option) any later version.
|
|
30
|
+
|
|
31
|
+
This program is distributed in the hope that it will be useful,
|
|
32
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
33
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
34
|
+
GNU General Public License for more details.
|
|
35
|
+
|
|
36
|
+
You should have received a copy of the GNU General Public License
|
|
37
|
+
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
38
|
+
|
data/Rakefile
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env rake
|
|
2
|
+
begin
|
|
3
|
+
require 'bundler/setup'
|
|
4
|
+
rescue LoadError
|
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
6
|
+
end
|
|
7
|
+
begin
|
|
8
|
+
require 'rdoc/task'
|
|
9
|
+
rescue LoadError
|
|
10
|
+
require 'rdoc/rdoc'
|
|
11
|
+
require 'rake/rdoctask'
|
|
12
|
+
RDoc::Task = Rake::RDocTask
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
17
|
+
rdoc.title = 'ForemanDatacenter'
|
|
18
|
+
rdoc.options << '--line-numbers'
|
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
APP_RAKEFILE = File.expand_path('../test/dummy/Rakefile', __FILE__)
|
|
24
|
+
|
|
25
|
+
Bundler::GemHelper.install_tasks
|
|
26
|
+
|
|
27
|
+
require 'rake/testtask'
|
|
28
|
+
|
|
29
|
+
Rake::TestTask.new(:test) do |t|
|
|
30
|
+
t.libs << 'lib'
|
|
31
|
+
t.libs << 'test'
|
|
32
|
+
t.pattern = 'test/**/*_test.rb'
|
|
33
|
+
t.verbose = false
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
task default: :test
|
|
37
|
+
|
|
38
|
+
begin
|
|
39
|
+
require 'rubocop/rake_task'
|
|
40
|
+
RuboCop::RakeTask.new
|
|
41
|
+
rescue => _
|
|
42
|
+
puts 'Rubocop not loaded.'
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
task :default do
|
|
46
|
+
Rake::Task['rubocop'].execute
|
|
47
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$(function () {
|
|
2
|
+
function onSend() {
|
|
3
|
+
foreman.tools.showSpinner();
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
function onSuccess() {
|
|
7
|
+
window.location.reload();
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
function onComplete() {
|
|
11
|
+
foreman.tools.hideSpinner();
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
var selectors = 'a[data-action="connected"], a[data-action="planned"], a[data-action="destroy"]';
|
|
15
|
+
$(selectors).on('ajax:send', onSend)
|
|
16
|
+
.on('ajax:success', onSuccess)
|
|
17
|
+
.on('ajax:complete', onComplete);
|
|
18
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function connectionsNewRackSelected(item) {
|
|
2
|
+
var $item = $(item);
|
|
3
|
+
var rack = $item.val();
|
|
4
|
+
if (rack === '') {
|
|
5
|
+
return false;
|
|
6
|
+
} else {
|
|
7
|
+
foreman.tools.showSpinner();
|
|
8
|
+
var url = $item.data('url');
|
|
9
|
+
var params = $.param({ rack_id: rack });
|
|
10
|
+
var $container = $('#devices-container');
|
|
11
|
+
$container.load(url, params, function () {
|
|
12
|
+
$container.find('select').select2({allowClear: true});
|
|
13
|
+
foreman.tools.hideSpinner();
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
function devicesNewManufacturerSelected(item) {
|
|
2
|
+
var $item = $(item);
|
|
3
|
+
var manufacturer = $item.val();
|
|
4
|
+
if (manufacturer === '') {
|
|
5
|
+
return false;
|
|
6
|
+
} else {
|
|
7
|
+
foreman.tools.showSpinner();
|
|
8
|
+
var url = $item.data('url');
|
|
9
|
+
var params = $.param({ manufacturer_id: manufacturer });
|
|
10
|
+
var $container = $('#device-types-container');
|
|
11
|
+
$container.load(url + ' #device-types', params, function () {
|
|
12
|
+
$container.find('select').select2({allowClear: true});
|
|
13
|
+
foreman.tools.hideSpinner();
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function devicesNewSiteSelected(item) {
|
|
19
|
+
var $item = $(item);
|
|
20
|
+
var site = $item.val();
|
|
21
|
+
if (site === '') {
|
|
22
|
+
return false;
|
|
23
|
+
} else {
|
|
24
|
+
foreman.tools.showSpinner();
|
|
25
|
+
var url = $item.data('url');
|
|
26
|
+
var params = $.param({ site_id: site });
|
|
27
|
+
var $container = $('#sites-container');
|
|
28
|
+
$container.load(url + ' #sites', params, function () {
|
|
29
|
+
$container.find('select').select2({allowClear: true});
|
|
30
|
+
foreman.tools.hideSpinner();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function racksNewSiteSelected(item) {
|
|
2
|
+
var $item = $(item);
|
|
3
|
+
var site = $item.val();
|
|
4
|
+
if (site === '') {
|
|
5
|
+
return false;
|
|
6
|
+
} else {
|
|
7
|
+
foreman.tools.showSpinner();
|
|
8
|
+
var url = $item.data('url');
|
|
9
|
+
var params = $.param({ site_id: site });
|
|
10
|
+
var $container = $('#rack-groups-container');
|
|
11
|
+
$container.load(url + ' #rack-groups', params, function () {
|
|
12
|
+
$container.find('select').select2({allowClear: true});
|
|
13
|
+
foreman.tools.hideSpinner();
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
function newDeviceSelected(item) {
|
|
2
|
+
var $item = $(item);
|
|
3
|
+
var $mainContainer = $item.closest('#devices-container');
|
|
4
|
+
var id = $item.val();
|
|
5
|
+
if (id === '') {
|
|
6
|
+
return false;
|
|
7
|
+
} else {
|
|
8
|
+
var url = $mainContainer.data('url');
|
|
9
|
+
var fragment = $mainContainer.data('fragment');
|
|
10
|
+
if (fragment) url += ' ' + fragment;
|
|
11
|
+
var params = $.param({device_id: id});
|
|
12
|
+
var $targetContainer = $($mainContainer.data('target'));
|
|
13
|
+
foreman.tools.showSpinner();
|
|
14
|
+
$targetContainer.load(url, params, function () {
|
|
15
|
+
$targetContainer.find('select').select2({allowClear: true});
|
|
16
|
+
foreman.tools.hideSpinner();
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class ConsolePortTemplatesController < ApplicationController
|
|
3
|
+
before_action :set_console_port_template, only: [:destroy]
|
|
4
|
+
|
|
5
|
+
def new
|
|
6
|
+
@console_port_template = ConsolePortTemplate.new(
|
|
7
|
+
device_type: DeviceType.find(params[:device_type_id])
|
|
8
|
+
)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def create
|
|
12
|
+
@console_port_template = ConsolePortTemplate.new(console_port_template_params)
|
|
13
|
+
|
|
14
|
+
if @console_port_template.save
|
|
15
|
+
redirect_to device_type_url(@console_port_template.device_type),
|
|
16
|
+
notice: 'New console port template was successfully created'
|
|
17
|
+
else
|
|
18
|
+
process_error object: @console_port_template
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def destroy
|
|
23
|
+
if @console_port_template.destroy
|
|
24
|
+
redirect_to device_type_url(@console_port_template.device_type),
|
|
25
|
+
notice: 'Console port template was successfully destroyed'
|
|
26
|
+
else
|
|
27
|
+
process_error object: @console_port_template
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def set_console_port_template
|
|
34
|
+
@console_port_template = ConsolePortTemplate.find(params[:id])
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def console_port_template_params
|
|
38
|
+
params[:console_port_template].permit(:device_type_id, :name)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class ConsolePortsController < ApplicationController
|
|
3
|
+
before_action :set_console_port, only: [:edit, :update, :destroy,
|
|
4
|
+
:connected, :planned, :new_connection,
|
|
5
|
+
:connect, :disconnect]
|
|
6
|
+
|
|
7
|
+
def index
|
|
8
|
+
@console_ports = ConsolePort.where.not(console_server_port_id: nil).
|
|
9
|
+
includes(:device, console_server_port: [:device])
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def new
|
|
13
|
+
@console_port = ConsolePort.new(
|
|
14
|
+
device: Device.find(params[:device_id])
|
|
15
|
+
)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def edit
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def create
|
|
22
|
+
@console_port = ConsolePort.new(console_port_params)
|
|
23
|
+
|
|
24
|
+
if @console_port.save
|
|
25
|
+
redirect_to device_url(id: @console_port.device_id),
|
|
26
|
+
notice: 'Console port was successfully created.'
|
|
27
|
+
else
|
|
28
|
+
process_error object: @console_port
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def update
|
|
33
|
+
if @console_port.update(console_port_params)
|
|
34
|
+
redirect_to device_url(id: @console_port.device_id),
|
|
35
|
+
notice: 'Console port was successfully updated.'
|
|
36
|
+
else
|
|
37
|
+
process_error object: @console_port
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
def destroy
|
|
42
|
+
if @console_port.destroy
|
|
43
|
+
redirect_to device_url(id: @console_port.device_id),
|
|
44
|
+
notice: 'Console port was successfully destroyed.'
|
|
45
|
+
else
|
|
46
|
+
process_error object: @console_port
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def for_device
|
|
51
|
+
@device = Device.find(params[:device_id])
|
|
52
|
+
render partial: 'for_device'
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def connected
|
|
56
|
+
@console_port.connected!
|
|
57
|
+
head :ok
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def planned
|
|
61
|
+
@console_port.planned!
|
|
62
|
+
head :ok
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def new_connection
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def connect
|
|
69
|
+
console_server_port = ConsoleServerPort.find(params[:console_server_port][:id])
|
|
70
|
+
@console_port.connect(
|
|
71
|
+
console_server_port,
|
|
72
|
+
params[:console_port][:connection_status]
|
|
73
|
+
)
|
|
74
|
+
redirect_to device_url(id: @console_port.device_id),
|
|
75
|
+
notice: 'Console port was successfully connected.'
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def disconnect
|
|
79
|
+
@console_port.disconnect
|
|
80
|
+
redirect_to device_url(id: @console_port.device_id),
|
|
81
|
+
notice: 'Console port was successfully disconnected.'
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
private
|
|
85
|
+
|
|
86
|
+
def set_console_port
|
|
87
|
+
@console_port = ConsolePort.find(params[:id])
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def console_port_params
|
|
91
|
+
params[:console_port].permit(:device_id, :name)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class ConsoleServerPortTemplatesController < ApplicationController
|
|
3
|
+
before_action :set_console_server_port_template, only: [:destroy]
|
|
4
|
+
|
|
5
|
+
def new
|
|
6
|
+
@console_server_port_template = ConsoleServerPortTemplate.new(
|
|
7
|
+
device_type: DeviceType.find(params[:device_type_id])
|
|
8
|
+
)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def create
|
|
12
|
+
@console_server_port_template = ConsoleServerPortTemplate.new(console_server_port_template_params)
|
|
13
|
+
|
|
14
|
+
if @console_server_port_template.save
|
|
15
|
+
redirect_to device_type_url(@console_server_port_template.device_type),
|
|
16
|
+
notice: 'New console server port template was successfully created'
|
|
17
|
+
else
|
|
18
|
+
process_error object: @console_server_port_template
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def destroy
|
|
23
|
+
if @console_server_port_template.destroy
|
|
24
|
+
redirect_to device_type_url(@console_server_port_template.device_type),
|
|
25
|
+
notice: 'Console server port template was successfully destroyed'
|
|
26
|
+
else
|
|
27
|
+
process_error object: @console_server_port_template
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
def set_console_server_port_template
|
|
34
|
+
@console_server_port_template = ConsoleServerPortTemplate.find(params[:id])
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def console_server_port_template_params
|
|
38
|
+
params[:console_server_port_template].permit(:device_type_id, :name)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
module ForemanDatacenter
|
|
2
|
+
class ConsoleServerPortsController < ApplicationController
|
|
3
|
+
before_action :set_console_server_port, only: [:edit, :update, :destroy,
|
|
4
|
+
:new_connection, :connect,
|
|
5
|
+
:disconnect]
|
|
6
|
+
|
|
7
|
+
def new
|
|
8
|
+
device = Device.find(params[:device_id])
|
|
9
|
+
@console_server_port = ConsoleServerPort.new(device: device)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def edit
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def create
|
|
16
|
+
@console_server_port = ConsoleServerPort.new(console_server_port_params)
|
|
17
|
+
|
|
18
|
+
if @console_server_port.save
|
|
19
|
+
redirect_to device_url(id: @console_server_port.device_id),
|
|
20
|
+
notice: 'Console server port was successfully created.'
|
|
21
|
+
else
|
|
22
|
+
process_error object: @console_server_port
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def update
|
|
27
|
+
if @console_server_port.update(console_server_port_params)
|
|
28
|
+
redirect_to device_url(id: @console_server_port.device_id),
|
|
29
|
+
notice: 'Console server port was successfully updated.'
|
|
30
|
+
else
|
|
31
|
+
process_error object: @console_server_port
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def destroy
|
|
36
|
+
if @console_server_port.destroy
|
|
37
|
+
redirect_to device_url(id: @console_server_port.device_id),
|
|
38
|
+
notice: 'Console server port was successfully destroyed.'
|
|
39
|
+
else
|
|
40
|
+
process_error object: @console_server_port
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def new_connection
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def connect
|
|
48
|
+
console_port = ConsolePort.find(params[:console_port][:id])
|
|
49
|
+
console_port.connect(
|
|
50
|
+
@console_server_port,
|
|
51
|
+
params[:console_port][:connection_status]
|
|
52
|
+
)
|
|
53
|
+
redirect_to device_url(id: @console_server_port.device_id),
|
|
54
|
+
notice: 'Console server port was successfully connected.'
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def disconnect
|
|
58
|
+
@console_server_port.console_port.disconnect
|
|
59
|
+
redirect_to device_url(id: @console_server_port.device_id),
|
|
60
|
+
notice: 'Console server port was successfully disconnected.'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def for_device
|
|
64
|
+
@device = Device.find(params[:device_id])
|
|
65
|
+
render partial: 'for_device'
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
private
|
|
69
|
+
|
|
70
|
+
def set_console_server_port
|
|
71
|
+
@console_server_port = ConsoleServerPort.find(params[:id])
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def console_server_port_params
|
|
75
|
+
params[:console_server_port].permit(:device_id, :name)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|