foreman_datacenter 0.1.54 → 0.1.55

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.
Files changed (404) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/foreman_datacenter/modal.js +75 -0
  3. data/app/assets/javascripts/foreman_datacenter/modal_bck.js +21 -0
  4. data/app/assets/stylesheets/foreman_datacenter/datacenter.css +3 -2
  5. data/app/assets/stylesheets/foreman_datacenter/device_roles.css +0 -1
  6. data/app/assets/stylesheets/foreman_datacenter/devices.css +2 -0
  7. data/app/assets/stylesheets/foreman_datacenter/modal.css +109 -0
  8. data/app/assets/stylesheets/foreman_datacenter/title_filter.css +3 -0
  9. data/app/controllers/api/v2/foreman_datacenter/base_controller.rb +77 -0
  10. data/app/controllers/api/v2/foreman_datacenter/console_port_templates_controller.rb +48 -0
  11. data/app/controllers/api/v2/foreman_datacenter/console_ports_controller.rb +95 -0
  12. data/app/controllers/api/v2/foreman_datacenter/console_server_port_templates_controller.rb +48 -0
  13. data/app/controllers/api/v2/foreman_datacenter/console_server_ports_controller.rb +77 -0
  14. data/app/controllers/api/v2/foreman_datacenter/device_bay_templates_controller.rb +49 -0
  15. data/app/controllers/api/v2/foreman_datacenter/device_bays_controller.rb +75 -0
  16. data/app/controllers/api/v2/foreman_datacenter/device_interface_connections_controller.rb +71 -0
  17. data/app/controllers/api/v2/foreman_datacenter/device_interfaces_controller.rb +62 -0
  18. data/app/controllers/api/v2/foreman_datacenter/device_modules_controller.rb +58 -0
  19. data/app/controllers/api/v2/foreman_datacenter/device_roles_controller.rb +58 -0
  20. data/app/controllers/api/v2/foreman_datacenter/device_types_controller.rb +67 -0
  21. data/app/controllers/api/v2/foreman_datacenter/devices_controller.rb +87 -0
  22. data/app/controllers/api/v2/foreman_datacenter/devices_controller.rb~ +87 -0
  23. data/app/controllers/api/v2/foreman_datacenter/interface_templates_controller.rb +50 -0
  24. data/app/controllers/api/v2/foreman_datacenter/management_devices_controller.rb +58 -0
  25. data/app/controllers/api/v2/foreman_datacenter/manufacturers_controller.rb +57 -0
  26. data/app/controllers/api/v2/foreman_datacenter/platforms_controller.rb +58 -0
  27. data/app/controllers/api/v2/foreman_datacenter/power_outlet_templates_controller.rb +49 -0
  28. data/app/controllers/api/v2/foreman_datacenter/power_outlets_controller.rb +77 -0
  29. data/app/controllers/api/v2/foreman_datacenter/power_port_templates_controller.rb +49 -0
  30. data/app/controllers/api/v2/foreman_datacenter/power_ports_controller.rb +94 -0
  31. data/app/controllers/api/v2/foreman_datacenter/rack_groups_controller.rb +64 -0
  32. data/app/controllers/api/v2/foreman_datacenter/racks_controller.rb +62 -0
  33. data/app/controllers/api/v2/foreman_datacenter/sites_controller.rb +65 -0
  34. data/app/controllers/concerns/foreman_datacenter/controller/parameters/comment.rb +16 -0
  35. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_port.rb +15 -0
  36. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_port_template.rb +15 -0
  37. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_server_port.rb +15 -0
  38. data/app/controllers/concerns/foreman_datacenter/controller/parameters/console_server_port_template.rb +15 -0
  39. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device.rb +18 -0
  40. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_bay.rb +15 -0
  41. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_bay_template.rb +15 -0
  42. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_interface.rb +17 -0
  43. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_interface_connection.rb +15 -0
  44. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_module.rb +15 -0
  45. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_role.rb +15 -0
  46. data/app/controllers/concerns/foreman_datacenter/controller/parameters/device_type.rb +17 -0
  47. data/app/controllers/concerns/foreman_datacenter/controller/parameters/interface_template.rb +15 -0
  48. data/app/controllers/concerns/foreman_datacenter/controller/parameters/management_device.rb +15 -0
  49. data/app/controllers/concerns/foreman_datacenter/controller/parameters/manufacturer.rb +15 -0
  50. data/app/controllers/concerns/foreman_datacenter/controller/parameters/platform.rb +15 -0
  51. data/app/controllers/concerns/foreman_datacenter/controller/parameters/power_outlet.rb +15 -0
  52. data/app/controllers/concerns/foreman_datacenter/controller/parameters/power_outlet_template.rb +15 -0
  53. data/app/controllers/concerns/foreman_datacenter/controller/parameters/power_port.rb +15 -0
  54. data/app/controllers/concerns/foreman_datacenter/controller/parameters/power_port_template.rb +15 -0
  55. data/app/controllers/concerns/foreman_datacenter/controller/parameters/rack.rb +16 -0
  56. data/app/controllers/concerns/foreman_datacenter/controller/parameters/rack_group.rb +15 -0
  57. data/app/controllers/concerns/foreman_datacenter/controller/parameters/site.rb +16 -0
  58. data/app/controllers/foreman_datacenter/application_controller.rb +99 -0
  59. data/app/controllers/foreman_datacenter/comments_controller.rb +38 -53
  60. data/app/controllers/foreman_datacenter/console_port_templates_controller.rb +9 -19
  61. data/app/controllers/foreman_datacenter/console_ports_controller.rb +14 -23
  62. data/app/controllers/foreman_datacenter/console_server_port_templates_controller.rb +9 -19
  63. data/app/controllers/foreman_datacenter/console_server_ports_controller.rb +11 -19
  64. data/app/controllers/foreman_datacenter/device_bay_templates_controller.rb +9 -19
  65. data/app/controllers/foreman_datacenter/device_bays_controller.rb +8 -15
  66. data/app/controllers/foreman_datacenter/device_interface_connections_controller.rb +10 -19
  67. data/app/controllers/foreman_datacenter/device_interfaces_controller.rb +8 -17
  68. data/app/controllers/foreman_datacenter/device_modules_controller.rb +6 -14
  69. data/app/controllers/foreman_datacenter/device_roles_controller.rb +15 -16
  70. data/app/controllers/foreman_datacenter/device_types_controller.rb +17 -21
  71. data/app/controllers/foreman_datacenter/devices_controller.rb +35 -45
  72. data/app/controllers/foreman_datacenter/interface_templates_controller.rb +6 -17
  73. data/app/controllers/foreman_datacenter/management_devices_controller.rb +5 -14
  74. data/app/controllers/foreman_datacenter/manufacturers_controller.rb +14 -15
  75. data/app/controllers/foreman_datacenter/platforms_controller.rb +12 -14
  76. data/app/controllers/foreman_datacenter/power_outlet_templates_controller.rb +7 -17
  77. data/app/controllers/foreman_datacenter/power_outlets_controller.rb +7 -14
  78. data/app/controllers/foreman_datacenter/power_port_templates_controller.rb +9 -19
  79. data/app/controllers/foreman_datacenter/power_ports_controller.rb +8 -16
  80. data/app/controllers/foreman_datacenter/rack_groups_controller.rb +29 -12
  81. data/app/controllers/foreman_datacenter/racks_controller.rb +29 -15
  82. data/app/controllers/foreman_datacenter/sites_controller.rb +34 -17
  83. data/app/helpers/foreman_datacenter/application_helper.rb +66 -0
  84. data/app/helpers/foreman_datacenter/comments_helper.rb +8 -0
  85. data/app/models/foreman_datacenter/comment.rb +2 -2
  86. data/app/models/foreman_datacenter/console_port.rb +10 -0
  87. data/app/models/foreman_datacenter/console_port_template.rb +5 -0
  88. data/app/models/foreman_datacenter/console_server_port.rb +6 -0
  89. data/app/models/foreman_datacenter/console_server_port_template.rb +5 -0
  90. data/app/models/foreman_datacenter/device.rb +20 -26
  91. data/app/models/foreman_datacenter/device_bay.rb +5 -0
  92. data/app/models/foreman_datacenter/device_bay_template.rb +5 -0
  93. data/app/models/foreman_datacenter/device_interface.rb +5 -0
  94. data/app/models/foreman_datacenter/device_interface_connection.rb +6 -0
  95. data/app/models/foreman_datacenter/device_module.rb +5 -0
  96. data/app/models/foreman_datacenter/device_role.rb +14 -0
  97. data/app/models/foreman_datacenter/device_type.rb +31 -6
  98. data/app/models/foreman_datacenter/interface_template.rb +5 -0
  99. data/app/models/foreman_datacenter/management_device.rb +9 -0
  100. data/app/models/foreman_datacenter/manufacturer.rb +18 -0
  101. data/app/models/foreman_datacenter/platform.rb +15 -0
  102. data/app/models/foreman_datacenter/power_outlet.rb +5 -0
  103. data/app/models/foreman_datacenter/power_outlet_template.rb +5 -0
  104. data/app/models/foreman_datacenter/power_port.rb +10 -0
  105. data/app/models/foreman_datacenter/power_port_template.rb +5 -0
  106. data/app/models/foreman_datacenter/rack.rb +19 -1
  107. data/app/models/foreman_datacenter/rack_group.rb +21 -0
  108. data/app/models/foreman_datacenter/site.rb +36 -2
  109. data/app/views/api/v2/foreman_datacenter/console_port_templates/base.json.rabl +3 -0
  110. data/app/views/api/v2/foreman_datacenter/console_port_templates/create.json.rabl +3 -0
  111. data/app/views/api/v2/foreman_datacenter/console_port_templates/index.json.rabl +3 -0
  112. data/app/views/api/v2/foreman_datacenter/console_port_templates/main.json.rabl +5 -0
  113. data/app/views/api/v2/foreman_datacenter/console_port_templates/show.json.rabl +7 -0
  114. data/app/views/api/v2/foreman_datacenter/console_ports/base.json.rabl +3 -0
  115. data/app/views/api/v2/foreman_datacenter/console_ports/create.json.rabl +3 -0
  116. data/app/views/api/v2/foreman_datacenter/console_ports/index.json.rabl +3 -0
  117. data/app/views/api/v2/foreman_datacenter/console_ports/main.json.rabl +5 -0
  118. data/app/views/api/v2/foreman_datacenter/console_ports/show.json.rabl +11 -0
  119. data/app/views/api/v2/foreman_datacenter/console_ports/update.json.rabl +3 -0
  120. data/app/views/api/v2/foreman_datacenter/console_server_port_templates/base.json.rabl +3 -0
  121. data/app/views/api/v2/foreman_datacenter/console_server_port_templates/create.json.rabl +3 -0
  122. data/app/views/api/v2/foreman_datacenter/console_server_port_templates/index.json.rabl +3 -0
  123. data/app/views/api/v2/foreman_datacenter/console_server_port_templates/main.json.rabl +5 -0
  124. data/app/views/api/v2/foreman_datacenter/console_server_port_templates/show.json.rabl +11 -0
  125. data/app/views/api/v2/foreman_datacenter/console_server_ports/base.json.rabl +3 -0
  126. data/app/views/api/v2/foreman_datacenter/console_server_ports/create.json.rabl +3 -0
  127. data/app/views/api/v2/foreman_datacenter/console_server_ports/index.json.rabl +3 -0
  128. data/app/views/api/v2/foreman_datacenter/console_server_ports/main.json.rabl +5 -0
  129. data/app/views/api/v2/foreman_datacenter/console_server_ports/show.json.rabl +7 -0
  130. data/app/views/api/v2/foreman_datacenter/console_server_ports/update.json.rabl +3 -0
  131. data/app/views/api/v2/foreman_datacenter/device_bay_templates/base.json.rabl +3 -0
  132. data/app/views/api/v2/foreman_datacenter/device_bay_templates/create.json.rabl +3 -0
  133. data/app/views/api/v2/foreman_datacenter/device_bay_templates/index.json.rabl +3 -0
  134. data/app/views/api/v2/foreman_datacenter/device_bay_templates/main.json.rabl +5 -0
  135. data/app/views/api/v2/foreman_datacenter/device_bay_templates/show.json.rabl +7 -0
  136. data/app/views/api/v2/foreman_datacenter/device_bays/base.json.rabl +3 -0
  137. data/app/views/api/v2/foreman_datacenter/device_bays/create.json.rabl +3 -0
  138. data/app/views/api/v2/foreman_datacenter/device_bays/index.json.rabl +3 -0
  139. data/app/views/api/v2/foreman_datacenter/device_bays/main.json.rabl +5 -0
  140. data/app/views/api/v2/foreman_datacenter/device_bays/show.json.rabl +7 -0
  141. data/app/views/api/v2/foreman_datacenter/device_bays/update.json.rabl +3 -0
  142. data/app/views/api/v2/foreman_datacenter/device_interface_connections/base.json.rabl +3 -0
  143. data/app/views/api/v2/foreman_datacenter/device_interface_connections/create.json.rabl +3 -0
  144. data/app/views/api/v2/foreman_datacenter/device_interface_connections/index.json.rabl +3 -0
  145. data/app/views/api/v2/foreman_datacenter/device_interface_connections/main.json.rabl +5 -0
  146. data/app/views/api/v2/foreman_datacenter/device_interface_connections/show.json.rabl +3 -0
  147. data/app/views/api/v2/foreman_datacenter/device_interface_connections/update.json.rabl +3 -0
  148. data/app/views/api/v2/foreman_datacenter/device_interfaces/base.json.rabl +3 -0
  149. data/app/views/api/v2/foreman_datacenter/device_interfaces/create.json.rabl +3 -0
  150. data/app/views/api/v2/foreman_datacenter/device_interfaces/index.json.rabl +3 -0
  151. data/app/views/api/v2/foreman_datacenter/device_interfaces/main.json.rabl +5 -0
  152. data/app/views/api/v2/foreman_datacenter/device_interfaces/show.json.rabl +7 -0
  153. data/app/views/api/v2/foreman_datacenter/device_interfaces/update.json.rabl +3 -0
  154. data/app/views/api/v2/foreman_datacenter/device_modules/base.json.rabl +3 -0
  155. data/app/views/api/v2/foreman_datacenter/device_modules/create.json.rabl +3 -0
  156. data/app/views/api/v2/foreman_datacenter/device_modules/index.json.rabl +3 -0
  157. data/app/views/api/v2/foreman_datacenter/device_modules/main.json.rabl +5 -0
  158. data/app/views/api/v2/foreman_datacenter/device_modules/show.json.rabl +7 -0
  159. data/app/views/api/v2/foreman_datacenter/device_modules/update.json.rabl +3 -0
  160. data/app/views/api/v2/foreman_datacenter/device_roles/base.json.rabl +3 -0
  161. data/app/views/api/v2/foreman_datacenter/device_roles/create.json.rabl +3 -0
  162. data/app/views/api/v2/foreman_datacenter/device_roles/index.json.rabl +3 -0
  163. data/app/views/api/v2/foreman_datacenter/device_roles/main.json.rabl +5 -0
  164. data/app/views/api/v2/foreman_datacenter/device_roles/show.json.rabl +7 -0
  165. data/app/views/api/v2/foreman_datacenter/device_roles/update.json.rabl +3 -0
  166. data/app/views/api/v2/foreman_datacenter/device_types/base.json.rabl +3 -0
  167. data/app/views/api/v2/foreman_datacenter/device_types/create.json.rabl +3 -0
  168. data/app/views/api/v2/foreman_datacenter/device_types/index.json.rabl +3 -0
  169. data/app/views/api/v2/foreman_datacenter/device_types/main.json.rabl +5 -0
  170. data/app/views/api/v2/foreman_datacenter/device_types/show.json.rabl +31 -0
  171. data/app/views/api/v2/foreman_datacenter/device_types/update.json.rabl +7 -0
  172. data/app/views/api/v2/foreman_datacenter/devices/base.json.rabl +3 -0
  173. data/app/views/api/v2/foreman_datacenter/devices/create.json.rabl +3 -0
  174. data/app/views/api/v2/foreman_datacenter/devices/index.json.rabl +3 -0
  175. data/app/views/api/v2/foreman_datacenter/devices/main.json.rabl +5 -0
  176. data/app/views/api/v2/foreman_datacenter/devices/show.json.rabl +63 -0
  177. data/app/views/api/v2/foreman_datacenter/devices/update.json.rabl +7 -0
  178. data/app/views/api/v2/foreman_datacenter/interface_templates/base.json.rabl +3 -0
  179. data/app/views/api/v2/foreman_datacenter/interface_templates/create.json.rabl +3 -0
  180. data/app/views/api/v2/foreman_datacenter/interface_templates/index.json.rabl +3 -0
  181. data/app/views/api/v2/foreman_datacenter/interface_templates/main.json.rabl +5 -0
  182. data/app/views/api/v2/foreman_datacenter/interface_templates/show.json.rabl +7 -0
  183. data/app/views/api/v2/foreman_datacenter/management_devices/base.json.rabl +3 -0
  184. data/app/views/api/v2/foreman_datacenter/management_devices/create.json.rabl +3 -0
  185. data/app/views/api/v2/foreman_datacenter/management_devices/index.json.rabl +3 -0
  186. data/app/views/api/v2/foreman_datacenter/management_devices/main.json.rabl +5 -0
  187. data/app/views/api/v2/foreman_datacenter/management_devices/show.json.rabl +7 -0
  188. data/app/views/api/v2/foreman_datacenter/management_devices/update.json.rabl +3 -0
  189. data/app/views/api/v2/foreman_datacenter/manufacturers/base.json.rabl +3 -0
  190. data/app/views/api/v2/foreman_datacenter/manufacturers/create.json.rabl +3 -0
  191. data/app/views/api/v2/foreman_datacenter/manufacturers/index.json.rabl +3 -0
  192. data/app/views/api/v2/foreman_datacenter/manufacturers/main.json.rabl +5 -0
  193. data/app/views/api/v2/foreman_datacenter/manufacturers/show.json.rabl +7 -0
  194. data/app/views/api/v2/foreman_datacenter/manufacturers/update.json.rabl +3 -0
  195. data/app/views/api/v2/foreman_datacenter/platforms/base.json.rabl +3 -0
  196. data/app/views/api/v2/foreman_datacenter/platforms/create.json.rabl +3 -0
  197. data/app/views/api/v2/foreman_datacenter/platforms/index.json.rabl +3 -0
  198. data/app/views/api/v2/foreman_datacenter/platforms/main.json.rabl +5 -0
  199. data/app/views/api/v2/foreman_datacenter/platforms/show.json.rabl +7 -0
  200. data/app/views/api/v2/foreman_datacenter/platforms/update.json.rabl +3 -0
  201. data/app/views/api/v2/foreman_datacenter/power_outlet_templates/base.json.rabl +3 -0
  202. data/app/views/api/v2/foreman_datacenter/power_outlet_templates/create.json.rabl +3 -0
  203. data/app/views/api/v2/foreman_datacenter/power_outlet_templates/index.json.rabl +3 -0
  204. data/app/views/api/v2/foreman_datacenter/power_outlet_templates/main.json.rabl +5 -0
  205. data/app/views/api/v2/foreman_datacenter/power_outlet_templates/show.json.rabl +7 -0
  206. data/app/views/api/v2/foreman_datacenter/power_outlets/base.json.rabl +3 -0
  207. data/app/views/api/v2/foreman_datacenter/power_outlets/create.json.rabl +3 -0
  208. data/app/views/api/v2/foreman_datacenter/power_outlets/index.json.rabl +3 -0
  209. data/app/views/api/v2/foreman_datacenter/power_outlets/main.json.rabl +5 -0
  210. data/app/views/api/v2/foreman_datacenter/power_outlets/show.json.rabl +11 -0
  211. data/app/views/api/v2/foreman_datacenter/power_outlets/update.json.rabl +3 -0
  212. data/app/views/api/v2/foreman_datacenter/power_port_templates/base.json.rabl +3 -0
  213. data/app/views/api/v2/foreman_datacenter/power_port_templates/create.json.rabl +3 -0
  214. data/app/views/api/v2/foreman_datacenter/power_port_templates/index.json.rabl +3 -0
  215. data/app/views/api/v2/foreman_datacenter/power_port_templates/main.json.rabl +5 -0
  216. data/app/views/api/v2/foreman_datacenter/power_port_templates/show.json.rabl +7 -0
  217. data/app/views/api/v2/foreman_datacenter/power_ports/base.json.rabl +3 -0
  218. data/app/views/api/v2/foreman_datacenter/power_ports/create.json.rabl +3 -0
  219. data/app/views/api/v2/foreman_datacenter/power_ports/index.json.rabl +3 -0
  220. data/app/views/api/v2/foreman_datacenter/power_ports/main.json.rabl +5 -0
  221. data/app/views/api/v2/foreman_datacenter/power_ports/show.json.rabl +11 -0
  222. data/app/views/api/v2/foreman_datacenter/power_ports/update.json.rabl +3 -0
  223. data/app/views/api/v2/foreman_datacenter/rack_groups/base.json.rabl +3 -0
  224. data/app/views/api/v2/foreman_datacenter/rack_groups/create.json.rabl +3 -0
  225. data/app/views/api/v2/foreman_datacenter/rack_groups/index.json.rabl +3 -0
  226. data/app/views/api/v2/foreman_datacenter/rack_groups/main.json.rabl +5 -0
  227. data/app/views/api/v2/foreman_datacenter/rack_groups/show.json.rabl +7 -0
  228. data/app/views/api/v2/foreman_datacenter/rack_groups/update.json.rabl +3 -0
  229. data/app/views/api/v2/foreman_datacenter/racks/base.json.rabl +3 -0
  230. data/app/views/api/v2/foreman_datacenter/racks/create.json.rabl +3 -0
  231. data/app/views/api/v2/foreman_datacenter/racks/index.json.rabl +3 -0
  232. data/app/views/api/v2/foreman_datacenter/racks/main.json.rabl +5 -0
  233. data/app/views/api/v2/foreman_datacenter/racks/show.json.rabl +11 -0
  234. data/app/views/api/v2/foreman_datacenter/racks/update.json.rabl +3 -0
  235. data/app/views/api/v2/foreman_datacenter/sites/base.json.rabl +3 -0
  236. data/app/views/api/v2/foreman_datacenter/sites/create.json.rabl +3 -0
  237. data/app/views/api/v2/foreman_datacenter/sites/index.json.rabl +3 -0
  238. data/app/views/api/v2/foreman_datacenter/sites/main.json.rabl +5 -0
  239. data/app/views/api/v2/foreman_datacenter/sites/show.json.rabl +11 -0
  240. data/app/views/api/v2/foreman_datacenter/sites/update.json.rabl +3 -0
  241. data/app/views/foreman_datacenter/comments/_children.html.erb +2 -2
  242. data/app/views/foreman_datacenter/comments/_comments.html.erb +8 -10
  243. data/app/views/foreman_datacenter/comments/_form.html.erb +27 -39
  244. data/app/views/foreman_datacenter/comments/_item.html.erb +4 -4
  245. data/app/views/foreman_datacenter/comments/_list.html.erb +26 -0
  246. data/app/views/foreman_datacenter/comments/edit.html.erb +3 -2
  247. data/app/views/foreman_datacenter/comments/new.html.erb +3 -2
  248. data/app/views/foreman_datacenter/common/404.html.erb +10 -0
  249. data/app/views/foreman_datacenter/console_port_templates/_form.html.erb +4 -3
  250. data/app/views/foreman_datacenter/console_port_templates/new.html.erb +3 -1
  251. data/app/views/foreman_datacenter/console_ports/_form.html.erb +4 -3
  252. data/app/views/foreman_datacenter/console_ports/edit.html.erb +3 -1
  253. data/app/views/foreman_datacenter/console_ports/index.html.erb +25 -26
  254. data/app/views/foreman_datacenter/console_ports/new.html.erb +3 -1
  255. data/app/views/foreman_datacenter/console_ports/new_connection.html.erb +2 -0
  256. data/app/views/foreman_datacenter/console_ports/welcome.html.erb +15 -0
  257. data/app/views/foreman_datacenter/console_server_port_templates/_form.html.erb +4 -3
  258. data/app/views/foreman_datacenter/console_server_port_templates/new.html.erb +3 -1
  259. data/app/views/foreman_datacenter/console_server_ports/_form.html.erb +4 -3
  260. data/app/views/foreman_datacenter/console_server_ports/edit.html.erb +3 -1
  261. data/app/views/foreman_datacenter/console_server_ports/new.html.erb +3 -1
  262. data/app/views/foreman_datacenter/console_server_ports/new_connection.html.erb +3 -1
  263. data/app/views/foreman_datacenter/device_bay_templates/_form.html.erb +4 -3
  264. data/app/views/foreman_datacenter/device_bay_templates/new.html.erb +3 -1
  265. data/app/views/foreman_datacenter/device_bays/_form.html.erb +4 -3
  266. data/app/views/foreman_datacenter/device_bays/edit.html.erb +3 -1
  267. data/app/views/foreman_datacenter/device_bays/new.html.erb +3 -1
  268. data/app/views/foreman_datacenter/device_bays/populate_new.html.erb +12 -4
  269. data/app/views/foreman_datacenter/device_interface_connections/_form.html.erb +20 -14
  270. data/app/views/foreman_datacenter/device_interface_connections/index.html.erb +29 -29
  271. data/app/views/foreman_datacenter/device_interface_connections/new.html.erb +3 -1
  272. data/app/views/foreman_datacenter/device_interface_connections/welcome.html.erb +15 -0
  273. data/app/views/foreman_datacenter/device_interfaces/_form.html.erb +6 -5
  274. data/app/views/foreman_datacenter/device_interfaces/edit.html.erb +3 -1
  275. data/app/views/foreman_datacenter/device_interfaces/new.html.erb +3 -1
  276. data/app/views/foreman_datacenter/device_modules/_form.html.erb +4 -3
  277. data/app/views/foreman_datacenter/device_modules/edit.html.erb +3 -1
  278. data/app/views/foreman_datacenter/device_modules/new.html.erb +3 -1
  279. data/app/views/foreman_datacenter/device_roles/edit.html.erb +3 -1
  280. data/app/views/foreman_datacenter/device_roles/index.html.erb +26 -16
  281. data/app/views/foreman_datacenter/device_roles/new.html.erb +3 -1
  282. data/app/views/foreman_datacenter/device_roles/show.html.erb +42 -16
  283. data/app/views/foreman_datacenter/device_roles/welcome.html.erb +2 -0
  284. data/app/views/foreman_datacenter/device_types/_form.html.erb +10 -10
  285. data/app/views/foreman_datacenter/device_types/edit.html.erb +3 -1
  286. data/app/views/foreman_datacenter/device_types/index.html.erb +30 -16
  287. data/app/views/foreman_datacenter/device_types/new.html.erb +3 -1
  288. data/app/views/foreman_datacenter/device_types/show.html.erb +178 -170
  289. data/app/views/foreman_datacenter/device_types/welcome.html.erb +2 -0
  290. data/app/views/foreman_datacenter/devices/_aracks.html.erb +2 -2
  291. data/app/views/foreman_datacenter/devices/_console_port.html.erb +1 -1
  292. data/app/views/foreman_datacenter/devices/_console_server_port.html.erb +1 -1
  293. data/app/views/foreman_datacenter/devices/_device_bay.html.erb +1 -1
  294. data/app/views/foreman_datacenter/devices/_device_module.html.erb +2 -2
  295. data/app/views/foreman_datacenter/devices/_device_types.html.erb +3 -3
  296. data/app/views/foreman_datacenter/devices/_for_rack.html.erb +2 -2
  297. data/app/views/foreman_datacenter/devices/_form.html.erb +2 -4
  298. data/app/views/foreman_datacenter/devices/_power_outlet.html.erb +1 -1
  299. data/app/views/foreman_datacenter/devices/_racks.html.erb +3 -3
  300. data/app/views/foreman_datacenter/devices/edit.html.erb +3 -1
  301. data/app/views/foreman_datacenter/devices/index.html.erb +40 -23
  302. data/app/views/foreman_datacenter/devices/inventory.html.erb +17 -14
  303. data/app/views/foreman_datacenter/devices/new.html.erb +3 -1
  304. data/app/views/foreman_datacenter/devices/show.html.erb +132 -114
  305. data/app/views/foreman_datacenter/devices/welcome.html.erb +2 -0
  306. data/app/views/foreman_datacenter/interface_templates/_form.html.erb +4 -3
  307. data/app/views/foreman_datacenter/interface_templates/new.html.erb +3 -1
  308. data/app/views/foreman_datacenter/management_devices/_form.html.erb +4 -3
  309. data/app/views/foreman_datacenter/management_devices/edit.html.erb +3 -1
  310. data/app/views/foreman_datacenter/management_devices/new.html.erb +3 -1
  311. data/app/views/foreman_datacenter/manufacturers/edit.html.erb +3 -1
  312. data/app/views/foreman_datacenter/manufacturers/index.html.erb +30 -15
  313. data/app/views/foreman_datacenter/manufacturers/new.html.erb +3 -1
  314. data/app/views/foreman_datacenter/manufacturers/show.html.erb +54 -24
  315. data/app/views/foreman_datacenter/manufacturers/welcome.html.erb +2 -0
  316. data/app/views/foreman_datacenter/platforms/edit.html.erb +3 -1
  317. data/app/views/foreman_datacenter/platforms/index.html.erb +27 -15
  318. data/app/views/foreman_datacenter/platforms/new.html.erb +3 -1
  319. data/app/views/foreman_datacenter/platforms/show.html.erb +43 -17
  320. data/app/views/foreman_datacenter/platforms/welcome.html.erb +2 -0
  321. data/app/views/foreman_datacenter/power_outlet_templates/_form.html.erb +4 -3
  322. data/app/views/foreman_datacenter/power_outlet_templates/new.html.erb +3 -1
  323. data/app/views/foreman_datacenter/power_outlets/_form.html.erb +4 -3
  324. data/app/views/foreman_datacenter/power_outlets/edit.html.erb +3 -1
  325. data/app/views/foreman_datacenter/power_outlets/new.html.erb +3 -1
  326. data/app/views/foreman_datacenter/power_outlets/new_connection.html.erb +3 -1
  327. data/app/views/foreman_datacenter/power_port_templates/_form.html.erb +4 -3
  328. data/app/views/foreman_datacenter/power_port_templates/new.html.erb +3 -1
  329. data/app/views/foreman_datacenter/power_ports/_form.html.erb +4 -3
  330. data/app/views/foreman_datacenter/power_ports/edit.html.erb +3 -1
  331. data/app/views/foreman_datacenter/power_ports/index.html.erb +26 -26
  332. data/app/views/foreman_datacenter/power_ports/new.html.erb +3 -1
  333. data/app/views/foreman_datacenter/power_ports/new_connection.html.erb +2 -0
  334. data/app/views/foreman_datacenter/power_ports/welcome.html.erb +15 -0
  335. data/app/views/foreman_datacenter/rack_groups/edit.html.erb +3 -1
  336. data/app/views/foreman_datacenter/rack_groups/index.html.erb +31 -17
  337. data/app/views/foreman_datacenter/rack_groups/move.html.erb +24 -0
  338. data/app/views/foreman_datacenter/rack_groups/new.html.erb +3 -1
  339. data/app/views/foreman_datacenter/rack_groups/show.html.erb +80 -55
  340. data/app/views/foreman_datacenter/racks/_device_position.html.erb +2 -2
  341. data/app/views/foreman_datacenter/racks/_form.html.erb +18 -18
  342. data/app/views/foreman_datacenter/racks/_rack_groups.html.erb +6 -6
  343. data/app/views/foreman_datacenter/racks/_unpositioned_devices.html.erb +2 -2
  344. data/app/views/foreman_datacenter/racks/edit.html.erb +3 -1
  345. data/app/views/foreman_datacenter/racks/index.html.erb +37 -27
  346. data/app/views/foreman_datacenter/racks/move.html.erb +24 -0
  347. data/app/views/foreman_datacenter/racks/new.html.erb +3 -1
  348. data/app/views/foreman_datacenter/racks/show.html.erb +47 -30
  349. data/app/views/foreman_datacenter/shared/_aa.html.erb +1 -0
  350. data/app/views/foreman_datacenter/shared/_modal.html.erb +28 -0
  351. data/app/views/foreman_datacenter/shared/_rack_device_select.html.erb +4 -4
  352. data/app/views/foreman_datacenter/sites/_form.html.erb +1 -0
  353. data/app/views/foreman_datacenter/sites/edit.html.erb +3 -1
  354. data/app/views/foreman_datacenter/sites/index.html.erb +30 -18
  355. data/app/views/foreman_datacenter/sites/move.html.erb +27 -0
  356. data/app/views/foreman_datacenter/sites/new.html.erb +3 -1
  357. data/app/views/foreman_datacenter/sites/show.html.erb +86 -56
  358. data/config/routes.rb +12 -1
  359. data/lib/foreman_datacenter/engine.rb +13 -1
  360. data/lib/foreman_datacenter/version.rb +1 -1
  361. data/test/controllers/foreman_datacenter/device_types_contoller_test.rb +91 -0
  362. data/test/controllers/foreman_datacenter/manufacturers_contoller_test.rb +97 -0
  363. data/test/controllers/foreman_datacenter/platforms_contoller_test.rb +97 -0
  364. data/test/controllers/foreman_datacenter/power_port_templates_contoller_test.rb +53 -0
  365. data/test/controllers/foreman_datacenter/rack_groups_contoller_test.rb +85 -91
  366. data/test/controllers/foreman_datacenter/racks_contoller_test.rb +65 -72
  367. data/test/controllers/foreman_datacenter/sites_contoller_test.rb +107 -71
  368. data/test/datacenter_helper.rb +4 -0
  369. data/test/factories/device_type.rb +13 -0
  370. data/test/factories/manufacturer.rb +5 -0
  371. data/test/factories/platform.rb +5 -0
  372. data/test/factories/rack.rb +8 -0
  373. data/test/factories/rack_group.rb +107 -0
  374. data/test/factories/site.rb +5 -0
  375. data/test/fixtures/foreman_datacenter/comments.yml +30 -0
  376. data/test/fixtures/foreman_datacenter/console_port_templates.yml +42 -0
  377. data/test/fixtures/foreman_datacenter/console_ports.yml +108 -0
  378. data/test/fixtures/foreman_datacenter/console_server_port_templates.yml +42 -0
  379. data/test/fixtures/foreman_datacenter/console_server_ports.yml +84 -0
  380. data/test/fixtures/foreman_datacenter/device_bay_templates.yml +14 -0
  381. data/test/fixtures/foreman_datacenter/device_bays.yml +32 -0
  382. data/test/fixtures/foreman_datacenter/device_interface_connections.yml +96 -0
  383. data/test/fixtures/foreman_datacenter/device_interfaces.yml +240 -0
  384. data/test/fixtures/foreman_datacenter/device_modules.yml +54 -0
  385. data/test/fixtures/foreman_datacenter/device_roles.yml +22 -0
  386. data/test/fixtures/foreman_datacenter/device_types.yml +54 -0
  387. data/test/fixtures/foreman_datacenter/devices.yml +126 -0
  388. data/test/fixtures/foreman_datacenter/interface_templates.yml +54 -0
  389. data/test/fixtures/foreman_datacenter/management_devices.yml +27 -0
  390. data/test/fixtures/foreman_datacenter/manufacturers.yml +24 -0
  391. data/test/fixtures/foreman_datacenter/platforms.yml +28 -0
  392. data/test/fixtures/foreman_datacenter/power_outlet_templates.yml +42 -0
  393. data/test/fixtures/foreman_datacenter/power_outlets.yml +84 -0
  394. data/test/fixtures/foreman_datacenter/power_port_templates.yml +42 -0
  395. data/test/fixtures/foreman_datacenter/power_ports.yml +108 -0
  396. data/test/fixtures/foreman_datacenter/rack_groups.yml +16 -6
  397. data/test/fixtures/foreman_datacenter/racks.yml +31 -10
  398. data/test/fixtures/foreman_datacenter/sites.yml +23 -12
  399. data/test/integration/foreman_datacenter/rack_group_test.rb +25 -25
  400. data/test/integration/foreman_datacenter/rack_test.rb +25 -25
  401. data/test/integration/foreman_datacenter/site_test.rb +29 -29
  402. data/test/test_plugin_helper.rb +1 -0
  403. data/test/unit/foreman_datacenter_test.rb +1 -1
  404. metadata +264 -2
@@ -0,0 +1,15 @@
1
+ module ForemanDatacenter::Controller::Parameters::RackGroup
2
+ extend ActiveSupport::Concern
3
+
4
+ class_methods do
5
+ def rack_group_params_filter
6
+ Foreman::ParameterFilter.new(::ForemanDatacenter::RackGroup).tap do |filter|
7
+ filter.permit :name, :site_id
8
+ end
9
+ end
10
+ end
11
+
12
+ def rack_group_params
13
+ self.class.rack_group_params_filter.filter_params(params, parameter_filter_context)
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ module ForemanDatacenter::Controller::Parameters::Site
2
+ extend ActiveSupport::Concern
3
+
4
+ class_methods do
5
+ def site_params_filter
6
+ Foreman::ParameterFilter.new(::ForemanDatacenter::Site).tap do |filter|
7
+ filter.permit :name, :facility, :asn,
8
+ :physical_address, :shipping_address, :comments
9
+ end
10
+ end
11
+ end
12
+
13
+ def site_params
14
+ self.class.site_params_filter.filter_params(params, parameter_filter_context)
15
+ end
16
+ end
@@ -0,0 +1,99 @@
1
+ module ForemanDatacenter
2
+ class ApplicationController < ApplicationController
3
+ rescue_from ActiveRecord::RecordNotFound, :with => :not_found
4
+
5
+ def not_found(exception = nil)
6
+ logger.debug "not found: #{exception}" if exception
7
+ respond_to do |format|
8
+ format.html { render "foreman_datacenter/common/404", :status => :not_found }
9
+ format.any { head :not_found}
10
+ end
11
+ true
12
+ end
13
+
14
+ def find_resource
15
+ instance_variable_set("@#{resource_name}",
16
+ resource_finder(resource_scope, params[:id]))
17
+ end
18
+
19
+ def resource_finder(scope, id)
20
+ raise ActiveRecord::RecordNotFound if scope.empty?
21
+ result = scope.from_param(id) if scope.respond_to?(:from_param)
22
+ begin
23
+ result ||= scope.friendly.find(id) if scope.respond_to?(:friendly)
24
+ rescue ActiveRecord::RecordNotFound
25
+ end
26
+ result || scope.find(id)
27
+ end
28
+
29
+ def controller_permission
30
+ controller_name
31
+ end
32
+
33
+ def resource_name(resource = controller_name)
34
+ resource.singularize
35
+ end
36
+
37
+ def resource_class
38
+ @resource_class ||= resource_class_for(resource_name)
39
+ raise NameError, "Could not find resource class for resource #{resource_name}" if @resource_class.nil?
40
+ @resource_class
41
+ end
42
+
43
+ def resource_scope(options = {})
44
+ @resource_scope ||= scope_for(resource_class, options)
45
+ end
46
+
47
+ def scope_for(resource, options = {})
48
+ controller = options.delete(:controller){ controller_permission }
49
+ # don't call the #action_permission method here, we are not sure if the resource is authorized at this point
50
+ # calling #action_permission here can cause an exception, in order to avoid this, ensure :authorized beforehand
51
+ permission = options.delete(:permission)
52
+
53
+ if resource.respond_to?(:authorized)
54
+ permission ||= "#{action_permission}_#{controller}"
55
+ resource = resource.authorized(permission, resource)
56
+ end
57
+
58
+ resource.where(options)
59
+ end
60
+
61
+ def resource_class_for(resource)
62
+ klass = "ForemanDatacenter::#{resource.classify}".constantize
63
+ klass
64
+ rescue NameError
65
+ nil
66
+ end
67
+
68
+ # def resource_base_search_and_page(tables = [])
69
+ # base = tables.empty? ? resource_base_with_search : resource_base_with_search.eager_load(*tables)
70
+ # base.paginate(:page => params[:page], :per_page => params[:per_page])
71
+ # end
72
+
73
+ def action_permission
74
+ case params[:action]
75
+ when 'new_connection'
76
+ 'new_connection'
77
+ when 'connect'
78
+ 'connect'
79
+ when 'planned'
80
+ 'planned'
81
+ when 'connected'
82
+ 'connected'
83
+ when 'disconnect'
84
+ 'disconnect'
85
+ when 'populate_new'
86
+ 'populate_new'
87
+ when 'depopulate'
88
+ 'depopulate'
89
+ when 'populate'
90
+ 'populate'
91
+ when 'move'
92
+ 'move'
93
+ else
94
+ super
95
+ end
96
+ end
97
+
98
+ end
99
+ end
@@ -1,99 +1,84 @@
1
1
  module ForemanDatacenter
2
- class CommentsController < ApplicationController
3
- before_action :load_resource, :load_commentable, :load_current_user
4
- before_action :check_owner, only: [:edit]
2
+ class CommentsController < ForemanDatacenter::ApplicationController
3
+ include ForemanDatacenter::Controller::Parameters::Comment
4
+
5
+ before_action :load_resource, only: [:create]
5
6
 
6
7
  def new
7
- @comment = Comment.new
8
- @parent = Comment.find(params[:parent_id])
8
+ @comment = ForemanDatacenter::Comment.new
9
+ @parent = ForemanDatacenter::Comment.find(params[:parent_id])
10
+ @resource_class = @parent.commentable_type.gsub("ForemanDatacenter::","")
11
+ @resource = @resource_class.pluralize.split(/(?<!\s)(?=[A-Z])/).join('_').downcase
12
+ @commentable = load_resource(@resource, @parent.commentable_id)
9
13
  end
10
14
 
11
15
  def edit
12
- @comment = Comment.find(params[:id])
16
+ @comment = ForemanDatacenter::Comment.find(params[:id])
13
17
  @parent = @comment.parent
18
+ @resource_class = @comment.commentable_type.split("::")[1]
19
+ @current_user = current_user
14
20
  end
15
21
 
16
22
  def create
17
- @comment = @commentable.comments.new(comment_params.merge(user_id: User.current.id))
23
+ @comment = @commentable.comments.new(comment_params.merge(user_id: current_user.id))
18
24
  if @comment.save
19
- process_success :success_redirect => "/datacenter/#{@resource}/#{@id}#comment-#{@comment.id}", success_msg: "Comment successfully created."
25
+ process_success success_redirect: commentable_path(@comment),
26
+ success_msg: "Comment successfully created."
20
27
  else
21
- process_error :redirect => "/datacenter/#{@resource}/#{@id}", :error_msg => _("Failed: %s") % (e)
28
+ process_error redirect: "/datacenter/#{@resource}/#{@id}", :error_msg => _("Failed: %s") % (e)
22
29
  end
23
30
  end
24
31
 
25
32
  def update
26
- @comment = Comment.find(params[:id])
27
- @device = find_commentable(@comment)
28
- @submodule = parse_submodule(@comment)
29
- if @comment.user == @current_user or @comment.user.nil?
30
- if @comment.update(comment_params)
31
- process_success :success_redirect => "/datacenter/#{@submodule}/#{@comment.commentable_id}#comment-#{@comment.id}", success_msg: "Comment successfully updated."
33
+ @comment = ForemanDatacenter::Comment.find(params[:id])
34
+ @resource = @comment.commentable_type.split("::")[1]
35
+ if @comment.user == current_user or @comment.user.nil? or current_user.admin?
36
+ if @comment.update(comment_params.merge(user_id: current_user.id))
37
+ process_success :success_redirect => commentable_path(@comment), success_msg: "Comment successfully updated."
32
38
  else
33
- process_error :redirect => "/datacenter/#{@submodule}/#{@comment.commentable_id}#comment-#{@comment.id}", :error_msg => _("Failed: %s") % (e)
39
+ process_error :redirect => commentable_path(@comment), :error_msg => _("Failed: %s") % (e)
34
40
  end
35
41
  else
36
- process_error :redirect => "/datacenter/#{@submodule}/#{@comment.commentable_id}#comment-#{@comment.id}", :error_msg => _("You can edit only your own comments")
42
+ process_error :redirect => commentable_path(@comment), :error_msg => _("You can edit only your own comments")
37
43
  end
38
44
  end
39
45
 
40
46
  def destroy
41
- @comment = Comment.find(params[:id])
42
- if @comment.user == @current_user or @comment.user.nil?
47
+ @comment = ForemanDatacenter::Comment.find(params[:id])
48
+ if @comment.user == current_user or @comment.user.nil? or current_user.admin?
43
49
  if @comment.destroy
44
- process_success :success_redirect => "/datacenter/#{@resource}/#{@id}#comment-#{@comment.id}", success_msg: "Comment successfully deleted."
50
+ process_success :success_redirect => commentable_path(@comment, true), success_msg: "Comment successfully deleted."
45
51
  else
46
- process_error :redirect => "/datacenter/#{@resource}/#{@id}", :error_msg => _("Failed: %s") % (e)
52
+ process_error :redirect => commentable_path(@comment, true), :error_msg => _("Failed: %s") % (e)
47
53
  end
48
54
  else
49
- process_error :redirect => "/datacenter/#{@resource}/#{@id}", :error_msg => _("You can delete only your own comments")
55
+ process_error :redirect => commentable_path(@comment, true), :error_msg => _("You can delete only your own comments")
50
56
  end
51
57
  end
52
58
 
53
59
  private
54
60
 
55
- def load_current_user
56
- @current_user = User.current
57
- end
58
-
59
- def check_owner
60
- comment = Comment.find(params[:id])
61
- commentable = comment.commentable_type.constantize.find(comment.commentable_id)
62
- resource = parse_submodule(comment)
63
- unless comment.user == @current_user or comment.user.nil?
64
- process_error :redirect => (request.referrer || "/datacenter/#{resource}/#{commentable.id}" || root_path), :error_msg => _("You can edit only your own comments")
65
- return
66
- end
67
- end
68
-
69
- def load_resource
70
- if (params[:resource] && params[:resource_id])
71
- @resource, @id = params[:resource], params[:resource_id]
61
+ def commentable_path(comment, r = false)
62
+ resource = comment.commentable.class.to_s.gsub("ForemanDatacenter::","").pluralize.split(/(?<!\s)(?=[A-Z])/).join('_').downcase
63
+ if r == false
64
+ return "/datacenter/#{resource}/#{comment.commentable.id}#comment-#{comment.id}"
72
65
  else
73
- @resource, @id = request.path.split('/')[2, 3]
66
+ return "/datacenter/#{resource}/#{comment.commentable.id}"
74
67
  end
75
68
  end
76
69
 
77
- def load_commentable
78
- begin
70
+ def load_resource(resource = nil, id = nil)
71
+ if resource.nil?
72
+ @resource, @id = request.path.split('/')[2, 3] if resource.nil?
79
73
  @commentable = "foreman_datacenter::#{@resource.capitalize}".singularize.classify.constantize.find(@id.to_i)
80
- rescue
81
- @commentable = "foreman_datacenter::#{params[:resource].capitalize}".singularize.classify.constantize.find(params[:resource_id].to_i)
74
+ else
75
+ @commentable = "foreman_datacenter::#{resource.capitalize}".singularize.classify.constantize.find(id.to_i)
82
76
  end
83
77
  end
84
78
 
85
79
  def comment_params
86
80
  params[:foreman_datacenter_comment].permit(:content, :commntable_type, :commentable_id, :parent_id, :user_id)
87
81
  end
88
-
89
- def find_commentable(comment)
90
- comment.commentable_type.classify.constantize.find(comment.commentable_id)
91
- end
92
-
93
- def parse_submodule(comment)
94
- comment.commentable_type.gsub("ForemanDatacenter::", "").pluralize.downcase
95
- end
96
-
97
82
  end
98
83
  end
99
84
 
@@ -1,19 +1,20 @@
1
1
  module ForemanDatacenter
2
- class ConsolePortTemplatesController < ApplicationController
3
- before_action :set_console_port_template, only: [:destroy]
2
+ class ConsolePortTemplatesController < ForemanDatacenter::ApplicationController
3
+ include ForemanDatacenter::Controller::Parameters::ConsolePortTemplate
4
+
5
+ before_action :find_resource, only: [:destroy]
4
6
 
5
7
  def new
6
- @console_port_template = ConsolePortTemplate.new(
7
- device_type: DeviceType.find(params[:device_type_id])
8
+ @console_port_template = ForemanDatacenter::ConsolePortTemplate.new(
9
+ device_type: ForemanDatacenter::DeviceType.find(params[:device_type_id])
8
10
  )
9
11
  end
10
12
 
11
13
  def create
12
- @console_port_template = ConsolePortTemplate.new(console_port_template_params)
14
+ @console_port_template = ForemanDatacenter::ConsolePortTemplate.new(console_port_template_params.merge(device_type_id: params[:device_type_id]))
13
15
 
14
16
  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
+ process_success success_redirect: device_type_url(@console_port_template.device_type_id)
17
18
  else
18
19
  process_error object: @console_port_template
19
20
  end
@@ -21,21 +22,10 @@ module ForemanDatacenter
21
22
 
22
23
  def destroy
23
24
  if @console_port_template.destroy
24
- redirect_to device_type_url(@console_port_template.device_type),
25
- notice: 'Console port template was successfully destroyed'
25
+ process_success success_redirect: device_type_url(params[:device_type_id])
26
26
  else
27
27
  process_error object: @console_port_template
28
28
  end
29
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
30
  end
41
31
  end
@@ -1,12 +1,16 @@
1
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]
2
+ class ConsolePortsController < ForemanDatacenter::ApplicationController
3
+ include Foreman::Controller::AutoCompleteSearch
4
+ include ForemanDatacenter::Controller::Parameters::ConsolePort
5
+
6
+ before_action :find_resource, only: [:edit, :update, :destroy,
7
+ :connected, :planned, :new_connection,
8
+ :connect, :disconnect]
6
9
 
7
10
  def index
8
- @console_ports = ConsolePort.where.not(console_server_port_id: nil).
9
- includes(:device, console_server_port: [:device])
11
+ @console_ports = resource_base_search_and_page.where.not(console_server_port_id: nil).includes(:device, console_server_port: [:device])
12
+ # @console_ports = ConsolePort.where.not(console_server_port_id: nil).
13
+ # includes(:device, console_server_port: [:device])
10
14
  end
11
15
 
12
16
  def new
@@ -19,11 +23,10 @@ module ForemanDatacenter
19
23
  end
20
24
 
21
25
  def create
22
- @console_port = ConsolePort.new(console_port_params)
26
+ @console_port = ConsolePort.new(console_port_params.merge(device_id: params[:device_id]))
23
27
 
24
28
  if @console_port.save
25
- redirect_to device_url(id: @console_port.device_id),
26
- notice: 'Console port was successfully created.'
29
+ process_success success_redirect: device_path(@console_port.device_id)
27
30
  else
28
31
  process_error object: @console_port
29
32
  end
@@ -31,8 +34,7 @@ module ForemanDatacenter
31
34
 
32
35
  def update
33
36
  if @console_port.update(console_port_params)
34
- redirect_to device_url(id: @console_port.device_id),
35
- notice: 'Console port was successfully updated.'
37
+ process_success success_redirect: device_path(@console_port.device_id)
36
38
  else
37
39
  process_error object: @console_port
38
40
  end
@@ -40,8 +42,7 @@ module ForemanDatacenter
40
42
 
41
43
  def destroy
42
44
  if @console_port.destroy
43
- redirect_to device_url(id: @console_port.device_id),
44
- notice: 'Console port was successfully destroyed.'
45
+ process_success success_redirect: device_path(@console_port.device_id)
45
46
  else
46
47
  process_error object: @console_port
47
48
  end
@@ -80,15 +81,5 @@ module ForemanDatacenter
80
81
  redirect_to device_url(id: @console_port.device_id),
81
82
  notice: 'Console port was successfully disconnected.'
82
83
  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
84
  end
94
85
  end
@@ -1,19 +1,20 @@
1
1
  module ForemanDatacenter
2
- class ConsoleServerPortTemplatesController < ApplicationController
3
- before_action :set_console_server_port_template, only: [:destroy]
2
+ class ConsoleServerPortTemplatesController < ForemanDatacenter::ApplicationController
3
+ include ForemanDatacenter::Controller::Parameters::ConsoleServerPortTemplate
4
+
5
+ before_action :find_resource, only: [:destroy]
4
6
 
5
7
  def new
6
- @console_server_port_template = ConsoleServerPortTemplate.new(
7
- device_type: DeviceType.find(params[:device_type_id])
8
+ @console_server_port_template = ForemanDatacenter::ConsoleServerPortTemplate.new(
9
+ device_type: ForemanDatacenter::DeviceType.find(params[:device_type_id])
8
10
  )
9
11
  end
10
12
 
11
13
  def create
12
- @console_server_port_template = ConsoleServerPortTemplate.new(console_server_port_template_params)
14
+ @console_server_port_template = ForemanDatacenter::ConsoleServerPortTemplate.new(console_server_port_template_params.merge(device_type_id: params[:device_type_id]))
13
15
 
14
16
  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
+ process_success success_redirect: device_type_url(@console_server_port_template.device_type_id)
17
18
  else
18
19
  process_error object: @console_server_port_template
19
20
  end
@@ -21,21 +22,10 @@ module ForemanDatacenter
21
22
 
22
23
  def destroy
23
24
  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'
25
+ process_success success_redirect: device_type_url(params[:device_type_id])
26
26
  else
27
27
  process_error object: @console_server_port_template
28
28
  end
29
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
30
  end
41
31
  end
@@ -1,19 +1,21 @@
1
1
  module ForemanDatacenter
2
- class ConsoleServerPortsController < ApplicationController
3
- before_action :set_console_server_port, only: [:edit, :update, :destroy,
4
- :new_connection, :connect,
5
- :disconnect]
2
+ class ConsoleServerPortsController < ForemanDatacenter::ApplicationController
3
+ include ForemanDatacenter::Controller::Parameters::ConsoleServerPort
4
+
5
+ before_action :find_resource, only: [:edit, :update, :destroy,
6
+ :new_connection, :connect,
7
+ :disconnect]
6
8
 
7
9
  def new
8
- device = Device.find(params[:device_id])
9
- @console_server_port = ConsoleServerPort.new(device: device)
10
+ device = ForemanDatacenter::Device.find(params[:device_id])
11
+ @console_server_port = ForemanDatacenter::ConsoleServerPort.new(device: device)
10
12
  end
11
13
 
12
14
  def edit
13
15
  end
14
16
 
15
17
  def create
16
- @console_server_port = ConsoleServerPort.new(console_server_port_params)
18
+ @console_server_port = ForemanDatacenter::ConsoleServerPort.new(console_server_port_params.merge(device_id: params[:device_id]))
17
19
 
18
20
  if @console_server_port.save
19
21
  redirect_to device_url(id: @console_server_port.device_id),
@@ -45,7 +47,7 @@ module ForemanDatacenter
45
47
  end
46
48
 
47
49
  def connect
48
- console_port = ConsolePort.find(params[:console_port][:id])
50
+ console_port = ForemanDatacenter::ConsolePort.find(params[:console_port][:id])
49
51
  console_port.connect(
50
52
  @console_server_port,
51
53
  params[:console_port][:connection_status]
@@ -61,18 +63,8 @@ module ForemanDatacenter
61
63
  end
62
64
 
63
65
  def for_device
64
- @device = Device.find(params[:device_id])
66
+ @device = ForemanDatacenter::Device.find(params[:device_id])
65
67
  render partial: 'for_device'
66
68
  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
69
  end
78
70
  end