foreman_datacenter 1.16.12 → 1.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_datacenter/modal.js +9 -22
  3. data/app/assets/stylesheets/foreman_datacenter/datacenter.css +0 -3
  4. data/app/assets/stylesheets/foreman_datacenter/device_roles.css +0 -32
  5. data/app/controllers/api/v2/foreman_datacenter/console_port_templates_controller.rb +1 -0
  6. data/app/controllers/api/v2/foreman_datacenter/console_ports_controller.rb +1 -0
  7. data/app/controllers/api/v2/foreman_datacenter/console_server_port_templates_controller.rb +1 -0
  8. data/app/controllers/api/v2/foreman_datacenter/console_server_ports_controller.rb +1 -0
  9. data/app/controllers/api/v2/foreman_datacenter/device_bay_templates_controller.rb +1 -0
  10. data/app/controllers/api/v2/foreman_datacenter/device_bays_controller.rb +25 -24
  11. data/app/controllers/api/v2/foreman_datacenter/device_interface_connections_controller.rb +27 -27
  12. data/app/controllers/api/v2/foreman_datacenter/device_interfaces_controller.rb +2 -1
  13. data/app/controllers/api/v2/foreman_datacenter/device_modules_controller.rb +1 -0
  14. data/app/controllers/api/v2/foreman_datacenter/device_roles_controller.rb +1 -0
  15. data/app/controllers/api/v2/foreman_datacenter/device_types_controller.rb +1 -0
  16. data/app/controllers/api/v2/foreman_datacenter/devices_controller.rb +2 -1
  17. data/app/controllers/api/v2/foreman_datacenter/interface_templates_controller.rb +1 -0
  18. data/app/controllers/api/v2/foreman_datacenter/management_devices_controller.rb +1 -1
  19. data/app/controllers/api/v2/foreman_datacenter/manufacturers_controller.rb +1 -0
  20. data/app/controllers/api/v2/foreman_datacenter/platforms_controller.rb +1 -0
  21. data/app/controllers/api/v2/foreman_datacenter/power_outlet_templates_controller.rb +1 -0
  22. data/app/controllers/api/v2/foreman_datacenter/power_outlets_controller.rb +2 -1
  23. data/app/controllers/api/v2/foreman_datacenter/power_port_templates_controller.rb +1 -0
  24. data/app/controllers/api/v2/foreman_datacenter/power_ports_controller.rb +1 -0
  25. data/app/controllers/api/v2/foreman_datacenter/rack_groups_controller.rb +24 -23
  26. data/app/controllers/api/v2/foreman_datacenter/racks_controller.rb +1 -6
  27. data/app/controllers/api/v2/foreman_datacenter/sites_controller.rb +32 -25
  28. data/app/controllers/concerns/foreman_datacenter/controller/parameters/comment.rb +1 -1
  29. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_port.rb +1 -1
  30. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_port_template.rb +1 -1
  31. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_server_port.rb +1 -1
  32. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_server_port_template.rb +1 -1
  33. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_bay.rb +1 -1
  34. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_bay_template.rb +1 -1
  35. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_interface.rb +1 -1
  36. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_interface_connection.rb +1 -1
  37. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_module.rb +1 -1
  38. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_role.rb +1 -1
  39. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_type.rb +1 -1
  40. data/app/controllers/foreman_datacenter/application_controller.rb +0 -2
  41. data/app/controllers/foreman_datacenter/console_ports_controller.rb +4 -2
  42. data/app/controllers/foreman_datacenter/console_server_ports_controller.rb +10 -5
  43. data/app/controllers/foreman_datacenter/device_bays_controller.rb +10 -5
  44. data/app/controllers/foreman_datacenter/device_interface_connections_controller.rb +4 -7
  45. data/app/controllers/foreman_datacenter/device_interfaces_controller.rb +6 -3
  46. data/app/controllers/foreman_datacenter/device_modules_controller.rb +7 -3
  47. data/app/controllers/foreman_datacenter/device_types_controller.rb +2 -1
  48. data/app/controllers/foreman_datacenter/devices_controller.rb +25 -8
  49. data/app/controllers/foreman_datacenter/management_devices_controller.rb +6 -3
  50. data/app/controllers/foreman_datacenter/power_outlets_controller.rb +10 -5
  51. data/app/controllers/foreman_datacenter/power_ports_controller.rb +10 -5
  52. data/app/controllers/foreman_datacenter/rack_groups_controller.rb +1 -6
  53. data/app/controllers/foreman_datacenter/sites_controller.rb +1 -7
  54. data/app/models/foreman_datacenter/device.rb +0 -1
  55. data/app/models/foreman_datacenter/device_interface_connection.rb +2 -2
  56. data/app/models/foreman_datacenter/site.rb +0 -1
  57. data/app/views/foreman_datacenter/comments/edit.html.erb +2 -0
  58. data/app/views/foreman_datacenter/comments/new.html.erb +2 -0
  59. data/app/views/foreman_datacenter/common/404.html.erb +2 -0
  60. data/app/views/foreman_datacenter/console_port_templates/new.html.erb +2 -0
  61. data/app/views/foreman_datacenter/console_ports/edit.html.erb +2 -0
  62. data/app/views/foreman_datacenter/console_ports/index.html.erb +5 -27
  63. data/app/views/foreman_datacenter/console_ports/new.html.erb +2 -0
  64. data/app/views/foreman_datacenter/console_ports/new_connection.html.erb +2 -0
  65. data/app/views/foreman_datacenter/console_ports/welcome.html.erb +2 -0
  66. data/app/views/foreman_datacenter/console_server_port_templates/new.html.erb +2 -0
  67. data/app/views/foreman_datacenter/console_server_ports/edit.html.erb +2 -0
  68. data/app/views/foreman_datacenter/console_server_ports/new.html.erb +2 -0
  69. data/app/views/foreman_datacenter/console_server_ports/new_connection.html.erb +2 -0
  70. data/app/views/foreman_datacenter/device_bay_templates/new.html.erb +2 -0
  71. data/app/views/foreman_datacenter/device_bays/edit.html.erb +2 -0
  72. data/app/views/foreman_datacenter/device_bays/new.html.erb +2 -0
  73. data/app/views/foreman_datacenter/device_bays/populate_new.html.erb +2 -0
  74. data/app/views/foreman_datacenter/device_interface_connections/index.html.erb +3 -23
  75. data/app/views/foreman_datacenter/device_interface_connections/new.html.erb +2 -0
  76. data/app/views/foreman_datacenter/device_interface_connections/welcome.html.erb +2 -0
  77. data/app/views/foreman_datacenter/device_interfaces/edit.html.erb +2 -0
  78. data/app/views/foreman_datacenter/device_interfaces/new.html.erb +2 -0
  79. data/app/views/foreman_datacenter/device_modules/edit.html.erb +2 -0
  80. data/app/views/foreman_datacenter/device_modules/new.html.erb +2 -0
  81. data/app/views/foreman_datacenter/device_roles/edit.html.erb +2 -0
  82. data/app/views/foreman_datacenter/device_roles/index.html.erb +1 -1
  83. data/app/views/foreman_datacenter/device_roles/new.html.erb +2 -0
  84. data/app/views/foreman_datacenter/device_roles/show.html.erb +3 -1
  85. data/app/views/foreman_datacenter/device_roles/welcome.html.erb +2 -0
  86. data/app/views/foreman_datacenter/device_types/edit.html.erb +2 -0
  87. data/app/views/foreman_datacenter/device_types/index.html.erb +1 -1
  88. data/app/views/foreman_datacenter/device_types/new.html.erb +2 -0
  89. data/app/views/foreman_datacenter/device_types/show.html.erb +3 -1
  90. data/app/views/foreman_datacenter/device_types/welcome.html.erb +2 -0
  91. data/app/views/foreman_datacenter/devices/_interface.html.erb +3 -17
  92. data/app/views/foreman_datacenter/devices/edit.html.erb +2 -0
  93. data/app/views/foreman_datacenter/devices/index.html.erb +1 -1
  94. data/app/views/foreman_datacenter/devices/inventory.html.erb +2 -0
  95. data/app/views/foreman_datacenter/devices/new.html.erb +2 -0
  96. data/app/views/foreman_datacenter/devices/show.html.erb +3 -4
  97. data/app/views/foreman_datacenter/devices/welcome.html.erb +2 -0
  98. data/app/views/foreman_datacenter/interface_templates/new.html.erb +2 -0
  99. data/app/views/foreman_datacenter/management_devices/edit.html.erb +2 -0
  100. data/app/views/foreman_datacenter/management_devices/new.html.erb +2 -0
  101. data/app/views/foreman_datacenter/manufacturers/edit.html.erb +2 -0
  102. data/app/views/foreman_datacenter/manufacturers/index.html.erb +1 -1
  103. data/app/views/foreman_datacenter/manufacturers/new.html.erb +2 -0
  104. data/app/views/foreman_datacenter/manufacturers/show.html.erb +3 -1
  105. data/app/views/foreman_datacenter/manufacturers/welcome.html.erb +2 -0
  106. data/app/views/foreman_datacenter/platforms/edit.html.erb +2 -0
  107. data/app/views/foreman_datacenter/platforms/index.html.erb +1 -1
  108. data/app/views/foreman_datacenter/platforms/new.html.erb +2 -0
  109. data/app/views/foreman_datacenter/platforms/show.html.erb +10 -8
  110. data/app/views/foreman_datacenter/platforms/welcome.html.erb +2 -0
  111. data/app/views/foreman_datacenter/power_outlet_templates/new.html.erb +2 -0
  112. data/app/views/foreman_datacenter/power_outlets/edit.html.erb +2 -0
  113. data/app/views/foreman_datacenter/power_outlets/new.html.erb +2 -0
  114. data/app/views/foreman_datacenter/power_outlets/new_connection.html.erb +2 -0
  115. data/app/views/foreman_datacenter/power_port_templates/new.html.erb +2 -0
  116. data/app/views/foreman_datacenter/power_ports/edit.html.erb +2 -0
  117. data/app/views/foreman_datacenter/power_ports/new.html.erb +2 -0
  118. data/app/views/foreman_datacenter/power_ports/new_connection.html.erb +2 -0
  119. data/app/views/foreman_datacenter/power_ports/welcome.html.erb +2 -0
  120. data/app/views/foreman_datacenter/rack_groups/edit.html.erb +2 -0
  121. data/app/views/foreman_datacenter/rack_groups/move.html.erb +2 -0
  122. data/app/views/foreman_datacenter/rack_groups/new.html.erb +2 -0
  123. data/app/views/foreman_datacenter/rack_groups/show.html.erb +3 -4
  124. data/app/views/foreman_datacenter/racks/_device_position.html.erb +3 -21
  125. data/app/views/foreman_datacenter/racks/_unpositioned_devices.html.erb +1 -1
  126. data/app/views/foreman_datacenter/racks/edit.html.erb +2 -0
  127. data/app/views/foreman_datacenter/racks/move.html.erb +2 -0
  128. data/app/views/foreman_datacenter/racks/new.html.erb +2 -0
  129. data/app/views/foreman_datacenter/racks/show.html.erb +4 -0
  130. data/app/views/foreman_datacenter/shared/_aa.html.erb +1 -0
  131. data/app/views/foreman_datacenter/sites/edit.html.erb +2 -0
  132. data/app/views/foreman_datacenter/sites/move.html.erb +2 -0
  133. data/app/views/foreman_datacenter/sites/new.html.erb +2 -0
  134. data/app/views/foreman_datacenter/sites/show.html.erb +3 -4
  135. data/config/routes.rb +0 -2
  136. data/db/migrate/20180725201545_add_location_id_and_organization_id_columns_to_devices.rb +1 -1
  137. data/lib/foreman_datacenter/engine.rb +2 -2
  138. data/lib/foreman_datacenter/version.rb +1 -1
  139. metadata +4 -8
  140. data/app/assets/stylesheets/foreman_datacenter/horizontal-scroll.css +0 -9
  141. data/app/controllers/concerns/foreman_datacenter/controller/racks.rb +0 -10
  142. data/app/views/foreman_datacenter/rack_groups/racks.html.erb +0 -16
  143. data/app/views/foreman_datacenter/racks/_dp.html.erb +0 -46
  144. data/app/views/foreman_datacenter/sites/racks.html.erb +0 -34
@@ -33,7 +33,8 @@ module ForemanDatacenter
33
33
 
34
34
  def update
35
35
  if @device_type.update(device_type_params)
36
- process_success object: @device_type
36
+ redirect_to device_type_url(@device_type),
37
+ notice: 'Device type was successfully updated'
37
38
  else
38
39
  process_error object: @device_type
39
40
  end
@@ -17,8 +17,11 @@ module ForemanDatacenter
17
17
 
18
18
  def show
19
19
  @device = ForemanDatacenter::Device.includes(
20
- power_ports: [:power_outlet],
21
- console_ports: [:console_server_port],
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],
22
25
  comments: [:user]
23
26
  ).find(params[:id])
24
27
  @comments = @device.comments
@@ -60,10 +63,21 @@ module ForemanDatacenter
60
63
  end
61
64
 
62
65
  def destroy
63
- if @device.destroy
64
- process_success success_redirect: "/datacenter/devices"
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
65
72
  else
66
- process_error object: @device
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
67
81
  end
68
82
  end
69
83
 
@@ -96,7 +110,7 @@ module ForemanDatacenter
96
110
  @device.non_management_interfaces.
97
111
  where(id: params[:interfaces]).
98
112
  destroy_all
99
- process_success(success_msg: "Selected interfaces were successfully destroyed.", success_redirect: device_url(id: @device))
113
+ redirect_to device_url(@device)
100
114
  end
101
115
 
102
116
  def qr_code
@@ -107,9 +121,11 @@ module ForemanDatacenter
107
121
 
108
122
  def sync_interfaces_with_host
109
123
  if @device.sync_interfaces_with_host
110
- process_success(success_msg: "Device successfully synchronized.", success_redirect: device_url(id: @device))
124
+ notice("Device successfully synchronized.")
125
+ redirect_to device_url(@device)
111
126
  else
112
- process_error(error_msg: "Unsuccessfully synchronization.", redirect: device_url(@device))
127
+ error("Unsuccessful synchronization.")
128
+ redirect_to device_url(@device)
113
129
  end
114
130
  end
115
131
 
@@ -138,3 +154,4 @@ module ForemanDatacenter
138
154
  end
139
155
  end
140
156
  end
157
+
@@ -16,7 +16,8 @@ module ForemanDatacenter
16
16
  @management_device = ManagementDevice.new(management_device_params.merge(device_id: params[:device_id]))
17
17
 
18
18
  if @management_device.save
19
- process_success(success_redirect: device_url(id: @management_device.device))
19
+ redirect_to device_url(@management_device.device),
20
+ notice: 'New management device was successfully created'
20
21
  else
21
22
  process_error object: @management_device
22
23
  end
@@ -24,7 +25,8 @@ module ForemanDatacenter
24
25
 
25
26
  def update
26
27
  if @management_device.update(management_device_params)
27
- process_success(success_redirect: device_url(id: @management_device.device))
28
+ redirect_to device_url(@management_device.device),
29
+ notice: 'Management device was successfully updated'
28
30
  else
29
31
  process_error object: @management_device
30
32
  end
@@ -32,7 +34,8 @@ module ForemanDatacenter
32
34
 
33
35
  def destroy
34
36
  if @management_device.destroy
35
- process_success(success_redirect: device_url(id: @management_device.device))
37
+ redirect_to device_url(@management_device.device),
38
+ notice: 'Management device was successfully destroyed'
36
39
  else
37
40
  process_error object: @management_device
38
41
  end
@@ -18,7 +18,8 @@ module ForemanDatacenter
18
18
  @power_outlet = PowerOutlet.new(power_outlet_params.merge(device_id: params[:device_id]))
19
19
 
20
20
  if @power_outlet.save
21
- process_success(success_redirect: device_url(id: @power_outlet.device_id))
21
+ redirect_to device_url(id: @power_outlet.device_id),
22
+ notice: 'Power outlet was successfully created.'
22
23
  else
23
24
  process_error object: @power_outlet
24
25
  end
@@ -26,7 +27,8 @@ module ForemanDatacenter
26
27
 
27
28
  def update
28
29
  if @power_outlet.update(power_outlet_params)
29
- process_success(success_redirect: device_url(id: @power_outlet.device_id))
30
+ redirect_to device_url(id: @power_outlet.device_id),
31
+ notice: 'Power outlet was successfully updated.'
30
32
  else
31
33
  process_error object: @power_outlet
32
34
  end
@@ -34,7 +36,8 @@ module ForemanDatacenter
34
36
 
35
37
  def destroy
36
38
  if @power_outlet.destroy
37
- process_success(success_redirect: device_url(id: @power_outlet.device_id))
39
+ redirect_to device_url(id: @power_outlet.device_id),
40
+ notice: 'Power outlet was successfully destroyed.'
38
41
  else
39
42
  process_error object: @power_outlet
40
43
  end
@@ -49,12 +52,14 @@ module ForemanDatacenter
49
52
  @power_outlet,
50
53
  params[:power_port][:connection_status]
51
54
  )
52
- process_success(success_msg: "Power outlet was successfully connected.", success_redirect: device_url(id: @power_outlet.device_id))
55
+ redirect_to device_url(id: @power_outlet.device_id),
56
+ notice: 'Power outlet was successfully connected.'
53
57
  end
54
58
 
55
59
  def disconnect
56
60
  @power_outlet.power_port.disconnect
57
- process_success(success_msg: "Power outlet was successfully disconnected.", success_redirect: device_url(id: @power_outlet.device_id))
61
+ redirect_to device_url(id: @power_outlet.device_id),
62
+ notice: 'Power outlet was successfully disconnected.'
58
63
  end
59
64
 
60
65
  def for_device
@@ -24,7 +24,8 @@ module ForemanDatacenter
24
24
  @power_port = ForemanDatacenter::PowerPort.new(power_port_params.merge(device_id: params[:device_id]))
25
25
 
26
26
  if @power_port.save
27
- process_success(success_redirect: device_url(id: @power_port.device_id))
27
+ redirect_to device_url(id: @power_port.device_id),
28
+ notice: 'Power port was successfully created.'
28
29
  else
29
30
  process_error object: @power_port
30
31
  end
@@ -32,7 +33,8 @@ module ForemanDatacenter
32
33
 
33
34
  def update
34
35
  if @power_port.update(power_port_params)
35
- process_success(success_redirect: device_url(id: @power_port.device_id))
36
+ redirect_to device_url(id: @power_port.device_id),
37
+ notice: 'Power port was successfully updated.'
36
38
  else
37
39
  process_error object: @power_port
38
40
  end
@@ -40,7 +42,8 @@ module ForemanDatacenter
40
42
 
41
43
  def destroy
42
44
  if @power_port.destroy
43
- process_success(success_redirect: device_url(id: @power_port.device_id))
45
+ redirect_to device_url(id: @power_port.device_id),
46
+ notice: 'Power port was successfully destroyed.'
44
47
  else
45
48
  process_error object: @power_port
46
49
  end
@@ -70,12 +73,14 @@ module ForemanDatacenter
70
73
  power_outlet,
71
74
  params[:power_port][:connection_status]
72
75
  )
73
- process_success(success_msg: "Power port was successfully connected.", success_redirect: device_url(id: @power_port.device_id))
76
+ redirect_to device_url(id: @power_port.device_id),
77
+ notice: 'Power port was successfully connected.'
74
78
  end
75
79
 
76
80
  def disconnect
77
81
  @power_port.disconnect
78
- process_success(success_msg: "Power port was successfully disconnected.", success_redirect: device_url(id: @power_port.device_id))
82
+ redirect_to device_url(id: @power_port.device_id),
83
+ notice: 'Power port was successfully disconnected.'
79
84
  end
80
85
  end
81
86
  end
@@ -3,7 +3,7 @@ module ForemanDatacenter
3
3
  include Foreman::Controller::AutoCompleteSearch
4
4
  include ForemanDatacenter::Controller::Parameters::RackGroup
5
5
 
6
- before_action :find_resource, only: [:show, :edit, :update, :destroy, :move, :racks]
6
+ before_action :find_resource, only: [:show, :edit, :update, :destroy, :move]
7
7
 
8
8
  def index
9
9
  @rack_groups = resource_base_search_and_page.includes(:site, :racks)
@@ -58,11 +58,6 @@ module ForemanDatacenter
58
58
  process_error object: @rack_group, error_msg: 'Current Rack Group haven\'t any Racks.' if @racks.empty?
59
59
  end
60
60
 
61
- def racks
62
- @racks = @rack_group.racks.includes(devices: [:device_role])
63
- process_error redirect: rack_groups_path(@rack_group), error_msg: 'Current Rack Group haven\'t any Racks.' if @racks.empty?
64
- end
65
-
66
61
  def update_associated_objects
67
62
  begin
68
63
  @rack_group = ForemanDatacenter::RackGroup.find(request.env['HTTP_REFERER'].split('/')[-2])
@@ -3,7 +3,7 @@ module ForemanDatacenter
3
3
  include Foreman::Controller::AutoCompleteSearch
4
4
  include ForemanDatacenter::Controller::Parameters::Site
5
5
 
6
- before_action :find_resource, only: [:show, :edit, :update, :destroy, :move, :racks]
6
+ before_action :find_resource, only: [:show, :edit, :update, :destroy, :move]
7
7
 
8
8
  def index
9
9
  @sites = resource_base_search_and_page
@@ -50,12 +50,6 @@ module ForemanDatacenter
50
50
  end
51
51
  end
52
52
 
53
- def racks
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?)
57
- end
58
-
59
53
  def move
60
54
  @sites = resource_base_search_and_page
61
55
  @rack_groups = @site.rack_groups
@@ -51,7 +51,6 @@ module ForemanDatacenter
51
51
  scoped_search in: :device_role, on: :name, complete_value: true, rename: :role
52
52
  scoped_search in: :device_type, on: :model, complete_value: true, rename: :type
53
53
  scoped_search in: :platform, on: :name, complete_value: true, rename: :platform
54
- scoped_search in: :comments, on: :content, complete_value: true, rename: :comments
55
54
 
56
55
  delegate :site_id, to: :rack, allow_nil: true
57
56
  delegate :manufacturer_id, :is_console_server, :is_pdu, :is_network_device,
@@ -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
- self.try(:first_interface).try(:device)
26
+ first_interface.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
- self.try(:second_interface).try(:device)
38
+ first_interface.device
39
39
  end
40
40
 
41
41
  def second_rack
@@ -20,7 +20,6 @@ module ForemanDatacenter
20
20
  scoped_search on: :shipping_address, complete_value: true, default_order: true
21
21
  scoped_search on: :created_at, complete_value: true, default_order: true
22
22
  scoped_search on: :updated_at, complete_value: true, default_order: true
23
- scoped_search on: :comments, complete_value: true, default_order: true
24
23
 
25
24
  def racks_count
26
25
  @racks_count ||= racks.count
@@ -1,3 +1,5 @@
1
1
  <% title _("Edit Comment") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: "#{_(@resource_class)} #{@comment.commentable.to_label}", url: commentable_path(@comment)}, {caption: _('Edit Comment')}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,3 +1,5 @@
1
1
  <% title _('Reply') %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: "#{_(@resource_class)} #{@parent.commentable.to_label}", url: commentable_path(@parent)}, {caption: _('Edit Comment')}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,3 +1,5 @@
1
+ <%= breadcrumbs(items: [{caption: _('%s') % controller_name.camelize, url: "/datacenter/#{controller_name}"}, {caption: ""}]) %>
2
+
1
3
  <div class='col-md-offset-4 col-md-4'>
2
4
  <%= alert :header => (_(controller_name.camelize.singularize) rescue nil) + ' ' + _('not found'),
3
5
  :text => _('Please try to update your request'),
@@ -1,3 +1,5 @@
1
1
  <% title _("Create Console Port Template") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device Type %s') % @console_port_template.device_type.to_label, url: device_type_path(@console_port_template.device_type)}, {caption: _("Create Console Port Template")}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,3 +1,5 @@
1
1
  <% title _("Edit %s") % @console_port.to_label %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @console_port.device.to_label, url: device_path(@console_port.device)}, {caption: _("Edit %s") % @console_port.to_label}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -14,34 +14,12 @@
14
14
  <% for port in @console_ports %>
15
15
  <tr>
16
16
  <td>
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 %>
17
+ <%= link_to port.console_server_port.device.name,
18
+ device_path(port.console_server_port.device) %>
44
19
  </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>
45
23
  </tr>
46
24
  <% end %>
47
25
  </tbody>
@@ -1,3 +1,5 @@
1
1
  <% title _("Create Console Port") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @console_port.device.to_label, url: device_path(@console_port.device)}, {caption: _("Create Console Port")}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -3,6 +3,8 @@
3
3
 
4
4
  <% title "Connect '#{@console_port.device.name}' - '#{@console_port.name}'" %>
5
5
 
6
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @console_port.device.to_label, url: device_path(@console_port.device)}, {caption: "Connect '#{@console_port.device.name}' - '#{@console_port.name}'"}]) %>
7
+
6
8
  <%= form_for :console_port, url: connect_console_port_path(@console_port),
7
9
  method: :patch do |f| %>
8
10
  <%= rack_device_select @console_port.device.site,
@@ -1,3 +1,5 @@
1
+ <%= breadcrumbs(items: [{caption: _('Console Ports'), url: console_ports_path}, {caption: ""}]) %>
2
+
1
3
  <% content_for(:title, _("Console Ports")) %>
2
4
  <div class="blank-slate-pf">
3
5
  <div class="blank-slate-pf-icon">
@@ -1,3 +1,5 @@
1
1
  <% title _("Create Console Server Port Template") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device Type %s') % @console_server_port_template.device_type.to_label, url: device_type_path(@console_server_port_template.device_type)}, {caption: _("Create Console Server Port Template")}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,3 +1,5 @@
1
1
  <% title _("Edit %s") % @console_server_port.to_label %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @console_server_port.device.to_label, url: device_path(@console_server_port.device)}, {caption: _("Edit %s") % @console_server_port.to_label}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,3 +1,5 @@
1
1
  <% title _("Create Console Server Port") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @console_server_port.device.to_label, url: device_path(@console_server_port.device)}, {caption: _("Create Console Server Port")}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -3,6 +3,8 @@
3
3
 
4
4
  <% title "Connect '#{@console_server_port.device.name}' - '#{@console_server_port.name}'" %>
5
5
 
6
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @console_server_port.device.to_label, url: device_path(@console_server_port.device)}, {caption: _("Connect '#{@console_server_port.device.name}' - '#{@console_server_port.name}'")}]) %>
7
+
6
8
  <%= form_for :console_port, url: connect_console_server_port_path(@console_server_port),
7
9
  method: :patch do |f| %>
8
10
  <%= rack_device_select @console_server_port.device.site,
@@ -1,3 +1,5 @@
1
1
  <% title _("Create Device Bay Template") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device Type %s') % @device_bay_template.device_type.to_label, url: device_type_path(@device_bay_template.device_type)}, {caption: _("Create Device Bay Template")}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,3 +1,5 @@
1
1
  <% title _("Edit %s") % @device_bay.to_label %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @device_bay.device.to_label, url: device_path(@device_bay.device)}, {caption: _("Edit %s") % @device_bay.to_label}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,3 +1,5 @@
1
1
  <% title _("Create Device Bay") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @device_bay.device.to_label, url: device_path(@device_bay.device)}, {caption: _("Create Device Bay")}]) %>
4
+
3
5
  <%= render 'form' %>
@@ -1,5 +1,7 @@
1
1
  <% title _("Populate New") %>
2
2
 
3
+ <%= breadcrumbs(items: [{caption: _('Device %s') % @device_bay.device.to_label, url: device_path(@device_bay.device)}, {caption: _("Populate New")}]) %>
4
+
3
5
  <%= form_for @device_bay, as: :device_bay, url: populate_device_bay_path(@device_bay) do |f| %>
4
6
  <%= base_errors_for @device_bay %>
5
7
 
@@ -15,35 +15,15 @@
15
15
  <% for connection in @device_interface_connections %>
16
16
  <tr>
17
17
  <td>
18
- <% if connection.first_device %>
19
- <%= link_to connection.first_device.name,
18
+ <%= link_to connection.first_device.name,
20
19
  device_path(connection.first_device) %>
21
- <% else %>
22
- <%= muted_text("Device not found", "span") %>
23
- <% end %>
24
20
  </td>
21
+ <td><%= h connection.first_interface.name %></td>
25
22
  <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 %>
34
23
  <%= link_to connection.second_device.name,
35
24
  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 %>
46
25
  </td>
26
+ <td><%= h connection.second_interface.name %></td>
47
27
  </tr>
48
28
  <% end %>
49
29
  </tbody>