foreman_datacenter 1.16.9 → 1.16.10
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 +15 -8
- data/app/controllers/foreman_datacenter/device_interface_connections_controller.rb +10 -2
- data/app/controllers/foreman_datacenter/devices_controller.rb +3 -14
- data/app/models/foreman_datacenter/device_interface_connection.rb +2 -2
- data/app/views/foreman_datacenter/console_ports/index.html.erb +27 -5
- data/app/views/foreman_datacenter/device_interface_connections/index.html.erb +23 -3
- data/app/views/foreman_datacenter/devices/_interface.html.erb +11 -3
- data/app/views/foreman_datacenter/platforms/show.html.erb +8 -8
- data/app/views/foreman_datacenter/racks/_device_position.html.erb +1 -1
- data/lib/foreman_datacenter/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 354eb0d1b2fc1d23cc0079af61f342fe0ed71e4847511b620d248a6077f148f2
|
4
|
+
data.tar.gz: cec0dd33b9e2b47c87f6ae16e1881aaaafd099d7976b32fbb1eeb5a2500e2ef5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a144a6ae2fc8b67c74fa8f955de09f2ad47f82d8f5714a449713fa19da95817fbff47cf8e12ccebfe1722c45687e2a361bc8058c45ab8934cbf61593c8125155
|
7
|
+
data.tar.gz: c3561ccbceb2dc8afb29b35f28352a664d6d7278435e67916616b4c98eae9747e6db416ae5b84087fbae6a3595f7f7cc4a32d7e1d6bfbc1d0d59db2895322a12
|
@@ -10,7 +10,8 @@ $(window).click(function(event) {
|
|
10
10
|
var patt = new RegExp(str);
|
11
11
|
var token = $('meta[name="csrf-token"]').attr('content');
|
12
12
|
if (object_type == 'device') {
|
13
|
-
var checkbox_label = 'Delete associated host ONLY and keep current device as UNASSIGNED!'
|
13
|
+
// var checkbox_label = 'Delete associated host ONLY and keep current device as UNASSIGNED!'
|
14
|
+
var checkbox_label = ''
|
14
15
|
} else {
|
15
16
|
var checkbox_label = 'Delete ' + object_type + ' ONLY'
|
16
17
|
}
|
@@ -18,11 +19,18 @@ $(window).click(function(event) {
|
|
18
19
|
if (!(patt.test(pathname))) {
|
19
20
|
pathname = pathname + str
|
20
21
|
}
|
21
|
-
|
22
22
|
var move = "<p></p>"
|
23
|
-
|
23
|
+
var checkbox = ""
|
24
|
+
var text = "You will permanently delete the"
|
25
|
+
text_ao = ""
|
26
|
+
if (object_type == "site" || object_type == "rack" || object_type == "rack_group") {
|
24
27
|
move = '<p>You also can move associated object to another <strong>' + object_type + '</strong> before you destroy it.</p> \
|
25
28
|
<a class="btn btn-block btn-primary modal-btn modal-btn-primary marginbottomsixteen" href="/datacenter/' + object_type + 's/' + object_id + '/move">Move associated objects</a>'
|
29
|
+
checkbox = '<input type="checkbox" name="object_only" id="object_only" value="true" checked="checked">'
|
30
|
+
text = "By unselecting checkbox you will permanently delete the"
|
31
|
+
text_ao = 'with \
|
32
|
+
<strong>ALL</strong> \
|
33
|
+
associated objects' + ao
|
26
34
|
}
|
27
35
|
|
28
36
|
var form = '<div id="myModal" class="modal"> \
|
@@ -37,16 +45,15 @@ $(window).click(function(event) {
|
|
37
45
|
<div class="modal-body"> \
|
38
46
|
<p>This action \
|
39
47
|
<strong>cannot</strong> \
|
40
|
-
be undone.
|
48
|
+
be undone. \
|
49
|
+
' + text + ' \
|
41
50
|
<strong>' + object_name + '</strong> \
|
42
|
-
|
43
|
-
<strong>ALL</strong> \
|
44
|
-
associated objects' + ao + ' \
|
51
|
+
' + text_ao + ' \
|
45
52
|
</p> \
|
46
53
|
<form class="modal-form nonpaddingbottom" action=' + pathname + ' accept-charset="UTF-8" method="post"> \
|
47
54
|
<input type="hidden" name="_method" value="delete"> \
|
48
55
|
<input type="hidden" name="authenticity_token" value=' + token + '> \
|
49
|
-
|
56
|
+
' + checkbox + ' \
|
50
57
|
<label>' + checkbox_label + '</label> \
|
51
58
|
<input type="submit" name="commit" value="I understand the consequences, delete this ' + object_type + '" class="btn btn-block btn-danger modal-btn modal-btn-danger"> \
|
52
59
|
</form> \
|
@@ -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, :edit]
|
7
7
|
|
8
8
|
def index
|
9
|
-
@device_interface_connections = resource_base_search_and_page.includes(:
|
9
|
+
@device_interface_connections = resource_base_search_and_page.includes(second_interface: [:device], first_interface: [:device])
|
10
10
|
end
|
11
11
|
|
12
12
|
def new
|
@@ -15,6 +15,10 @@ module ForemanDatacenter
|
|
15
15
|
)
|
16
16
|
end
|
17
17
|
|
18
|
+
def edit
|
19
|
+
@device = @device_interface_connection.first_device
|
20
|
+
end
|
21
|
+
|
18
22
|
def create
|
19
23
|
@device_interface_connection = ForemanDatacenter::DeviceInterfaceConnection.new(device_interface_connection_params.merge(interface_a: params[:device_interface_id]))
|
20
24
|
@device_interface_connection.first_interface = get_device_interface
|
@@ -52,5 +56,9 @@ module ForemanDatacenter
|
|
52
56
|
def get_device_interface
|
53
57
|
ForemanDatacenter::DeviceInterface.find(params[:device_interface_id])
|
54
58
|
end
|
59
|
+
|
60
|
+
def device_interface_connection_params
|
61
|
+
params[:foreman_datacenter_device_interface_connetction].permit(:speed)
|
62
|
+
end
|
55
63
|
end
|
56
64
|
end
|
@@ -60,21 +60,10 @@ module ForemanDatacenter
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def destroy
|
63
|
-
|
64
|
-
|
65
|
-
process_success success_redirect: "/datacenter/devices"
|
66
|
-
else
|
67
|
-
process_error object: @device
|
68
|
-
end
|
63
|
+
if @device.destroy
|
64
|
+
process_success success_redirect: "/datacenter/devices"
|
69
65
|
else
|
70
|
-
|
71
|
-
@device.host.destroy
|
72
|
-
new_device_name = "Unassigned device (former: #{@device.name})"
|
73
|
-
@device.update(name: new_device_name)
|
74
|
-
process_success success_redirect: '/datacenter/devices', success_msg: 'Associated host deleted'
|
75
|
-
else
|
76
|
-
process_error success_redirect: '/datacenter/devices', error_msg: 'Associated host not found'
|
77
|
-
end
|
66
|
+
process_error object: @device
|
78
67
|
end
|
79
68
|
end
|
80
69
|
|
@@ -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
|
-
first_interface.device
|
26
|
+
self.try(:first_interface).try(: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
|
-
second_interface.device
|
38
|
+
self.try(:second_interface).try(:device)
|
39
39
|
end
|
40
40
|
|
41
41
|
def second_rack
|
@@ -14,12 +14,34 @@
|
|
14
14
|
<% for port in @console_ports %>
|
15
15
|
<tr>
|
16
16
|
<td>
|
17
|
-
|
18
|
-
|
17
|
+
<% if port.console_server_port %>
|
18
|
+
<%= link_to port.console_server_port.device.name,
|
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 %>
|
19
44
|
</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>
|
23
45
|
</tr>
|
24
46
|
<% end %>
|
25
47
|
</tbody>
|
@@ -15,15 +15,35 @@
|
|
15
15
|
<% for connection in @device_interface_connections %>
|
16
16
|
<tr>
|
17
17
|
<td>
|
18
|
-
|
18
|
+
<% if connection.first_device %>
|
19
|
+
<%= link_to connection.first_device.name,
|
19
20
|
device_path(connection.first_device) %>
|
21
|
+
<% else %>
|
22
|
+
<%= muted_text("Device not found", "span") %>
|
23
|
+
<% end %>
|
20
24
|
</td>
|
21
|
-
<td><%= h connection.first_interface.name %></td>
|
22
25
|
<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 %>
|
23
34
|
<%= link_to connection.second_device.name,
|
24
35
|
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 %>
|
25
46
|
</td>
|
26
|
-
<td><%= h connection.second_interface.name %></td>
|
27
47
|
</tr>
|
28
48
|
<% end %>
|
29
49
|
</tbody>
|
@@ -8,11 +8,19 @@
|
|
8
8
|
<td><%= h interface.mac_address %></td>
|
9
9
|
<td><%= h interface.ip_address %></td>
|
10
10
|
<td>
|
11
|
-
|
12
|
-
|
11
|
+
<% if interface.connected_interface %>
|
12
|
+
<%= link_to interface.connected_interface.device.name,
|
13
|
+
device_path(interface.connected_interface.device) %>
|
14
|
+
<% else %>
|
15
|
+
<%= muted_text("Device not found", "span") %>
|
16
|
+
<% end %>
|
13
17
|
</td>
|
14
18
|
<td>
|
15
|
-
|
19
|
+
<% if interface.connected_interface %>
|
20
|
+
<%= h interface.connected_interface.name %>
|
21
|
+
<% else %>
|
22
|
+
<%= muted_text("Interface not found", "span") %>
|
23
|
+
<% end %>
|
16
24
|
</td>
|
17
25
|
<td>
|
18
26
|
<%= h interface.connection.id %>
|
@@ -10,14 +10,14 @@
|
|
10
10
|
:class => 'btn btn-warning'
|
11
11
|
),
|
12
12
|
display_fake_delete_if_authorized(
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
hash_for_platform_path(:id => @platform).merge(:auth_object => @platform, :authorizer => authorizer),
|
14
|
+
class: 'btn btn-danger',
|
15
|
+
id: 'init-modal',
|
16
|
+
href: '#',
|
17
|
+
data: { objecttype: 'platform',
|
18
|
+
objectid: @platform.id,
|
19
|
+
objectname: @platform.to_label,
|
20
|
+
associatedobjects: associated_objects('platform') }
|
21
21
|
)
|
22
22
|
help_path %>
|
23
23
|
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<% end %>
|
26
26
|
<% unless rack.unpositioned_devices.empty? %>
|
27
27
|
<tr>
|
28
|
-
<td class="col-md-1">Unpositioned
|
28
|
+
<td class="col-md-1">Unpositioned</br>Devices</td>
|
29
29
|
<td class="col-md-4" style="text-align:center">
|
30
30
|
<% rack.unpositioned_devices.each do |d| %>
|
31
31
|
<div class="<%= "label " + d.device_role.color.downcase.gsub(" ","") %>" style="border-radius:40px;border:0px;"> </div>
|
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.16.
|
4
|
+
version: 1.16.10
|
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-07-
|
12
|
+
date: 2019-07-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: prawn
|