foreman_datacenter 1.19.5 → 1.19.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3379f15bc6b2cdd363625a0bf9fdeef9ec6faf0cd09448afe36dcb833da5dfcb
4
- data.tar.gz: 1ffa1280a6d03ffb2e7a53af1abff6399f11a2d4c216e8a8d400fc257c2ffb7e
3
+ metadata.gz: 3c390e3b2775db92120cd05376f05728bf32133009d91c69433a241da1fcfc4e
4
+ data.tar.gz: e2a724cd89bd2ddc56196580ee065344c75b3af093495951017503ce4d25d4e0
5
5
  SHA512:
6
- metadata.gz: fa8feef431143d629cdc55f9487f390b051fbd917d2d190fa8b874636913e57461b09a5f4aaf18ef231fa5343940c9a9dde2a7d48de8d4d4460dc8830339f9e1
7
- data.tar.gz: 5e40dc171c0284703efc741cbb1febb2948c726b2f5bbe566b3d1c0e109377ec23b325abda30e05506c70a6a93b482559548281183cd26f821240302230daccb
6
+ metadata.gz: a3e72115f3610d69e28d5e0b303b2ac76b21e08223e3b5dabdaf35b54e2bb4dea0df7d8b9a3fc6b125c8812bbc4ceea4b25485fb786f3fc8b24d7c6a7572974a
7
+ data.tar.gz: 8008f4a898b4661e6a4c728ba11cf347fa68cc221972c943f87e425aa00e184fcc38be291f3dce243d83a99b40b5b5e83e05cc8d25dc06189cbc158321a425aa
@@ -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
- if (object_type == "device" || object_type == "site" || object_type == "rack" || object_type == "rack_group") {
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. By unselecting checkbox you will permanently delete the \
48
+ be undone. \
49
+ ' + text + ' \
41
50
  <strong>' + object_name + '</strong> \
42
- with \
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
- <input type="checkbox" name="object_only" id="object_only" value="true" checked="checked"> \
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> \
@@ -0,0 +1,9 @@
1
+ .horizontal-scroll {
2
+ overflow: auto;
3
+ white-space: nowrap;
4
+ }
5
+
6
+ .horizontal-scroll > div.col-md-4 {
7
+ display: inline-block;
8
+ float: none;
9
+ }
@@ -34,7 +34,7 @@ module Api
34
34
 
35
35
  def create
36
36
  @management_device = ::ForemanDatacenter::ManagementDevice.new(management_device_params)#.merge(device_id: params[]))
37
- @management_device.save
37
+ process_response @management_device.save
38
38
  end
39
39
 
40
40
  api :PUT, "/foreman_datacenter/management_devices/:id/", N_("Update a management_device")
@@ -2,14 +2,14 @@ module Api
2
2
  module V2
3
3
  module ForemanDatacenter
4
4
  class PowerOutletsController < ForemanDatacenter::BaseController
5
- include ::ForemanDatacenter::Controller::Parameters::PowerOutlet
5
+ include ::ForemanDatacenter::Controller::Parameters::PowerOutlet
6
6
 
7
7
  before_action :find_resource, :only => %w{show update destroy connect disconnect}
8
8
  add_scoped_search_description_for(::ForemanDatacenter::PowerOutletTemplate)
9
9
  param_group :search_and_pagination, ::Api::V2::BaseController
10
10
 
11
11
  api :GET, "/foreman_datacenter/power_outlets/", N_("List all PowerOutlets")
12
-
12
+
13
13
  def index
14
14
  @power_outlets = resource_scope_for_index
15
15
  end
@@ -20,57 +20,57 @@ module Api
20
20
  def show
21
21
  end
22
22
 
23
- def_param_group :power_outlet do
24
- param :power_outlet, Hash, :required => true, :action_aware => true do
25
- param :name, String, :required => true
26
- param :device_id, :number, :desc => N_("Device ID")
27
- end
28
- end
23
+ def_param_group :power_outlet do
24
+ param :power_outlet, Hash, :required => true, :action_aware => true do
25
+ param :name, String, :required => true
26
+ param :device_id, :number, :desc => N_("Device ID")
27
+ end
28
+ end
29
29
 
30
- api :POST, "/foreman_datacenter/power_outlets", N_("Create a PowerOutlet")
31
- param_group :power_outlet, :as => :create
30
+ api :POST, "/foreman_datacenter/power_outlets", N_("Create a PowerOutlet")
31
+ param_group :power_outlet, :as => :create
32
32
 
33
- def create
34
- @power_outlet = ::ForemanDatacenter::PowerOutlet.new(power_outlet_params)
35
- @power_outlet.save
36
- end
33
+ def create
34
+ @power_outlet = ::ForemanDatacenter::PowerOutlet.new(power_outlet_params)
35
+ process_response @power_outlet.save
36
+ end
37
37
 
38
- api :PUT, "/foreman_datacenter/power_outlets/:id/", N_("Update a PowerOutlet")
39
- param :id, :identifier, :required => true
40
- param_group :power_outlet
38
+ api :PUT, "/foreman_datacenter/power_outlets/:id/", N_("Update a PowerOutlet")
39
+ param :id, :identifier, :required => true
40
+ param_group :power_outlet
41
41
 
42
- def update
43
- process_response @power_outlet.update(power_outlet_params)
44
- end
42
+ def update
43
+ process_response @power_outlet.update(power_outlet_params)
44
+ end
45
45
 
46
- api :DELETE, "/foreman_datacenter/power_outlets/:id/", N_("Delete a PowerOutlet")
47
- param :id, :identifier, :required => true
46
+ api :DELETE, "/foreman_datacenter/power_outlets/:id/", N_("Delete a PowerOutlet")
47
+ param :id, :identifier, :required => true
48
48
 
49
- def destroy
50
- process_response @power_outlet.destroy
51
- end
49
+ def destroy
50
+ process_response @power_outlet.destroy
51
+ end
52
52
 
53
- api :PATCH, "/foreman_datacenter/power_outlets/:id/connect", N_("Connect")
54
- param :id, :identifier, :required => true
55
- param_group :power_outlet
53
+ api :PATCH, "/foreman_datacenter/power_outlets/:id/connect", N_("Connect")
54
+ param :id, :identifier, :required => true
55
+ param_group :power_outlet
56
56
  param :console_server_port_id, :number, :desc => N_("ConsoleServerPort ID"), :required => true
57
57
  param :connection_status, :number, :desc => N_("Connections status"), :required => true
58
58
 
59
- def connect
59
+ def connect
60
60
  power_port = ::ForemanDatacenter::PowerPort.find(params[:power_port_id])
61
61
  power_port.connect(
62
62
  @power_outlet,
63
63
  params[:connection_status]
64
64
  )
65
- end
65
+ end
66
66
 
67
- api :PATCH, "/foreman_datacenter/power_outlets/:id/disconnect", N_("Disconnect")
68
- param :id, :identifier, :required => true
69
- param_group :power_outlet
67
+ api :PATCH, "/foreman_datacenter/power_outlets/:id/disconnect", N_("Disconnect")
68
+ param :id, :identifier, :required => true
69
+ param_group :power_outlet
70
70
 
71
- def disconnect
71
+ def disconnect
72
72
  process_response @power_outlet.power_port.disconnect
73
- end
73
+ end
74
74
  end
75
75
  end
76
76
  end
@@ -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(:second_interface, first_interface: [:device])
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
@@ -17,11 +17,8 @@ module ForemanDatacenter
17
17
 
18
18
  def show
19
19
  @device = ForemanDatacenter::Device.includes(
20
- power_ports: [:power_outlet, :device],
21
- power_outlets: [:device, :power_port],
22
- console_ports: [:console_server_port, :device],
23
- console_server_ports: [:console_port, :device],
24
- device_bays: [:installed_device],
20
+ power_ports: [:power_outlet],
21
+ console_ports: [:console_server_port],
25
22
  comments: [:user]
26
23
  ).find(params[:id])
27
24
  @comments = @device.comments
@@ -63,21 +60,10 @@ module ForemanDatacenter
63
60
  end
64
61
 
65
62
  def destroy
66
- unless params['object_only']
67
- if @device.destroy
68
- process_success success_redirect: "/datacenter/devices"
69
- else
70
- process_error object: @device
71
- end
63
+ if @device.destroy
64
+ process_success success_redirect: "/datacenter/devices"
72
65
  else
73
- if @device.host
74
- @device.host.destroy
75
- new_device_name = "Unassigned device (former: #{@device.name})"
76
- @device.update(name: new_device_name)
77
- process_success success_redirect: '/datacenter/devices', success_msg: 'Associated host deleted'
78
- else
79
- process_error success_redirect: '/datacenter/devices', error_msg: 'Associated host not found'
80
- end
66
+ process_error object: @device
81
67
  end
82
68
  end
83
69
 
@@ -154,4 +140,3 @@ module ForemanDatacenter
154
140
  end
155
141
  end
156
142
  end
157
-
@@ -59,7 +59,7 @@ module ForemanDatacenter
59
59
  end
60
60
 
61
61
  def racks
62
- @racks = @rack_group.racks.includes(:devices)
62
+ @racks = @rack_group.racks.includes(devices: [:device_role])
63
63
  process_error redirect: rack_groups_path(@rack_group), error_msg: 'Current Rack Group haven\'t any Racks.' if @racks.empty?
64
64
  end
65
65
 
@@ -51,8 +51,9 @@ module ForemanDatacenter
51
51
  end
52
52
 
53
53
  def racks
54
- @racks = @site.racks.includes(:devices)
55
- process_error redirect: site_path(@site), error_msg: 'Current site haven\'t any Racks.' if @racks.empty?
54
+ @rack_groups = @site.rack_groups.includes(racks: [devices: [:device_role]])
55
+ @ungrouped_racks = @site.racks.where(rack_group_id: nil)#.includes(:device_role)
56
+ process_error redirect: site_path(@site), error_msg: 'Current site haven\'t any Racks.' if (@rack_groups.empty? && @ungrouped_racks.empty?)
56
57
  end
57
58
 
58
59
  def move
@@ -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
- first_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
- <%= link_to port.console_server_port.device.name,
18
- device_path(port.console_server_port.device) %>
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
- <%= link_to connection.first_device.name,
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
- <%= link_to interface.connected_interface.device.name,
12
- device_path(interface.connected_interface.device) %>
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
- <%= h interface.connected_interface.name %>
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 %>
@@ -12,14 +12,14 @@
12
12
  :class => 'btn btn-warning'
13
13
  ),
14
14
  display_fake_delete_if_authorized(
15
- hash_for_platform_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') }
15
+ hash_for_platform_path(:id => @platform).merge(:auth_object => @platform, :authorizer => authorizer),
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
 
@@ -1,20 +1,18 @@
1
1
  <% stylesheet 'foreman_datacenter/datacenter' %>
2
2
  <% stylesheet 'foreman_datacenter/device_roles' %>
3
+ <% stylesheet 'foreman_datacenter/horizontal-scroll' %>
3
4
 
4
5
  <% title h(@rack_group.name) %>
5
6
 
6
7
  <%= breadcrumbs(items: [{caption: _('Rack Group %s') % @rack_group.name, url: rack_group_path(@rack_group)}, {caption: _('Racks Overview')}]) %>
7
8
 
8
- <% @racks.in_groups_of(3).each do |g| %>
9
- <div class="row">
10
- <% g.compact.each do |rack| %>
11
- <div class="col-md-4">
12
- <!-- Devices -->
13
- <%= render "foreman_datacenter/racks/device_position", rack: rack %>
14
- </div>
15
- <% end %>
16
- </div>
17
- <% end %>
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
+
18
17
  <div><h6 class="text-right"><%= _("* side is not defined") %></h6></div>
19
18
  <div><h6 class="text-right"><%= _("** size is not defined") %></h6></div>
20
-
@@ -25,7 +25,7 @@
25
25
  <% end %>
26
26
  <% unless rack.unpositioned_devices.empty? %>
27
27
  <tr>
28
- <td class="col-md-1">Unpositioned Devices</td>
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;">&nbsp;&nbsp;</div>
@@ -1,17 +1,36 @@
1
1
  <% stylesheet 'foreman_datacenter/datacenter' %>
2
2
  <% stylesheet 'foreman_datacenter/device_roles' %>
3
+ <% stylesheet 'foreman_datacenter/horizontal-scroll' %>
3
4
 
4
5
  <% title h(@site.name) %>
5
6
 
6
- <% @racks.in_groups_of(3).each do |g| %>
7
- <div class="row">
8
- <% g.compact.each do |rack| %>
7
+ <%= breadcrumbs(items: [{caption: _('Site %s') % @site.name, url: site_path(@site)}, {caption: _('Racks Overview')}]) %>
8
+
9
+ <% unless @rack_groups.empty? %>
10
+ <% @rack_groups.each do |rg| %>
11
+ <h2>
12
+ <%= rg.name %>
13
+ </h2>
14
+ <div class="row horizontal-scroll">
15
+ <% rg.racks.each do |rack| %>
16
+ <div class="col-md-4">
17
+ <%= render "foreman_datacenter/racks/device_position", rack: rack %>
18
+ </div>
19
+ <% end %>
20
+ </div>
21
+ <% end %>
22
+ <% end %>
23
+
24
+ <% unless @ungrouped_racks.empty? %>
25
+ <h2>Ungrouped Racks</h2>
26
+ <div class="row horizontal-scroll">
27
+ <% @ungrouped_racks.each do |rack| %>
9
28
  <div class="col-md-4">
10
- <!-- Devices -->
11
29
  <%= render "foreman_datacenter/racks/device_position", rack: rack %>
12
30
  </div>
13
31
  <% end %>
14
32
  </div>
15
33
  <% end %>
34
+
16
35
  <div><h6 class="text-right"><%= _("* side is not defined") %></h6></div>
17
36
  <div><h6 class="text-right"><%= _("** size is not defined") %></h6></div>
@@ -1,4 +1,4 @@
1
- class AddLocationIdAndOrganizationIdColumnsToDevices < ActiveRecord::Migration
1
+ class AddLocationIdAndOrganizationIdColumnsToDevices < ActiveRecord::Migration[4.2]
2
2
  def change
3
3
  add_column :devices, :organization_id, :integer
4
4
  add_column :devices, :location_id, :integer
@@ -1,3 +1,3 @@
1
1
  module ForemanDatacenter
2
- VERSION = '1.19.5'.freeze
2
+ VERSION = '1.19.6'.freeze
3
3
  end
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.19.5
4
+ version: 1.19.6
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-06-25 00:00:00.000000000 Z
12
+ date: 2019-07-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: prawn
@@ -90,6 +90,7 @@ 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
93
94
  - app/assets/stylesheets/foreman_datacenter/modal.css
94
95
  - app/assets/stylesheets/foreman_datacenter/title_filter.css
95
96
  - app/controllers/api/v2/foreman_datacenter/base_controller.rb
@@ -593,7 +594,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
593
594
  - !ruby/object:Gem::Version
594
595
  version: '0'
595
596
  requirements: []
596
- rubygems_version: 3.0.2
597
+ rubygems_version: 3.0.3
597
598
  signing_key:
598
599
  specification_version: 4
599
600
  summary: A plugin that lets you document your servers in a datacenter