katello 4.18.0.rc1 → 4.18.0

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.

Potentially problematic release.


This version of katello might be problematic. Click here for more details.

Files changed (289) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/locale/bn/katello.js +279 -15
  3. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +279 -15
  4. data/app/assets/javascripts/katello/locale/ca/katello.js +281 -17
  5. data/app/assets/javascripts/katello/locale/cs/katello.js +280 -16
  6. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +282 -18
  7. data/app/assets/javascripts/katello/locale/de/katello.js +290 -26
  8. data/app/assets/javascripts/katello/locale/de_AT/katello.js +279 -15
  9. data/app/assets/javascripts/katello/locale/de_DE/katello.js +281 -17
  10. data/app/assets/javascripts/katello/locale/el/katello.js +281 -17
  11. data/app/assets/javascripts/katello/locale/en/katello.js +280 -16
  12. data/app/assets/javascripts/katello/locale/en_GB/katello.js +280 -16
  13. data/app/assets/javascripts/katello/locale/en_US/katello.js +279 -15
  14. data/app/assets/javascripts/katello/locale/es/katello.js +445 -181
  15. data/app/assets/javascripts/katello/locale/et_EE/katello.js +279 -15
  16. data/app/assets/javascripts/katello/locale/fr/katello.js +1097 -833
  17. data/app/assets/javascripts/katello/locale/gl/katello.js +279 -15
  18. data/app/assets/javascripts/katello/locale/gu/katello.js +279 -15
  19. data/app/assets/javascripts/katello/locale/he_IL/katello.js +279 -15
  20. data/app/assets/javascripts/katello/locale/hi/katello.js +279 -15
  21. data/app/assets/javascripts/katello/locale/id/katello.js +279 -15
  22. data/app/assets/javascripts/katello/locale/it/katello.js +281 -17
  23. data/app/assets/javascripts/katello/locale/ja/katello.js +826 -562
  24. data/app/assets/javascripts/katello/locale/ka/katello.js +677 -413
  25. data/app/assets/javascripts/katello/locale/kn/katello.js +279 -15
  26. data/app/assets/javascripts/katello/locale/ko/katello.js +2325 -2062
  27. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +279 -15
  28. data/app/assets/javascripts/katello/locale/mr/katello.js +279 -15
  29. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +279 -15
  30. data/app/assets/javascripts/katello/locale/or/katello.js +279 -15
  31. data/app/assets/javascripts/katello/locale/pa/katello.js +279 -15
  32. data/app/assets/javascripts/katello/locale/pl/katello.js +281 -17
  33. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +279 -15
  34. data/app/assets/javascripts/katello/locale/pt/katello.js +279 -15
  35. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +458 -194
  36. data/app/assets/javascripts/katello/locale/ro/katello.js +279 -15
  37. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +279 -15
  38. data/app/assets/javascripts/katello/locale/ru/katello.js +281 -17
  39. data/app/assets/javascripts/katello/locale/sl/katello.js +281 -17
  40. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +279 -15
  41. data/app/assets/javascripts/katello/locale/ta/katello.js +279 -15
  42. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +279 -15
  43. data/app/assets/javascripts/katello/locale/te/katello.js +279 -15
  44. data/app/assets/javascripts/katello/locale/tr/katello.js +279 -15
  45. data/app/assets/javascripts/katello/locale/vi/katello.js +279 -15
  46. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +279 -15
  47. data/app/assets/javascripts/katello/locale/zh/katello.js +279 -15
  48. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +831 -567
  49. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +281 -17
  50. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +2 -2
  51. data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +69 -19
  52. data/app/controllers/katello/api/v2/exports_controller.rb +14 -7
  53. data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +9 -0
  54. data/app/controllers/katello/api/v2/host_errata_controller.rb +24 -2
  55. data/app/controllers/katello/api/v2/organizations_controller.rb +10 -4
  56. data/app/controllers/katello/api/v2/repositories_controller.rb +12 -3
  57. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +36 -8
  58. data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +9 -1
  59. data/app/lib/actions/katello/repository/destroy.rb +3 -2
  60. data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +1 -2
  61. data/app/lib/actions/pulp3/orchestration/content_view_version/export_repository.rb +1 -2
  62. data/app/lib/katello/errors.rb +2 -0
  63. data/app/models/katello/concerns/host_managed_extensions.rb +5 -1
  64. data/app/models/katello/content_view_environment.rb +3 -0
  65. data/app/models/katello/rhel_lifecycle_status.rb +3 -1
  66. data/app/services/katello/pulp3/content_view_version/export.rb +32 -25
  67. data/app/services/katello/pulp3/content_view_version/export_validator.rb +1 -1
  68. data/app/views/katello/api/v2/content_facet/base.json.rabl +3 -0
  69. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata-type.filter.js +1 -1
  70. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +8 -0
  71. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +6 -5
  72. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +6 -5
  73. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +6 -5
  74. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +6 -5
  75. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +6 -5
  76. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +6 -5
  77. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +6 -5
  78. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +6 -5
  79. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +6 -5
  80. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +6 -5
  81. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +6 -5
  82. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +6 -5
  83. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +6 -5
  84. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +6 -5
  85. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +6 -5
  86. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +6 -5
  87. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +6 -5
  88. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +6 -5
  89. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +6 -5
  90. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +6 -5
  91. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +6 -5
  92. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +6 -5
  93. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +6 -5
  94. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +6 -5
  95. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +6 -5
  96. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +6 -5
  97. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +6 -5
  98. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +6 -5
  99. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +6 -5
  100. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +6 -5
  101. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +6 -5
  102. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +6 -5
  103. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +6 -5
  104. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +6 -5
  105. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +6 -5
  106. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +6 -5
  107. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +6 -5
  108. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +6 -5
  109. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +6 -5
  110. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +6 -5
  111. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +6 -5
  112. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +6 -5
  113. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +6 -5
  114. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +6 -5
  115. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +6 -5
  116. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +6 -5
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +11 -11
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +3 -0
  119. data/lib/katello/plugin.rb +6 -0
  120. data/lib/katello/tasks/repository.rake +67 -0
  121. data/lib/katello/version.rb +1 -1
  122. data/locale/action_names.rb +186 -0
  123. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  124. data/locale/bn/katello.po +279 -15
  125. data/locale/bn/katello.po.time_stamp +0 -0
  126. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  127. data/locale/bn_IN/katello.po +279 -15
  128. data/locale/bn_IN/katello.po.time_stamp +0 -0
  129. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  130. data/locale/ca/katello.po +282 -18
  131. data/locale/ca/katello.po.time_stamp +0 -0
  132. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  133. data/locale/cs/katello.po +280 -17
  134. data/locale/cs/katello.po.time_stamp +0 -0
  135. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  136. data/locale/cs_CZ/katello.po +283 -19
  137. data/locale/cs_CZ/katello.po.time_stamp +0 -0
  138. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  139. data/locale/de/katello.po +295 -31
  140. data/locale/de/katello.po.time_stamp +0 -0
  141. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  142. data/locale/de_AT/katello.po +279 -15
  143. data/locale/de_AT/katello.po.time_stamp +0 -0
  144. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  145. data/locale/de_DE/katello.po +282 -18
  146. data/locale/de_DE/katello.po.time_stamp +0 -0
  147. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  148. data/locale/el/katello.po +282 -18
  149. data/locale/el/katello.po.time_stamp +0 -0
  150. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  151. data/locale/en/katello.po +280 -17
  152. data/locale/en/katello.po.time_stamp +0 -0
  153. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  154. data/locale/en_GB/katello.po +280 -16
  155. data/locale/en_GB/katello.po.time_stamp +0 -0
  156. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  157. data/locale/en_US/katello.po +279 -15
  158. data/locale/en_US/katello.po.time_stamp +0 -0
  159. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  160. data/locale/es/katello.po +449 -184
  161. data/locale/es/katello.po.time_stamp +0 -0
  162. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  163. data/locale/et_EE/katello.po +279 -15
  164. data/locale/et_EE/katello.po.time_stamp +0 -0
  165. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  166. data/locale/fr/katello.po +1103 -840
  167. data/locale/fr/katello.po.time_stamp +0 -0
  168. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  169. data/locale/gl/katello.po +279 -15
  170. data/locale/gl/katello.po.time_stamp +0 -0
  171. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  172. data/locale/gu/katello.po +279 -15
  173. data/locale/gu/katello.po.time_stamp +0 -0
  174. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  175. data/locale/he_IL/katello.po +279 -15
  176. data/locale/he_IL/katello.po.time_stamp +0 -0
  177. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  178. data/locale/hi/katello.po +279 -15
  179. data/locale/hi/katello.po.time_stamp +0 -0
  180. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  181. data/locale/id/katello.po +279 -15
  182. data/locale/id/katello.po.time_stamp +0 -0
  183. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  184. data/locale/it/katello.po +282 -18
  185. data/locale/it/katello.po.time_stamp +0 -0
  186. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  187. data/locale/ja/katello.po +833 -568
  188. data/locale/ja/katello.po.time_stamp +0 -0
  189. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  190. data/locale/ka/katello.po +679 -413
  191. data/locale/ka/katello.po.time_stamp +0 -0
  192. data/locale/katello.pot +775 -359
  193. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  194. data/locale/kn/katello.po +279 -15
  195. data/locale/kn/katello.po.time_stamp +0 -0
  196. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  197. data/locale/ko/katello.po +2334 -2058
  198. data/locale/ko/katello.po.time_stamp +0 -0
  199. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  200. data/locale/ml_IN/katello.po +279 -15
  201. data/locale/ml_IN/katello.po.time_stamp +0 -0
  202. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  203. data/locale/mr/katello.po +279 -15
  204. data/locale/mr/katello.po.time_stamp +0 -0
  205. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  206. data/locale/nl_NL/katello.po +279 -15
  207. data/locale/nl_NL/katello.po.time_stamp +0 -0
  208. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  209. data/locale/or/katello.po +279 -15
  210. data/locale/or/katello.po.time_stamp +0 -0
  211. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  212. data/locale/pa/katello.po +279 -15
  213. data/locale/pa/katello.po.time_stamp +0 -0
  214. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  215. data/locale/pl/katello.po +282 -18
  216. data/locale/pl/katello.po.time_stamp +0 -0
  217. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  218. data/locale/pl_PL/katello.po +279 -15
  219. data/locale/pl_PL/katello.po.time_stamp +0 -0
  220. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  221. data/locale/pt/katello.po +279 -15
  222. data/locale/pt/katello.po.time_stamp +0 -0
  223. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  224. data/locale/pt_BR/katello.po +462 -197
  225. data/locale/pt_BR/katello.po.time_stamp +0 -0
  226. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  227. data/locale/ro/katello.po +279 -15
  228. data/locale/ro/katello.po.time_stamp +0 -0
  229. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  230. data/locale/ro_RO/katello.po +279 -15
  231. data/locale/ro_RO/katello.po.time_stamp +0 -0
  232. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  233. data/locale/ru/katello.po +282 -18
  234. data/locale/ru/katello.po.time_stamp +0 -0
  235. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  236. data/locale/sl/katello.po +282 -18
  237. data/locale/sl/katello.po.time_stamp +0 -0
  238. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  239. data/locale/sv_SE/katello.po +279 -15
  240. data/locale/sv_SE/katello.po.time_stamp +0 -0
  241. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  242. data/locale/ta/katello.po +279 -15
  243. data/locale/ta/katello.po.time_stamp +0 -0
  244. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  245. data/locale/ta_IN/katello.po +279 -15
  246. data/locale/ta_IN/katello.po.time_stamp +0 -0
  247. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  248. data/locale/te/katello.po +279 -15
  249. data/locale/te/katello.po.time_stamp +0 -0
  250. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  251. data/locale/tr/katello.po +279 -15
  252. data/locale/tr/katello.po.time_stamp +0 -0
  253. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  254. data/locale/vi/katello.po +279 -15
  255. data/locale/vi/katello.po.time_stamp +0 -0
  256. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  257. data/locale/vi_VN/katello.po +279 -15
  258. data/locale/vi_VN/katello.po.time_stamp +0 -0
  259. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  260. data/locale/zh/katello.po +279 -15
  261. data/locale/zh/katello.po.time_stamp +0 -0
  262. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  263. data/locale/zh_CN/katello.po +836 -567
  264. data/locale/zh_CN/katello.po.time_stamp +0 -0
  265. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  266. data/locale/zh_TW/katello.po +282 -18
  267. data/locale/zh_TW/katello.po.time_stamp +0 -0
  268. data/webpack/components/Errata/index.js +18 -0
  269. data/webpack/components/extensions/HostDetails/ActionsBar/index.js +5 -5
  270. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/HostErrataConstants.js +3 -0
  271. data/webpack/global_index.js +0 -4
  272. data/webpack/redux/actions/RedHatRepositories/helpers.js +3 -3
  273. data/webpack/redux/reducers/index.js +0 -2
  274. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +2 -0
  275. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +9 -6
  276. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +4 -0
  277. metadata +53 -16
  278. data/webpack/components/extensions/about/SystemStatuses.js +0 -55
  279. data/webpack/components/extensions/about/SystemStatusesActions.js +0 -16
  280. data/webpack/components/extensions/about/SystemStatusesConsts.js +0 -3
  281. data/webpack/components/extensions/about/SystemStatusesReducer.js +0 -26
  282. data/webpack/components/extensions/about/SystemStatusesSelectors.js +0 -3
  283. data/webpack/components/extensions/about/__tests__/SystemStatuses.fixtures.js +0 -20
  284. data/webpack/components/extensions/about/__tests__/SystemStatuses.test.js +0 -14
  285. data/webpack/components/extensions/about/__tests__/SystemStatusesReducer.test.js +0 -32
  286. data/webpack/components/extensions/about/__tests__/__snapshots__/SystemStatuses.test.js.snap +0 -156
  287. data/webpack/components/extensions/about/__tests__/__snapshots__/SystemStatusesReducer.test.js.snap +0 -47
  288. data/webpack/components/extensions/about/index.js +0 -19
  289. data/webpack/components/extensions/reducers.js +0 -6
File without changes
@@ -14,6 +14,7 @@ import {
14
14
  SecurityIcon,
15
15
  EnhancementIcon,
16
16
  SquareIcon,
17
+ QuestionCircleIcon,
17
18
  } from '@patternfly/react-icons';
18
19
  import { TranslatedAnchor } from '../Table/components/TranslatedPlural';
19
20
 
@@ -81,6 +82,21 @@ export const ErrataSummary = ({ type, count, errataCategory }) => {
81
82
  );
82
83
  break;
83
84
  default:
85
+ label = __('Other');
86
+ ErrataIcon = QuestionCircleIcon;
87
+ color = '#6a6e73';
88
+ url = (
89
+ <TranslatedAnchor
90
+ id="errata-card-other-count"
91
+ style={{ marginLeft: '0.4rem' }}
92
+ href={`#/Content/errata?type=other&show=${errataCategory}`}
93
+ count={count}
94
+ plural="others"
95
+ singular="other"
96
+ zeroMsg="# others"
97
+ ariaLabel={`${count} others`}
98
+ />
99
+ );
84
100
  }
85
101
  if (!ErrataIcon) return null;
86
102
 
@@ -126,6 +142,8 @@ export const ErrataType = ({ type }) => {
126
142
  ErrataIcon = EnhancementIcon;
127
143
  break;
128
144
  default:
145
+ label = __('Other');
146
+ ErrataIcon = QuestionCircleIcon;
129
147
  }
130
148
  if (!ErrataIcon) return null;
131
149
 
@@ -2,8 +2,8 @@ import React, { useContext } from 'react';
2
2
  import { useSelector, useDispatch } from 'react-redux';
3
3
  import {
4
4
  DropdownItem,
5
- DropdownSeparator,
6
- } from '@patternfly/react-core/deprecated';
5
+ Divider,
6
+ } from '@patternfly/react-core';
7
7
  import { CubeIcon, UndoIcon, RedoIcon } from '@patternfly/react-icons';
8
8
 
9
9
  import { translate as __ } from 'foremanReact/common/I18n';
@@ -51,12 +51,12 @@ const HostActionsBar = () => {
51
51
  <DropdownItem
52
52
  ouiaId="katello-legacy-contenthost-ui"
53
53
  key="katello-legacy-contenthost-ui"
54
- href={foremanUrl(`/content_hosts/${hostDetails?.id}`)}
54
+ to={foremanUrl(`/content_hosts/${hostDetails?.id}`)}
55
55
  icon={<UndoIcon />}
56
56
  >
57
57
  {__('Legacy content host UI')}
58
58
  </DropdownItem>
59
- <DropdownSeparator key="separator" ouiaId="katello-separator" />
59
+ <Divider key="separator" />
60
60
  {showRecalculate && (
61
61
  <DropdownItem
62
62
  ouiaId="katello-refresh-applicability"
@@ -72,7 +72,7 @@ const HostActionsBar = () => {
72
72
  <DropdownItem
73
73
  ouiaId="katello-change-host-content-source"
74
74
  key="katello-change-host-content-source"
75
- href={foremanUrl(`/change_host_content_source?host_id=${hostDetails?.id}&initialContentSourceId=${hostDetails?.content_facet_attributes?.content_source_id}`)}
75
+ to={foremanUrl(`/change_host_content_source?host_id=${hostDetails?.id}&initialContentSourceId=${hostDetails?.content_facet_attributes?.content_source_id}`)}
76
76
  icon={<CubeIcon />}
77
77
  >
78
78
  {__('Change content source')}
@@ -5,6 +5,7 @@ export const ERRATA_TYPES = {
5
5
  SECURITY: 'Security',
6
6
  BUGFIX: 'Bugfix',
7
7
  ENHANCEMENT: 'Enhancement',
8
+ OTHER: 'Other',
8
9
  };
9
10
  export const ERRATA_SEVERITIES = {
10
11
  NOT_APPLICABLE: 'N/A',
@@ -18,6 +19,7 @@ export const TYPES_TO_PARAM = {
18
19
  [ERRATA_TYPES.SECURITY]: 'security',
19
20
  [ERRATA_TYPES.BUGFIX]: 'bugfix',
20
21
  [ERRATA_TYPES.ENHANCEMENT]: 'enhancement',
22
+ [ERRATA_TYPES.OTHER]: 'other',
21
23
  };
22
24
 
23
25
  export const SEVERITIES_TO_PARAM = {
@@ -32,6 +34,7 @@ export const PARAM_TO_FRIENDLY_NAME = {
32
34
  security: 'Security',
33
35
  bugfix: 'Bugfix',
34
36
  enhancement: 'Enhancement',
37
+ other: 'Other',
35
38
  none: 'N/A',
36
39
  low: 'Low',
37
40
  moderate: 'Moderate',
@@ -8,7 +8,6 @@ import { registerGetActions } from 'foremanReact/components/HostsIndex/TableRowA
8
8
 
9
9
  import hostsIndexColumnExtensions from './ForemanColumnExtensions/index';
10
10
  import hostTableRowActions from './components/extensions/Hosts/TableRowActions';
11
- import SystemStatuses from './components/extensions/about';
12
11
  import {
13
12
  RegistrationCommands,
14
13
  RegistrationActivationKeys,
@@ -22,7 +21,6 @@ import HwPropertiesCard from './components/extensions/HostDetails/DetailsTabCard
22
21
  import ImageModeCard from './components/extensions/HostDetails/DetailsTabCards/ImageModeCard';
23
22
 
24
23
  import TracesTab from './components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js';
25
- import extendReducer from './components/extensions/reducers';
26
24
  import rootReducer from './redux/reducers';
27
25
  import HostCollectionsCard from './components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard';
28
26
  import { hostIsNotRegistered } from './components/extensions/HostDetails/hostDetailsHelpers';
@@ -42,10 +40,8 @@ import BulkRepositorySetsWizardModal from './components/extensions/Hosts/BulkAct
42
40
  import ActivationKeysSearch from './components/ActivationKeysSearch';
43
41
  import { CVEDetailsCard } from './scenes/ActivationKeys/Details/components/CVEDetailsCard.js';
44
42
 
45
- registerReducer('katelloExtends', extendReducer);
46
43
  registerReducer('katello', rootReducer);
47
44
 
48
- addGlobalFill('aboutFooterSlot', '[katello]AboutSystemStatuses', <SystemStatuses key="katello-system-statuses" />, 100);
49
45
  addGlobalFill('registrationAdvanced', '[katello]RegistrationCommands', <RegistrationCommands key="katello-reg" />, 100);
50
46
  addGlobalFill('registrationGeneral', '[katello]RegistrationActivationKeys', <RegistrationActivationKeys key="katello-reg-ak" />, 100);
51
47
 
@@ -40,9 +40,9 @@ const recommendedRepositoriesSatTools = [
40
40
  ];
41
41
 
42
42
  const recommendedRepositoriesMisc = [
43
- 'satellite-utils-6.17-for-rhel-9-x86_64-rpms',
44
- 'satellite-maintenance-6.17-for-rhel-9-x86_64-rpms',
45
- 'satellite-capsule-6.17-for-rhel-9-x86_64-rpms',
43
+ 'satellite-utils-6.18-for-rhel-9-x86_64-rpms',
44
+ 'satellite-maintenance-6.18-for-rhel-9-x86_64-rpms',
45
+ 'satellite-capsule-6.18-for-rhel-9-x86_64-rpms',
46
46
  ];
47
47
 
48
48
  const recommendedRepositorySetLables = recommendedRepositoriesRHEL
@@ -9,7 +9,6 @@ import { setOrganization } from '../../components/SelectOrg/SetOrganization';
9
9
  import { moduleStreams } from '../../scenes/ModuleStreams';
10
10
  import { reducers as organizationProductsReducers } from '../OrganizationProducts';
11
11
  import { moduleStreamDetails } from '../../scenes/ModuleStreams/Details';
12
- import { reducers as systemStatuses } from '../../components/extensions/about';
13
12
  import { contentViewDetails } from '../../scenes/ContentViews/Details';
14
13
  import hostDetails from '../../components/extensions/HostDetails/HostDetailsReducer';
15
14
  import searchBar from '../../components/extensions/SearchBar/SearchBarReducer';
@@ -28,5 +27,4 @@ export default combineReducers({
28
27
  hostDetails,
29
28
  searchBar,
30
29
  ...organizationProductsReducers,
31
- ...systemStatuses,
32
30
  });
@@ -164,6 +164,7 @@ const AddEditPackageRuleModal = ({
164
164
  },
165
165
  }}
166
166
  onSearchChange={setName}
167
+ initialQuery={name}
167
168
  />
168
169
  </FormGroup>
169
170
  <FormGroup label={__('Architecture')} fieldId="architecture">
@@ -175,6 +176,7 @@ const AddEditPackageRuleModal = ({
175
176
  },
176
177
  }}
177
178
  onSearchChange={setArchitecture}
179
+ initialQuery={architecture}
178
180
  />
179
181
  </FormGroup>
180
182
  <FormGroup label={__('Version')} fieldId="version_comparator">
@@ -127,7 +127,7 @@ const ContentViewVersions = ({ cvId, details }) => {
127
127
  [dispatch],
128
128
  );
129
129
 
130
- const buildCells = (cvVersion) => {
130
+ const buildCells = (cvVersion, rowIndex) => {
131
131
  const {
132
132
  version,
133
133
  description,
@@ -157,7 +157,7 @@ const ContentViewVersions = ({ cvId, details }) => {
157
157
 
158
158
  return [
159
159
  <Checkbox
160
- ouiaId={`select-version-${versionId}`}
160
+ ouiaId={`select-version-row-${rowIndex}`}
161
161
  id={versionId}
162
162
  aria-label={`Select version ${versionId}`}
163
163
  isChecked={isSelected(versionId)}
@@ -208,10 +208,11 @@ const ContentViewVersions = ({ cvId, details }) => {
208
208
  version,
209
209
  id: versionId,
210
210
  environments,
211
- }) =>
211
+ }, rowIndex) =>
212
212
  [
213
213
  {
214
214
  title: __('Promote'),
215
+ ouiaId: `promote-version-row-${rowIndex}`,
215
216
  onClick: () => {
216
217
  onPromote({
217
218
  cvVersionId: versionId,
@@ -222,6 +223,7 @@ const ContentViewVersions = ({ cvId, details }) => {
222
223
  },
223
224
  {
224
225
  title: __('Remove from environments'),
226
+ ouiaId: `remove-version-row-${rowIndex}`,
225
227
  onClick: () => {
226
228
  onRemoveFromEnv({
227
229
  cvVersionId: versionId,
@@ -233,6 +235,7 @@ const ContentViewVersions = ({ cvId, details }) => {
233
235
  },
234
236
  {
235
237
  title: __('Delete'),
238
+ ouiaId: `delete-version-row-${rowIndex}`,
236
239
  onClick: () => {
237
240
  selectionSet.clear();
238
241
  selectOne(true, versionId);
@@ -381,9 +384,9 @@ const ContentViewVersions = ({ cvId, details }) => {
381
384
  </Tr>
382
385
  </Thead>
383
386
  <Tbody>
384
- {results?.map((cvVersion) => {
387
+ {results?.map((cvVersion, rowIndex) => {
385
388
  const hasHistory = !!cvVersion?.active_history?.length;
386
- const cells = buildCells(cvVersion);
389
+ const cells = buildCells(cvVersion, rowIndex);
387
390
  return (
388
391
  <Tr key={`row-${cvVersion.id}`} ouiaId={`row-${cvVersion.id}`}>
389
392
  {cells.map((cell, index) => {
@@ -399,7 +402,7 @@ const ContentViewVersions = ({ cvId, details }) => {
399
402
  {(!hasHistory && hasActionPermissions) &&
400
403
  <Td
401
404
  actions={{
402
- items: rowDropdownItems(cvVersion),
405
+ items: rowDropdownItems(cvVersion, rowIndex),
403
406
  }}
404
407
  />}
405
408
  </Tr>);
@@ -90,18 +90,21 @@ const ContentViewTable = () => {
90
90
 
91
91
  const publishAction = {
92
92
  title: __('Publish'),
93
+ ouiaId: 'publish-action',
93
94
  isDisabled: generatedFor !== 'none',
94
95
  onClick: () => openPublishModal(cvInfo),
95
96
  };
96
97
 
97
98
  const promoteAction = {
98
99
  title: __('Promote'),
100
+ ouiaId: 'promote-action',
99
101
  isDisabled: !cvVersionCount,
100
102
  onClick: () => openPromoteModal(cvInfo),
101
103
  };
102
104
 
103
105
  const copyAction = {
104
106
  title: __('Copy'),
107
+ ouiaId: 'copy-action',
105
108
  onClick: () => {
106
109
  setCopy(true);
107
110
  setActionableCvId(cvInfo.id.toString());
@@ -111,6 +114,7 @@ const ContentViewTable = () => {
111
114
 
112
115
  const deleteAction = {
113
116
  title: __('Delete'),
117
+ ouiaId: 'delete-action',
114
118
  onClick: () => openDeleteModal(cvInfo),
115
119
  };
116
120
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katello
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.18.0.rc1
4
+ version: 4.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - N/A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-13 00:00:00.000000000 Z
11
+ date: 2025-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -4454,104 +4454,153 @@ files:
4454
4454
  - lib/proxy_api/pulp_node.rb
4455
4455
  - locale/Makefile
4456
4456
  - locale/README
4457
+ - locale/action_names.rb
4457
4458
  - locale/bn/LC_MESSAGES/katello.mo
4458
4459
  - locale/bn/katello.po
4460
+ - locale/bn/katello.po.time_stamp
4459
4461
  - locale/bn_IN/LC_MESSAGES/katello.mo
4460
4462
  - locale/bn_IN/katello.po
4463
+ - locale/bn_IN/katello.po.time_stamp
4461
4464
  - locale/ca/LC_MESSAGES/katello.mo
4462
4465
  - locale/ca/katello.po
4466
+ - locale/ca/katello.po.time_stamp
4463
4467
  - locale/cs/LC_MESSAGES/katello.mo
4464
4468
  - locale/cs/katello.po
4469
+ - locale/cs/katello.po.time_stamp
4465
4470
  - locale/cs_CZ/LC_MESSAGES/katello.mo
4466
4471
  - locale/cs_CZ/katello.po
4472
+ - locale/cs_CZ/katello.po.time_stamp
4467
4473
  - locale/de/LC_MESSAGES/katello.mo
4468
4474
  - locale/de/katello.po
4475
+ - locale/de/katello.po.time_stamp
4469
4476
  - locale/de_AT/LC_MESSAGES/katello.mo
4470
4477
  - locale/de_AT/katello.po
4478
+ - locale/de_AT/katello.po.time_stamp
4471
4479
  - locale/de_DE/LC_MESSAGES/katello.mo
4472
4480
  - locale/de_DE/katello.po
4481
+ - locale/de_DE/katello.po.time_stamp
4473
4482
  - locale/el/LC_MESSAGES/katello.mo
4474
4483
  - locale/el/katello.po
4484
+ - locale/el/katello.po.time_stamp
4475
4485
  - locale/en/LC_MESSAGES/katello.mo
4476
4486
  - locale/en/katello.po
4487
+ - locale/en/katello.po.time_stamp
4477
4488
  - locale/en_GB/LC_MESSAGES/katello.mo
4478
4489
  - locale/en_GB/katello.po
4490
+ - locale/en_GB/katello.po.time_stamp
4479
4491
  - locale/en_US/LC_MESSAGES/katello.mo
4480
4492
  - locale/en_US/katello.po
4493
+ - locale/en_US/katello.po.time_stamp
4481
4494
  - locale/es/LC_MESSAGES/katello.mo
4482
4495
  - locale/es/katello.po
4496
+ - locale/es/katello.po.time_stamp
4483
4497
  - locale/et_EE/LC_MESSAGES/katello.mo
4484
4498
  - locale/et_EE/katello.po
4499
+ - locale/et_EE/katello.po.time_stamp
4485
4500
  - locale/fr/LC_MESSAGES/katello.mo
4486
4501
  - locale/fr/katello.po
4502
+ - locale/fr/katello.po.time_stamp
4487
4503
  - locale/gl/LC_MESSAGES/katello.mo
4488
4504
  - locale/gl/katello.po
4505
+ - locale/gl/katello.po.time_stamp
4489
4506
  - locale/gu/LC_MESSAGES/katello.mo
4490
4507
  - locale/gu/katello.po
4508
+ - locale/gu/katello.po.time_stamp
4491
4509
  - locale/he_IL/LC_MESSAGES/katello.mo
4492
4510
  - locale/he_IL/katello.po
4511
+ - locale/he_IL/katello.po.time_stamp
4493
4512
  - locale/hi/LC_MESSAGES/katello.mo
4494
4513
  - locale/hi/katello.po
4514
+ - locale/hi/katello.po.time_stamp
4495
4515
  - locale/id/LC_MESSAGES/katello.mo
4496
4516
  - locale/id/katello.po
4517
+ - locale/id/katello.po.time_stamp
4497
4518
  - locale/it/LC_MESSAGES/katello.mo
4498
4519
  - locale/it/katello.po
4520
+ - locale/it/katello.po.time_stamp
4499
4521
  - locale/ja/LC_MESSAGES/katello.mo
4500
4522
  - locale/ja/katello.po
4523
+ - locale/ja/katello.po.time_stamp
4501
4524
  - locale/ka/LC_MESSAGES/katello.mo
4502
4525
  - locale/ka/katello.po
4526
+ - locale/ka/katello.po.time_stamp
4503
4527
  - locale/katello.pot
4504
4528
  - locale/kn/LC_MESSAGES/katello.mo
4505
4529
  - locale/kn/katello.po
4530
+ - locale/kn/katello.po.time_stamp
4506
4531
  - locale/ko/LC_MESSAGES/katello.mo
4507
4532
  - locale/ko/katello.po
4533
+ - locale/ko/katello.po.time_stamp
4508
4534
  - locale/ml_IN/LC_MESSAGES/katello.mo
4509
4535
  - locale/ml_IN/katello.po
4536
+ - locale/ml_IN/katello.po.time_stamp
4510
4537
  - locale/mr/LC_MESSAGES/katello.mo
4511
4538
  - locale/mr/katello.po
4539
+ - locale/mr/katello.po.time_stamp
4512
4540
  - locale/nl_NL/LC_MESSAGES/katello.mo
4513
4541
  - locale/nl_NL/katello.po
4542
+ - locale/nl_NL/katello.po.time_stamp
4514
4543
  - locale/or/LC_MESSAGES/katello.mo
4515
4544
  - locale/or/katello.po
4545
+ - locale/or/katello.po.time_stamp
4516
4546
  - locale/pa/LC_MESSAGES/katello.mo
4517
4547
  - locale/pa/katello.po
4548
+ - locale/pa/katello.po.time_stamp
4518
4549
  - locale/pl/LC_MESSAGES/katello.mo
4519
4550
  - locale/pl/katello.po
4551
+ - locale/pl/katello.po.time_stamp
4520
4552
  - locale/pl_PL/LC_MESSAGES/katello.mo
4521
4553
  - locale/pl_PL/katello.po
4554
+ - locale/pl_PL/katello.po.time_stamp
4522
4555
  - locale/pt/LC_MESSAGES/katello.mo
4523
4556
  - locale/pt/katello.po
4557
+ - locale/pt/katello.po.time_stamp
4524
4558
  - locale/pt_BR/LC_MESSAGES/katello.mo
4525
4559
  - locale/pt_BR/katello.po
4560
+ - locale/pt_BR/katello.po.time_stamp
4526
4561
  - locale/ro/LC_MESSAGES/katello.mo
4527
4562
  - locale/ro/katello.po
4563
+ - locale/ro/katello.po.time_stamp
4528
4564
  - locale/ro_RO/LC_MESSAGES/katello.mo
4529
4565
  - locale/ro_RO/katello.po
4566
+ - locale/ro_RO/katello.po.time_stamp
4530
4567
  - locale/ru/LC_MESSAGES/katello.mo
4531
4568
  - locale/ru/katello.po
4569
+ - locale/ru/katello.po.time_stamp
4532
4570
  - locale/sl/LC_MESSAGES/katello.mo
4533
4571
  - locale/sl/katello.po
4572
+ - locale/sl/katello.po.time_stamp
4534
4573
  - locale/sv_SE/LC_MESSAGES/katello.mo
4535
4574
  - locale/sv_SE/katello.po
4575
+ - locale/sv_SE/katello.po.time_stamp
4536
4576
  - locale/ta/LC_MESSAGES/katello.mo
4537
4577
  - locale/ta/katello.po
4578
+ - locale/ta/katello.po.time_stamp
4538
4579
  - locale/ta_IN/LC_MESSAGES/katello.mo
4539
4580
  - locale/ta_IN/katello.po
4581
+ - locale/ta_IN/katello.po.time_stamp
4540
4582
  - locale/te/LC_MESSAGES/katello.mo
4541
4583
  - locale/te/katello.po
4584
+ - locale/te/katello.po.time_stamp
4542
4585
  - locale/tr/LC_MESSAGES/katello.mo
4543
4586
  - locale/tr/katello.po
4587
+ - locale/tr/katello.po.time_stamp
4544
4588
  - locale/update-i18n
4545
4589
  - locale/vi/LC_MESSAGES/katello.mo
4546
4590
  - locale/vi/katello.po
4591
+ - locale/vi/katello.po.time_stamp
4547
4592
  - locale/vi_VN/LC_MESSAGES/katello.mo
4548
4593
  - locale/vi_VN/katello.po
4594
+ - locale/vi_VN/katello.po.time_stamp
4549
4595
  - locale/zh/LC_MESSAGES/katello.mo
4550
4596
  - locale/zh/katello.po
4597
+ - locale/zh/katello.po.time_stamp
4551
4598
  - locale/zh_CN/LC_MESSAGES/katello.mo
4552
4599
  - locale/zh_CN/katello.po
4600
+ - locale/zh_CN/katello.po.time_stamp
4553
4601
  - locale/zh_TW/LC_MESSAGES/katello.mo
4554
4602
  - locale/zh_TW/katello.po
4603
+ - locale/zh_TW/katello.po.time_stamp
4555
4604
  - package.json
4556
4605
  - vendor/assets/images/katello/add2.png
4557
4606
  - vendor/assets/images/katello/addhost.png
@@ -4863,18 +4912,6 @@ files:
4863
4912
  - webpack/components/extensions/SearchBar/SearchBarHooks.js
4864
4913
  - webpack/components/extensions/SearchBar/SearchBarReducer.js
4865
4914
  - webpack/components/extensions/SearchBar/SearchBarSelectors.js
4866
- - webpack/components/extensions/about/SystemStatuses.js
4867
- - webpack/components/extensions/about/SystemStatusesActions.js
4868
- - webpack/components/extensions/about/SystemStatusesConsts.js
4869
- - webpack/components/extensions/about/SystemStatusesReducer.js
4870
- - webpack/components/extensions/about/SystemStatusesSelectors.js
4871
- - webpack/components/extensions/about/__tests__/SystemStatuses.fixtures.js
4872
- - webpack/components/extensions/about/__tests__/SystemStatuses.test.js
4873
- - webpack/components/extensions/about/__tests__/SystemStatusesReducer.test.js
4874
- - webpack/components/extensions/about/__tests__/__snapshots__/SystemStatuses.test.js.snap
4875
- - webpack/components/extensions/about/__tests__/__snapshots__/SystemStatusesReducer.test.js.snap
4876
- - webpack/components/extensions/about/index.js
4877
- - webpack/components/extensions/reducers.js
4878
4915
  - webpack/components/pf3Table/components/CollapseSubscriptionGroupButton.js
4879
4916
  - webpack/components/pf3Table/components/CollapseSubscriptionGroupButton.test.js
4880
4917
  - webpack/components/pf3Table/components/Table.js
@@ -5562,9 +5599,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
5562
5599
  version: '4'
5563
5600
  required_rubygems_version: !ruby/object:Gem::Requirement
5564
5601
  requirements:
5565
- - - ">"
5602
+ - - ">="
5566
5603
  - !ruby/object:Gem::Version
5567
- version: 1.3.1
5604
+ version: '0'
5568
5605
  requirements: []
5569
5606
  rubygems_version: 3.2.33
5570
5607
  signing_key:
@@ -1,55 +0,0 @@
1
- import React, { Component } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { translate as __ } from 'foremanReact/common/I18n';
4
- import { LoadingState } from 'patternfly-react';
5
-
6
- class SystemStatuses extends Component {
7
- componentDidMount() {
8
- this.props.getSystemStatuses('/katello/api/ping');
9
- }
10
-
11
- render() {
12
- const { services, status } = this.props;
13
- const isLoading = status === 'PENDING';
14
-
15
- return (
16
- <div className="col-md-7">
17
- <div className="stats-well">
18
- <h4>{__('Backend System Status')}</h4>
19
- <LoadingState loading={isLoading} loadingText="">
20
- <table className="table table-striped">
21
- <tbody>
22
- <tr>
23
- <th>{__('Component')}</th>
24
- <th>{__('Status')}</th>
25
- <th>{__('Message')}</th>
26
- </tr>
27
-
28
- {Object.entries(services).map(([key, value]) => (
29
- <tr key={key}>
30
- <td> {key} </td>
31
- <td>{value.status.toUpperCase()}</td>
32
- <td> {value.message}</td>
33
- </tr>
34
- ))}
35
- </tbody>
36
- </table>
37
- </LoadingState>
38
- </div>
39
- </div>
40
- );
41
- }
42
- }
43
-
44
- SystemStatuses.propTypes = {
45
- getSystemStatuses: PropTypes.func.isRequired,
46
- services: PropTypes.shape({}),
47
- status: PropTypes.string,
48
- };
49
-
50
- SystemStatuses.defaultProps = {
51
- services: {},
52
- status: '',
53
- };
54
-
55
- export default SystemStatuses;
@@ -1,16 +0,0 @@
1
- import { ajaxRequestAction } from 'foremanReact/redux/actions/common';
2
- import {
3
- SYSTEM_STATUSES_FAILURE,
4
- SYSTEM_STATUSES_SUCCESS,
5
- SYSTEM_STATUSES_REQUEST,
6
- } from './SystemStatusesConsts';
7
-
8
- // eslint-disable-next-line import/prefer-default-export
9
- export const getSystemStatuses = url => dispatch =>
10
- ajaxRequestAction({
11
- dispatch,
12
- requestAction: SYSTEM_STATUSES_REQUEST,
13
- successAction: SYSTEM_STATUSES_SUCCESS,
14
- failedAction: SYSTEM_STATUSES_FAILURE,
15
- url,
16
- });
@@ -1,3 +0,0 @@
1
- export const SYSTEM_STATUSES_REQUEST = 'SYSTEM_STATUSES_REQUEST';
2
- export const SYSTEM_STATUSES_SUCCESS = 'SYSTEM_STATUSES_SUCCESS';
3
- export const SYSTEM_STATUSES_FAILURE = 'SYSTEM_STATUSES_FAILURE';
@@ -1,26 +0,0 @@
1
- import Immutable from 'seamless-immutable';
2
- import {
3
- SYSTEM_STATUSES_FAILURE,
4
- SYSTEM_STATUSES_SUCCESS,
5
- SYSTEM_STATUSES_REQUEST,
6
- } from './SystemStatusesConsts';
7
-
8
- const initialState = Immutable({
9
- services: {},
10
- loaderStatus: '',
11
- });
12
-
13
- export default (state = initialState, action) => {
14
- switch (action.type) {
15
- case SYSTEM_STATUSES_REQUEST:
16
- return state.set('loaderStatus', 'PENDING');
17
- case SYSTEM_STATUSES_SUCCESS:
18
- return state
19
- .set('services', action.payload.services)
20
- .set('loaderStatus', 'RESOLVED');
21
- case SYSTEM_STATUSES_FAILURE:
22
- return state.set('loaderStatus', 'ERROR');
23
- default:
24
- return state;
25
- }
26
- };
@@ -1,3 +0,0 @@
1
- export const selectAllServices = state => state.systemServices.services || {};
2
-
3
- export const selectStatus = state => state.systemServices.loaderStatus;
@@ -1,20 +0,0 @@
1
-
2
- export const services = {
3
- candlepin: { status: 'ok', message: 'a message' },
4
- candlepin_auth: { status: 'error', message: 'error message' },
5
- foreman_tasks: { status: 'ok' },
6
- pulp: { status: 'ok' },
7
- pulp_auth: { status: 'ok' },
8
- };
9
-
10
- export const withServices = {
11
- status: 'RESOLVED',
12
- services,
13
- getSystemStatuses: jest.fn(),
14
- };
15
-
16
- export const pending = {
17
- status: 'PENDING',
18
- services: {},
19
- getSystemStatuses: jest.fn(),
20
- };
@@ -1,14 +0,0 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
2
-
3
- import SystemStatuses from '../SystemStatuses';
4
- import { withServices, pending } from './SystemStatuses.fixtures';
5
-
6
- jest.unmock('../../../../components/LoadingState');
7
-
8
- const fixtures = {
9
- 'renders a table': withServices,
10
- 'renders a loader': pending,
11
- };
12
-
13
- describe('SystemStatuses', () =>
14
- testComponentSnapshotsWithFixtures(SystemStatuses, fixtures));
@@ -1,32 +0,0 @@
1
- import { testReducerSnapshotWithFixtures } from 'react-redux-test-utils';
2
- import {
3
- SYSTEM_STATUSES_FAILURE,
4
- SYSTEM_STATUSES_SUCCESS,
5
- SYSTEM_STATUSES_REQUEST,
6
- } from '../SystemStatusesConsts';
7
- import reducer from '../SystemStatusesReducer';
8
- import { services } from './SystemStatuses.fixtures';
9
-
10
- const fixtures = {
11
- 'should return the initial state': {},
12
- 'should return PENDING': {
13
- action: {
14
- type: SYSTEM_STATUSES_REQUEST,
15
- },
16
- },
17
- 'should handle success': {
18
- action: {
19
- type: SYSTEM_STATUSES_SUCCESS,
20
- payload: { services },
21
- },
22
- },
23
- 'should handle SYSTEM_STATUSES_FAILURE': {
24
- action: {
25
- type: SYSTEM_STATUSES_FAILURE,
26
- },
27
- },
28
- };
29
-
30
- describe('AutoComplete reducer', () =>
31
- testReducerSnapshotWithFixtures(reducer, fixtures));
32
-