katello 4.16.1 → 4.17.0.rc1

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 (557) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +5 -3
  3. data/app/assets/javascripts/katello/locale/bn/katello.js +82 -31
  4. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +82 -31
  5. data/app/assets/javascripts/katello/locale/ca/katello.js +82 -31
  6. data/app/assets/javascripts/katello/locale/cs/katello.js +82 -31
  7. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +83 -32
  8. data/app/assets/javascripts/katello/locale/de/katello.js +82 -31
  9. data/app/assets/javascripts/katello/locale/de_AT/katello.js +82 -31
  10. data/app/assets/javascripts/katello/locale/de_DE/katello.js +82 -31
  11. data/app/assets/javascripts/katello/locale/el/katello.js +82 -31
  12. data/app/assets/javascripts/katello/locale/en/katello.js +82 -31
  13. data/app/assets/javascripts/katello/locale/en_GB/katello.js +84 -33
  14. data/app/assets/javascripts/katello/locale/en_US/katello.js +82 -31
  15. data/app/assets/javascripts/katello/locale/es/katello.js +82 -31
  16. data/app/assets/javascripts/katello/locale/et_EE/katello.js +82 -31
  17. data/app/assets/javascripts/katello/locale/fr/katello.js +83 -32
  18. data/app/assets/javascripts/katello/locale/gl/katello.js +82 -31
  19. data/app/assets/javascripts/katello/locale/gu/katello.js +83 -32
  20. data/app/assets/javascripts/katello/locale/he_IL/katello.js +82 -31
  21. data/app/assets/javascripts/katello/locale/hi/katello.js +82 -31
  22. data/app/assets/javascripts/katello/locale/id/katello.js +82 -31
  23. data/app/assets/javascripts/katello/locale/it/katello.js +84 -33
  24. data/app/assets/javascripts/katello/locale/ja/katello.js +83 -32
  25. data/app/assets/javascripts/katello/locale/ka/katello.js +82 -31
  26. data/app/assets/javascripts/katello/locale/kn/katello.js +82 -31
  27. data/app/assets/javascripts/katello/locale/ko/katello.js +82 -31
  28. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +82 -31
  29. data/app/assets/javascripts/katello/locale/mr/katello.js +82 -31
  30. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +82 -31
  31. data/app/assets/javascripts/katello/locale/or/katello.js +82 -31
  32. data/app/assets/javascripts/katello/locale/pa/katello.js +82 -31
  33. data/app/assets/javascripts/katello/locale/pl/katello.js +83 -32
  34. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +82 -31
  35. data/app/assets/javascripts/katello/locale/pt/katello.js +82 -31
  36. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +82 -31
  37. data/app/assets/javascripts/katello/locale/ro/katello.js +82 -31
  38. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +82 -31
  39. data/app/assets/javascripts/katello/locale/ru/katello.js +84 -33
  40. data/app/assets/javascripts/katello/locale/sl/katello.js +82 -31
  41. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +83 -32
  42. data/app/assets/javascripts/katello/locale/ta/katello.js +82 -31
  43. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +82 -31
  44. data/app/assets/javascripts/katello/locale/te/katello.js +82 -31
  45. data/app/assets/javascripts/katello/locale/tr/katello.js +82 -31
  46. data/app/assets/javascripts/katello/locale/vi/katello.js +82 -31
  47. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +82 -31
  48. data/app/assets/javascripts/katello/locale/zh/katello.js +82 -31
  49. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +83 -32
  50. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +84 -33
  51. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +19 -3
  52. data/app/controllers/katello/api/v2/content_view_components_controller.rb +6 -6
  53. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +3 -0
  54. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +6 -0
  55. data/app/controllers/katello/api/v2/content_views_controller.rb +12 -1
  56. data/app/controllers/katello/api/v2/exports_controller.rb +3 -0
  57. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +12 -14
  58. data/app/controllers/katello/api/v2/organizations_controller.rb +10 -10
  59. data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +8 -2
  60. data/app/lib/actions/helpers/rolling_cv_repos.rb +25 -0
  61. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +6 -1
  62. data/app/lib/actions/katello/content_view/add_rolling_repo_clone.rb +39 -0
  63. data/app/lib/actions/katello/content_view/create.rb +3 -0
  64. data/app/lib/actions/katello/content_view/refresh_rolling_repo.rb +40 -0
  65. data/app/lib/actions/katello/content_view/remove.rb +8 -4
  66. data/app/lib/actions/katello/content_view/remove_rolling_repo_clone.rb +28 -0
  67. data/app/lib/actions/katello/content_view/update.rb +8 -0
  68. data/app/lib/actions/katello/repository/check_matching_content.rb +1 -8
  69. data/app/lib/actions/katello/repository/import_upload.rb +5 -0
  70. data/app/lib/actions/katello/repository/sync.rb +8 -4
  71. data/app/lib/actions/katello/repository/upload_files.rb +7 -1
  72. data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +3 -2
  73. data/app/lib/actions/pulp3/orphan_cleanup/delete_orphan_repository_versions.rb +8 -1
  74. data/app/lib/katello/errors.rb +8 -0
  75. data/app/lib/katello/validators/container_image_name_validator.rb +3 -2
  76. data/app/models/katello/authorization/repository.rb +11 -1
  77. data/app/models/katello/concerns/host_managed_extensions.rb +2 -2
  78. data/app/models/katello/concerns/pulp_database_unit.rb +12 -42
  79. data/app/models/katello/concerns/smart_proxy_extensions.rb +8 -0
  80. data/app/models/katello/content_view.rb +14 -1
  81. data/app/models/katello/content_view_component.rb +4 -0
  82. data/app/models/katello/content_view_environment.rb +1 -0
  83. data/app/models/katello/content_view_version.rb +3 -2
  84. data/app/models/katello/host/content_facet.rb +18 -5
  85. data/app/models/katello/product_content.rb +3 -1
  86. data/app/models/katello/repository.rb +3 -3
  87. data/app/services/katello/content_unit_indexer.rb +1 -1
  88. data/app/services/katello/pulp3/api/content_guard.rb +1 -1
  89. data/app/services/katello/pulp3/api/core.rb +6 -0
  90. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +58 -1
  91. data/app/services/katello/pulp3/smart_proxy_repository.rb +67 -3
  92. data/app/services/katello/smart_proxy_helper.rb +6 -1
  93. data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +15 -1
  94. data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +15 -1
  95. data/app/views/foreman/job_templates/install_group_-_katello_ansible_default.erb +15 -2
  96. data/app/views/foreman/job_templates/install_packages_by_search_query_-_katello_ansible_default.erb +21 -2
  97. data/app/views/foreman/job_templates/remove_group_-_katello_ansible_default.erb +15 -1
  98. data/app/views/foreman/job_templates/remove_packages_by_search_query_-_katello_ansible_default.erb +20 -1
  99. data/app/views/foreman/job_templates/update_group_-_katello_ansible_default.erb +15 -2
  100. data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +17 -1
  101. data/app/views/katello/api/v2/activation_keys/base.json.rabl +1 -0
  102. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +2 -1
  103. data/app/views/katello/api/v2/content_facet/base.json.rabl +2 -0
  104. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +12 -0
  105. data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
  106. data/app/views/katello/api/v2/environments/show.json.rabl +14 -0
  107. data/app/views/katello/api/v2/hosts/base.json.rabl +1 -0
  108. data/app/views/katello/api/v2/organizations/show.json.rabl +2 -0
  109. data/app/views/katello/api/v2/repositories/base.json.rabl +2 -1
  110. data/db/migrate/20190930192813_add_pulp3_hrefs_to_content_types.rb +1 -1
  111. data/db/migrate/20241022122325_add_rolling_to_katello_content_views.rb +5 -0
  112. data/db/migrate/20241025151105_remove_pulp3_migrated_hrefs_from_content_tables.rb +1 -1
  113. data/db/migrate/20250215143303_drop_katello_yum_metadata_file.rb +5 -0
  114. data/db/migrate/20250409120843_fix_file_download_policy.rb +11 -0
  115. data/db/migrate/20250410155300_change_ansible_templates_category.rb +22 -0
  116. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +4 -0
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +90 -31
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +90 -31
  119. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +90 -31
  120. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +90 -31
  121. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +93 -60
  122. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +90 -31
  123. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +90 -31
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +90 -31
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +94 -35
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +90 -31
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +93 -40
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +90 -31
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +254 -192
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +90 -31
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +90 -31
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +90 -31
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +90 -31
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +90 -31
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +90 -35
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +113 -52
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +93 -34
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +90 -31
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +101 -40
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +90 -31
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +90 -31
  142. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +90 -31
  143. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +90 -31
  144. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +90 -31
  145. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +90 -31
  146. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +90 -31
  147. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +90 -31
  148. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +93 -40
  149. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +90 -31
  150. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +90 -31
  151. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +91 -34
  152. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +90 -31
  153. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +90 -31
  154. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +90 -31
  155. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +90 -31
  156. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +90 -31
  157. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +90 -31
  158. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +90 -31
  159. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +90 -31
  160. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +90 -31
  161. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +99 -40
  162. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +92 -33
  163. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +14 -14
  164. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository-types.service.js +3 -0
  165. data/lib/katello/engine.rb +9 -1
  166. data/lib/katello/repository_types/python.rb +1 -1
  167. data/lib/katello/tasks/repository.rake +1 -1
  168. data/lib/katello/version.rb +1 -1
  169. data/locale/action_names.rb +186 -0
  170. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  171. data/locale/bn/katello.po +82 -31
  172. data/locale/bn/katello.po.time_stamp +0 -0
  173. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  174. data/locale/bn_IN/katello.po +82 -31
  175. data/locale/bn_IN/katello.po.time_stamp +0 -0
  176. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  177. data/locale/ca/katello.po +82 -31
  178. data/locale/ca/katello.po.time_stamp +0 -0
  179. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  180. data/locale/cs/katello.po +82 -31
  181. data/locale/cs/katello.po.time_stamp +0 -0
  182. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  183. data/locale/cs_CZ/katello.po +83 -32
  184. data/locale/cs_CZ/katello.po.time_stamp +0 -0
  185. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  186. data/locale/de/katello.po +82 -31
  187. data/locale/de/katello.po.time_stamp +0 -0
  188. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  189. data/locale/de_AT/katello.po +82 -31
  190. data/locale/de_AT/katello.po.time_stamp +0 -0
  191. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  192. data/locale/de_DE/katello.po +82 -31
  193. data/locale/de_DE/katello.po.time_stamp +0 -0
  194. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  195. data/locale/el/katello.po +82 -31
  196. data/locale/el/katello.po.time_stamp +0 -0
  197. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  198. data/locale/en/katello.po +82 -31
  199. data/locale/en/katello.po.time_stamp +0 -0
  200. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  201. data/locale/en_GB/katello.po +84 -33
  202. data/locale/en_GB/katello.po.time_stamp +0 -0
  203. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  204. data/locale/en_US/katello.po +82 -31
  205. data/locale/en_US/katello.po.time_stamp +0 -0
  206. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  207. data/locale/es/katello.po +82 -31
  208. data/locale/es/katello.po.time_stamp +0 -0
  209. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  210. data/locale/et_EE/katello.po +82 -31
  211. data/locale/et_EE/katello.po.time_stamp +0 -0
  212. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  213. data/locale/fr/katello.po +83 -32
  214. data/locale/fr/katello.po.time_stamp +0 -0
  215. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  216. data/locale/gl/katello.po +82 -31
  217. data/locale/gl/katello.po.time_stamp +0 -0
  218. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  219. data/locale/gu/katello.po +84 -33
  220. data/locale/gu/katello.po.time_stamp +0 -0
  221. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  222. data/locale/he_IL/katello.po +82 -31
  223. data/locale/he_IL/katello.po.time_stamp +0 -0
  224. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  225. data/locale/hi/katello.po +82 -31
  226. data/locale/hi/katello.po.time_stamp +0 -0
  227. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  228. data/locale/id/katello.po +82 -31
  229. data/locale/id/katello.po.time_stamp +0 -0
  230. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  231. data/locale/it/katello.po +85 -34
  232. data/locale/it/katello.po.time_stamp +0 -0
  233. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  234. data/locale/ja/katello.po +83 -32
  235. data/locale/ja/katello.po.time_stamp +0 -0
  236. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  237. data/locale/ka/katello.po +82 -31
  238. data/locale/ka/katello.po.time_stamp +0 -0
  239. data/locale/katello.pot +1232 -1140
  240. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  241. data/locale/kn/katello.po +82 -31
  242. data/locale/kn/katello.po.time_stamp +0 -0
  243. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  244. data/locale/ko/katello.po +82 -31
  245. data/locale/ko/katello.po.time_stamp +0 -0
  246. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  247. data/locale/ml_IN/katello.po +82 -31
  248. data/locale/ml_IN/katello.po.time_stamp +0 -0
  249. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  250. data/locale/mr/katello.po +82 -31
  251. data/locale/mr/katello.po.time_stamp +0 -0
  252. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  253. data/locale/nl_NL/katello.po +82 -31
  254. data/locale/nl_NL/katello.po.time_stamp +0 -0
  255. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  256. data/locale/or/katello.po +82 -31
  257. data/locale/or/katello.po.time_stamp +0 -0
  258. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  259. data/locale/pa/katello.po +82 -31
  260. data/locale/pa/katello.po.time_stamp +0 -0
  261. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  262. data/locale/pl/katello.po +84 -33
  263. data/locale/pl/katello.po.time_stamp +0 -0
  264. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  265. data/locale/pl_PL/katello.po +82 -31
  266. data/locale/pl_PL/katello.po.time_stamp +0 -0
  267. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  268. data/locale/pt/katello.po +82 -31
  269. data/locale/pt/katello.po.time_stamp +0 -0
  270. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  271. data/locale/pt_BR/katello.po +82 -31
  272. data/locale/pt_BR/katello.po.time_stamp +0 -0
  273. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  274. data/locale/ro/katello.po +82 -31
  275. data/locale/ro/katello.po.time_stamp +0 -0
  276. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  277. data/locale/ro_RO/katello.po +82 -31
  278. data/locale/ro_RO/katello.po.time_stamp +0 -0
  279. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  280. data/locale/ru/katello.po +85 -34
  281. data/locale/ru/katello.po.time_stamp +0 -0
  282. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  283. data/locale/sl/katello.po +82 -31
  284. data/locale/sl/katello.po.time_stamp +0 -0
  285. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  286. data/locale/sv_SE/katello.po +84 -33
  287. data/locale/sv_SE/katello.po.time_stamp +0 -0
  288. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  289. data/locale/ta/katello.po +82 -31
  290. data/locale/ta/katello.po.time_stamp +0 -0
  291. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  292. data/locale/ta_IN/katello.po +82 -31
  293. data/locale/ta_IN/katello.po.time_stamp +0 -0
  294. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  295. data/locale/te/katello.po +82 -31
  296. data/locale/te/katello.po.time_stamp +0 -0
  297. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  298. data/locale/tr/katello.po +82 -31
  299. data/locale/tr/katello.po.time_stamp +0 -0
  300. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  301. data/locale/vi/katello.po +82 -31
  302. data/locale/vi/katello.po.time_stamp +0 -0
  303. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  304. data/locale/vi_VN/katello.po +82 -31
  305. data/locale/vi_VN/katello.po.time_stamp +0 -0
  306. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  307. data/locale/zh/katello.po +82 -31
  308. data/locale/zh/katello.po.time_stamp +0 -0
  309. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  310. data/locale/zh_CN/katello.po +83 -32
  311. data/locale/zh_CN/katello.po.time_stamp +0 -0
  312. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  313. data/locale/zh_TW/katello.po +85 -34
  314. data/locale/zh_TW/katello.po.time_stamp +0 -0
  315. data/webpack/ForemanColumnExtensions/index.js +12 -4
  316. data/webpack/components/ActivationKeysSearch/index.js +6 -7
  317. data/webpack/components/Bookmark/AddBookmarkModal.js +3 -3
  318. data/webpack/components/Bookmark/Bookmark.scss +3 -3
  319. data/webpack/components/Bookmark/index.js +7 -2
  320. data/webpack/components/EditableSwitch.js +1 -1
  321. data/webpack/components/EditableTextInput/EditableTextInput.js +1 -1
  322. data/webpack/components/EditableTextInput/editableTextInput.scss +1 -1
  323. data/webpack/components/Errata/index.js +1 -24
  324. data/webpack/components/Loading.js +10 -6
  325. data/webpack/components/Packages/index.js +2 -1
  326. data/webpack/components/SelectAllCheckbox/index.js +7 -3
  327. data/webpack/components/SelectableDropdown/SelectableDropdown.js +21 -3
  328. data/webpack/components/Table/EmptyStateMessage.js +12 -14
  329. data/webpack/components/Table/MainTable.js +8 -7
  330. data/webpack/components/Table/MainTable.scss +4 -4
  331. data/webpack/components/extensions/HostDetails/ActionsBar/index.js +4 -1
  332. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +1 -1
  333. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +9 -6
  334. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/changeHostCVModal.test.js +2 -1
  335. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/contentViews.fixtures.json +4 -1
  336. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +23 -6
  337. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +1 -1
  338. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +5 -3
  339. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.scss +3 -3
  340. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
  341. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +25 -10
  342. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +5 -2
  343. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.scss +2 -2
  344. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +5 -4
  345. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +6 -3
  346. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +19 -12
  347. data/webpack/components/extensions/HostDetails/Cards/__tests__/errataOverviewCard.test.js +1 -1
  348. data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +1 -4
  349. data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +1 -4
  350. data/webpack/components/extensions/HostDetails/DetailsTabCards/InstalledProductsCard.js +1 -4
  351. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/HwPropertiesCard.test.js +63 -0
  352. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/ImageModeCard.test.js +73 -0
  353. data/webpack/components/extensions/HostDetails/DetailsTabCards/__test__/InstalledProductsCard.test.js +45 -0
  354. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +12 -2
  355. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.scss +1 -1
  356. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.js +10 -13
  357. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebsTab.scss +1 -1
  358. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +46 -21
  359. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.scss +1 -1
  360. data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +15 -7
  361. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +13 -3
  362. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.scss +1 -1
  363. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +34 -20
  364. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.scss +1 -1
  365. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +8 -6
  366. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.js +5 -3
  367. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.scss +1 -1
  368. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +12 -13
  369. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +16 -6
  370. data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsInstallModal.test.js +10 -5
  371. data/webpack/components/extensions/HostDetails/Tabs/__tests__/debsTab.test.js +48 -22
  372. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +123 -47
  373. data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +14 -7
  374. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +10 -5
  375. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +41 -24
  376. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +50 -25
  377. data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +50 -25
  378. data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +3 -0
  379. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_Review.js +16 -2
  380. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/04_ReviewFooter.js +6 -2
  381. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/BulkErrataWizard.js +5 -1
  382. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_Review.js +16 -2
  383. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/04_ReviewFooter.js +6 -2
  384. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +15 -2
  385. data/webpack/components/extensions/Hosts/BulkActions/HostReview.js +1 -1
  386. data/webpack/components/extensions/Hosts/BulkActions/__tests__/bulkChangeHostCVModal.test.js +2 -1
  387. data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +1 -1
  388. data/webpack/components/extensions/Hosts/ImageModeHostAlert.js +14 -0
  389. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +14 -17
  390. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +1 -1
  391. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +1 -1
  392. data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +38 -49
  393. data/webpack/containers/Application/overrides.scss +7 -7
  394. data/webpack/ouia_id_check.js +15 -11
  395. data/webpack/redux/actions/RedHatRepositories/helpers.js +0 -2
  396. data/webpack/scenes/ActivationKeys/Details/__tests__/activationKeyDetails.test.js +12 -6
  397. data/webpack/scenes/ActivationKeys/Details/components/DeleteMenu.js +12 -2
  398. data/webpack/scenes/ActivationKeys/Details/components/EditModal.js +3 -3
  399. data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +3 -1
  400. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +3 -1
  401. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +12 -6
  402. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +1 -1
  403. data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +22 -7
  404. data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +2 -2
  405. data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +1 -1
  406. data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +6 -3
  407. data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +25 -15
  408. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +9 -6
  409. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +2 -2
  410. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +1 -1
  411. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +33 -7
  412. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +10 -5
  413. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSExpandableDetails.test.js +4 -2
  414. data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +10 -8
  415. data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +4 -2
  416. data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +5 -5
  417. data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +8 -4
  418. data/webpack/scenes/Content/__tests__/contentTable.test.js +4 -2
  419. data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +1 -1
  420. data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +1 -0
  421. data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +2 -1
  422. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +86 -31
  423. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +10 -2
  424. data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -0
  425. data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +10 -4
  426. data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +3 -1
  427. data/webpack/scenes/ContentViews/Delete/Steps/CVDeleteEnvironmentsSelection.js +6 -6
  428. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignActivationKeysForm.js +7 -2
  429. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostsForm.js +7 -2
  430. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +3 -3
  431. data/webpack/scenes/ContentViews/Delete/Steps/CVEnvironmentSelectionForm.scss +1 -1
  432. data/webpack/scenes/ContentViews/Delete/__tests__/CvData.fixtures.json +2 -1
  433. data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +3 -2
  434. data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +10 -8
  435. data/webpack/scenes/ContentViews/Delete/__tests__/cvDetails.fixtures.json +2 -1
  436. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +16 -5
  437. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +19 -5
  438. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +1 -1
  439. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +11 -2
  440. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/compositeCVDetails.fixtures.json +2 -1
  441. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +69 -27
  442. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/publishedContentViewDetails.fixtures.json +2 -1
  443. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +22 -29
  444. data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +6 -2
  445. data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +20 -7
  446. data/webpack/scenes/ContentViews/Details/Filters/Add/__tests__/cvFilterAdd.test.js +4 -2
  447. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositorySelection.js +5 -2
  448. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +3 -1
  449. data/webpack/scenes/ContentViews/Details/Filters/ArtifactsWithNoErrata.js +1 -1
  450. data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +4 -2
  451. data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +13 -1
  452. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +23 -7
  453. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +23 -5
  454. data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +15 -3
  455. data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +15 -3
  456. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +13 -1
  457. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +6 -4
  458. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +11 -1
  459. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +4 -2
  460. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/matchContentModal.scss +1 -1
  461. data/webpack/scenes/ContentViews/Details/Filters/Rules/DebPackage/AddEditDebPackageRuleModal.js +2 -2
  462. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +4 -4
  463. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +18 -12
  464. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +7 -11
  465. data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +81 -70
  466. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewErrataByDateDetails.fixtures.json +1 -0
  467. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +4 -2
  468. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +52 -38
  469. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +9 -4
  470. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +18 -12
  471. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErratumFilterDetails.fixtures.json +1 -0
  472. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailModuleAffectedRepos.fixtures.json +1 -0
  473. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterDetailWithAffectedRepos.fixtures.json +1 -0
  474. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvFilterFixutre.fixture.json +2 -1
  475. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +77 -67
  476. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilterDetails.fixtures.json +1 -0
  477. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +1 -0
  478. data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +2 -2
  479. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +4 -2
  480. data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +1 -1
  481. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +7 -5
  482. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +6 -3
  483. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +1 -0
  484. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/ActionSummary.js +3 -2
  485. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteModal.js +3 -1
  486. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +2 -2
  487. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +3 -1
  488. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +3 -1
  489. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReviewEnvironments.js +4 -4
  490. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompare.scss +11 -11
  491. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareHeader.js +15 -5
  492. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +1 -1
  493. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +13 -3
  494. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +3 -1
  495. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +17 -13
  496. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +12 -7
  497. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +64 -7
  498. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +52 -21
  499. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +30 -16
  500. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.scss +7 -7
  501. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +5 -3
  502. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +4 -2
  503. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +6 -3
  504. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +2 -1
  505. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +6 -6
  506. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +35 -4
  507. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +1 -0
  508. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetail.test.js +197 -0
  509. data/webpack/scenes/ContentViews/Details/__tests__/contentViewRollingDetails.fixtures.json +82 -0
  510. data/webpack/scenes/ContentViews/Publish/CVPublishFinish.js +3 -7
  511. data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +2 -2
  512. data/webpack/scenes/ContentViews/Publish/CVPublishReview.js +6 -5
  513. data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +3 -1
  514. data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +15 -7
  515. data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +4 -4
  516. data/webpack/scenes/ContentViews/Table/ContentViewVersionCell.js +6 -4
  517. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +14 -3
  518. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +3 -0
  519. data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +1 -0
  520. data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +89 -2
  521. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +85 -14
  522. data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +2 -1
  523. data/webpack/scenes/ContentViews/components/ContentViewIcon.js +20 -6
  524. data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelect.js +4 -1
  525. data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +11 -2
  526. data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +27 -7
  527. data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +2 -2
  528. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +6 -2
  529. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +4 -1
  530. data/webpack/scenes/ContentViews/components/FiltersAppliedIcon.js +4 -2
  531. data/webpack/scenes/ContentViews/components/NeedsPublishIcon.js +7 -6
  532. data/webpack/scenes/ContentViews/components/NeedsPublishIcon.scss +2 -2
  533. data/webpack/scenes/ContentViews/components/contentViewIcon.scss +16 -3
  534. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +6 -1
  535. data/webpack/scenes/ContentViews/expansions/RelatedCompositeContentViewsModal.js +3 -3
  536. data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +2 -1
  537. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +5 -3
  538. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +3 -2
  539. data/webpack/scenes/Hosts/ChangeContentSource/components/FormField.js +1 -1
  540. data/webpack/scenes/Hosts/ChangeContentSource/components/HostsModal.js +1 -1
  541. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +1 -1
  542. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/__snapshots__/EnabledRepositoryContent.test.js.snap +1 -1
  543. data/webpack/scenes/RedHatRepositories/index.scss +1 -1
  544. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +27 -7
  545. data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +51 -2
  546. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +2 -2
  547. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +14 -9
  548. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationForm.scss +1 -1
  549. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +2 -2
  550. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/NetworkSyncForm.js +6 -6
  551. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CdnTypeForm.test.js +2 -1
  552. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/CustomCdnTypeForm.test.js +2 -1
  553. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/ExportSyncForm.test.js +2 -1
  554. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/NetworkSyncForm.test.js +2 -1
  555. metadata +125 -53
  556. data/app/models/katello/yum_metadata_file.rb +0 -22
  557. data/app/services/katello/pulp3/yum_metadata_file.rb +0 -20
@@ -6,6 +6,9 @@ import {
6
6
  FormGroup,
7
7
  TextInput,
8
8
  TextArea,
9
+ FormHelperText,
10
+ HelperText,
11
+ HelperTextItem,
9
12
  } from '@patternfly/react-core';
10
13
  import ACSCreateContext from '../ACSCreateContext';
11
14
  import WizardHeader from '../../../ContentViews/components/WizardHeader';
@@ -41,8 +44,6 @@ const AcsUrlPaths = () => {
41
44
  <FormGroup
42
45
  label={__('Base URL')}
43
46
  fieldId="acs_base_url"
44
- helperTextInvalid={helperTextInvalid}
45
- validated={urlValidated}
46
47
  isRequired
47
48
  >
48
49
  <TextInput
@@ -55,8 +56,17 @@ const AcsUrlPaths = () => {
55
56
  placeholder={baseURLplaceholder}
56
57
  value={url}
57
58
  validated={urlValidated}
58
- onChange={value => setUrl(value)}
59
+ onChange={(_event, value) => setUrl(value)}
59
60
  />
61
+ {urlValidated === 'error' && (
62
+ <FormHelperText>
63
+ <HelperText>
64
+ <HelperTextItem variant="error">
65
+ {helperTextInvalid}
66
+ </HelperTextItem>
67
+ </HelperText>
68
+ </FormHelperText>
69
+ )}
60
70
  </FormGroup>
61
71
  {acsType === 'rhui' &&
62
72
  <>
@@ -73,19 +83,24 @@ const AcsUrlPaths = () => {
73
83
  <FormGroup
74
84
  label={__('Subpaths')}
75
85
  type="string"
76
- fieldId="acs_subpaths"
77
- helperTextInvalid={__('Comma-separated list of subpaths. All subpaths must have a slash at the end and none at the front.')}
78
- validated={subPathValidated}
79
86
  >
80
87
  <TextArea
81
88
  placeholder="test/repo1/, test/repo2/,"
82
89
  value={subpaths}
83
90
  validated={subPathValidated}
84
- onChange={value => setSubpaths(value)}
91
+ onChange={(_event, value) => setSubpaths(value)}
85
92
  name="acs_subpath_field"
86
93
  id="acs_subpath_field"
87
94
  aria-label="acs_subpath_field"
88
95
  />
96
+ {subPathValidated === 'error' && (
97
+ <FormHelperText>
98
+ <HelperText>
99
+ <HelperTextItem variant="error">
100
+ {__('Comma-separated list of subpaths. All subpaths must have a slash at the end and none at the front.')}
101
+ </HelperTextItem>
102
+ </HelperText>
103
+ </FormHelperText>)}
89
104
  </FormGroup>
90
105
  </Form>
91
106
  </>
@@ -35,7 +35,7 @@ const NameACS = () => {
35
35
  name="acs_name_field"
36
36
  aria-label="acs_name_field"
37
37
  value={name}
38
- onChange={(value) => { setName(value); }}
38
+ onChange={(_event, value) => { setName(value); }}
39
39
  />
40
40
  </FormGroup>
41
41
  <FormGroup
@@ -45,7 +45,7 @@ const NameACS = () => {
45
45
  >
46
46
  <TextArea
47
47
  value={description}
48
- onChange={(value) => { setDescription(value); }}
48
+ onChange={(_event, value) => { setDescription(value); }}
49
49
  name="acs_description_field"
50
50
  id="acs_description_field"
51
51
  />
@@ -111,7 +111,7 @@ const SelectSource = () => {
111
111
  isRequired
112
112
  isDisabled={acsType === 'rhui'}
113
113
  value={contentType}
114
- onChange={(value) => {
114
+ onChange={(_event, value) => {
115
115
  setContentType(value);
116
116
  }}
117
117
  aria-label="FormSelect Input"
@@ -215,7 +215,8 @@ test('Can display create wizard and create custom ACS', async (done) => {
215
215
  assertNockRequest(contentCredentialScope);
216
216
  assertNockRequest(productScope);
217
217
  assertNockRequest(smartProxyScope);
218
- assertNockRequest(createScope, done);
218
+ assertNockRequest(createScope);
219
+ done();
219
220
  act(done);
220
221
  });
221
222
 
@@ -307,7 +308,8 @@ test('Can display create wizard and create RHUI ACS', async (done) => {
307
308
  assertNockRequest(contentCredentialScope);
308
309
  assertNockRequest(productScope);
309
310
  assertNockRequest(smartProxyScope);
310
- assertNockRequest(createScope, done);
311
+ assertNockRequest(createScope);
312
+ done();
311
313
  act(done);
312
314
  });
313
315
 
@@ -387,6 +389,7 @@ test('Can display create wizard and create simplified ACS', async (done) => {
387
389
  assertNockRequest(productScope);
388
390
  assertNockRequest(contentCredentialScope);
389
391
  assertNockRequest(smartProxyScope);
390
- assertNockRequest(createScope, done);
392
+ assertNockRequest(createScope);
393
+ done();
391
394
  act(done);
392
395
  });
@@ -103,7 +103,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
103
103
  setShowUrlPaths(false);
104
104
  setShowCredentials(false);
105
105
  }}
106
- contentId="showDetails"
106
+ contentId="showDetails-content"
107
+ toggleId="showDetails-toggle"
107
108
  >
108
109
  <Text ouiaId="expandable-details-text">{__('Details')}</Text>
109
110
  </ExpandableSectionToggle>
@@ -114,7 +115,7 @@ const ACSExpandableDetails = ({ expandedId }) => {
114
115
  ouiaId="edit-details-pencil-edit"
115
116
  aria-label="edit-details-pencil-edit"
116
117
  variant="link"
117
- isSmall
118
+ size="sm"
118
119
  icon={<PencilAltIcon />}
119
120
  onClick={() => setEditDetailsModalOpen(true)}
120
121
  >{__('Edit')}
@@ -127,7 +128,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
127
128
  <ExpandableSection
128
129
  isExpanded={showDetails}
129
130
  isDetached
130
- contentId="showDetails"
131
+ contentId="showDetails-content"
132
+ toggleId="showDetails-toggle"
131
133
  >
132
134
  <TextContent className="margin-0-24 expandable-section-text">
133
135
  <TextList component={TextListVariants.dl}>
@@ -183,7 +185,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
183
185
  setShowCredentials(false);
184
186
  setShowProducts(false);
185
187
  }}
186
- contentId="showSmartProxies"
188
+ contentId="showSmartProxies-content"
189
+ toggleId="showSmartProxies-toggle"
187
190
  >
188
191
  <Text ouiaId="expandable-smart-proxies-text">{__('Smart proxies')}</Text>
189
192
  </ExpandableSectionToggle>
@@ -194,7 +197,7 @@ const ACSExpandableDetails = ({ expandedId }) => {
194
197
  ouiaId="edit-smart-proxies-pencil-edit"
195
198
  aria-label="edit-smart-proxies-pencil-edit"
196
199
  variant="link"
197
- isSmall
200
+ size="sm"
198
201
  icon={<PencilAltIcon />}
199
202
  onClick={() => setEditSmartProxiesModalOpen(true)}
200
203
  >{__('Edit')}
@@ -206,7 +209,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
206
209
  <StackItem className="primary-detail-stack-items-border">
207
210
  <ExpandableSection
208
211
  isDetached
209
- contentId="showSmartProxies"
212
+ contentId="showSmartProxies-content"
213
+ toggleId="showSmartProxies-toggle"
210
214
  isExpanded={showSmartProxies}
211
215
  >
212
216
  <List className="margin-0-24 expandable-section-text" isPlain isBordered>
@@ -254,7 +258,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
254
258
  setShowCredentials(false);
255
259
  }}
256
260
  isExpanded={showProducts}
257
- contentId="showProducts"
261
+ contentId="showProducts-content"
262
+ toggleId="showProducts-toggle"
258
263
  >
259
264
  <Text ouiaId="expandable-products-text">{__('Products')}</Text>
260
265
  </ExpandableSectionToggle>
@@ -265,7 +270,7 @@ const ACSExpandableDetails = ({ expandedId }) => {
265
270
  ouiaId="edit-products-pencil-edit"
266
271
  aria-label="edit-products-pencil-edit"
267
272
  variant="link"
268
- isSmall
273
+ size="sm"
269
274
  icon={<PencilAltIcon />}
270
275
  onClick={() => setEditProductsModalOpen(true)}
271
276
  >{__('Edit')}
@@ -277,7 +282,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
277
282
  <StackItem>
278
283
  <ExpandableSection
279
284
  isDetached
280
- contentId="showProducts"
285
+ contentId="showProducts-content"
286
+ toggleId="showProducts-toggle"
281
287
  isExpanded={showProducts}
282
288
  >
283
289
  <List className="margin-0-24 expandable-section-text" isPlain isBordered>
@@ -308,7 +314,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
308
314
  setShowCredentials(false);
309
315
  }}
310
316
  isExpanded={showUrlPaths}
311
- contentId="showUrlPaths"
317
+ contentId="showUrlPaths-content"
318
+ toggleId="showUrlPaths-toggle"
312
319
  >
313
320
  <Text ouiaId="expandable-url-paths-text">{__('URL and subpaths')}</Text>
314
321
  </ExpandableSectionToggle>
@@ -319,7 +326,7 @@ const ACSExpandableDetails = ({ expandedId }) => {
319
326
  ouiaId="edit-urls-pencil-edit"
320
327
  aria-label="edit-urls-pencil-edit"
321
328
  variant="link"
322
- isSmall
329
+ size="sm"
323
330
  icon={<PencilAltIcon />}
324
331
  onClick={() => setEditUrlModalOpen(true)}
325
332
  >{__('Edit')}
@@ -330,7 +337,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
330
337
  </StackItem>
331
338
  <StackItem className="primary-detail-stack-items-border">
332
339
  <ExpandableSection
333
- contentId="showUrlPaths"
340
+ contentId="showUrlPaths-content"
341
+ toggleId="showUrlPaths-toggle"
334
342
  isDetached
335
343
  isExpanded={showUrlPaths}
336
344
  >
@@ -369,7 +377,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
369
377
  setShowCredentials(expanded);
370
378
  }}
371
379
  isExpanded={showCredentials}
372
- contentId="showCredentials"
380
+ contentId="showCredentials-content"
381
+ toggleId="showCredentials-toggle"
373
382
  >
374
383
  <Text ouiaId="expandable-credentials-text">{__('Credentials')}</Text>
375
384
  </ExpandableSectionToggle>
@@ -380,7 +389,7 @@ const ACSExpandableDetails = ({ expandedId }) => {
380
389
  ouiaId="edit-credentials-pencil-edit"
381
390
  aria-label="edit-credentials-pencil-edit"
382
391
  variant="link"
383
- isSmall
392
+ size="sm"
384
393
  icon={<PencilAltIcon />}
385
394
  onClick={() => setEditCredentialsModalOpen(true)}
386
395
  >{__('Edit')}
@@ -392,7 +401,8 @@ const ACSExpandableDetails = ({ expandedId }) => {
392
401
  <StackItem className="primary-detail-stack-items-border">
393
402
  <ExpandableSection
394
403
  isExpanded={showCredentials}
395
- contentId="showCredentials"
404
+ contentId="showCredentials-content"
405
+ toggleId="showCredentials-toggle"
396
406
  isDetached
397
407
  >
398
408
  <TextContent className="margin-0-24 expandable-section-text">
@@ -135,7 +135,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
135
135
  id="verify-ssl-switch"
136
136
  aria-label="verify-ssl-switch"
137
137
  isChecked={acsVerifySSL}
138
- onChange={checked => setAcsVerifySSL(checked)}
138
+ onChange={(_event, checked) => setAcsVerifySSL(checked)}
139
139
  />
140
140
  </FormGroup>
141
141
  <FormGroup
@@ -148,7 +148,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
148
148
  isRequired
149
149
  isDisabled={!acsVerifySSL}
150
150
  value={acsCAcert}
151
- onChange={value => setAcsCAcert(value)}
151
+ onChange={(_event, value) => setAcsCAcert(value)}
152
152
  aria-label="sslCAcert_select"
153
153
  >
154
154
  {
@@ -180,6 +180,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
180
180
  setAcsSslClientCert('');
181
181
  setAcsSslClientKey('');
182
182
  }}
183
+ style={{ marginTop: '0rem' }}
183
184
  />
184
185
  {authentication === 'manual' &&
185
186
  <>
@@ -197,7 +198,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
197
198
  name="acs_username_field"
198
199
  aria-label="acs_username_field"
199
200
  value={acsUsername}
200
- onChange={(value) => {
201
+ onChange={(_event, value) => {
201
202
  setAcsUsername(value);
202
203
  }}
203
204
  />
@@ -216,7 +217,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
216
217
  name="acs_password_field"
217
218
  aria-label="acs_password_field"
218
219
  value={acsPassword}
219
- onChange={(value) => {
220
+ onChange={(_event, value) => {
220
221
  setAcsPassword(value);
221
222
  }}
222
223
  />
@@ -235,6 +236,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
235
236
  setAcsUsername('');
236
237
  setAcsPassword('');
237
238
  }}
239
+ style={{ marginTop: '0rem' }}
238
240
  />
239
241
  {authentication === 'credentials' &&
240
242
  <>
@@ -247,7 +249,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
247
249
  ouiaId="ssl-client-cert-select"
248
250
  isRequired
249
251
  value={acsSslClientCert}
250
- onChange={value => setAcsSslClientCert(value)}
252
+ onChange={(_event, value) => setAcsSslClientCert(value)}
251
253
  aria-label="ssl_client_cert_select"
252
254
  >
253
255
  {
@@ -276,7 +278,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
276
278
  ouiaId="ssl_client_key_select"
277
279
  isRequired
278
280
  value={acsSslClientKey}
279
- onChange={value => setAcsSslClientKey(value)}
281
+ onChange={(_event, value) => setAcsSslClientKey(value)}
280
282
  aria-label="ssl_client_key_select"
281
283
  >
282
284
  {
@@ -311,6 +313,7 @@ const ACSEditCredentials = ({ onClose, acsId, acsDetails }) => {
311
313
  setAcsUsername('');
312
314
  setAcsPassword('');
313
315
  }}
316
+ style={{ marginTop: '0rem' }}
314
317
  />
315
318
  <ActionGroup>
316
319
  <Button
@@ -50,7 +50,7 @@ const ACSEditDetails = ({ onClose, acsId, acsDetails }) => {
50
50
  name="acs_name_field"
51
51
  aria-label="acs_name_field"
52
52
  value={acsName}
53
- onChange={(value) => {
53
+ onChange={(_event, value) => {
54
54
  setACSName(value);
55
55
  }}
56
56
  />
@@ -62,7 +62,7 @@ const ACSEditDetails = ({ onClose, acsId, acsDetails }) => {
62
62
  >
63
63
  <TextArea
64
64
  value={acsDescription}
65
- onChange={(value) => {
65
+ onChange={(_event, value) => {
66
66
  setAcsDescription(value);
67
67
  }}
68
68
  name="acs_description_field"
@@ -113,7 +113,7 @@ const ACSEditSmartProxies = ({ onClose, acsId, acsDetails }) => {
113
113
  aria-label="use-http-proxies-switch"
114
114
  ouiaId="use-http-proxies-switch"
115
115
  isChecked={acsUseHttpProxies}
116
- onChange={checked => setAcsUseHttpProxies(checked)}
116
+ onChange={(_event, checked) => setAcsUseHttpProxies(checked)}
117
117
  />
118
118
  </FormGroup>
119
119
  <ActionGroup>
@@ -2,7 +2,19 @@ import React, { useState } from 'react';
2
2
  import { useDispatch } from 'react-redux';
3
3
  import PropTypes from 'prop-types';
4
4
  import { translate as __ } from 'foremanReact/common/I18n';
5
- import { ActionGroup, Button, Form, FormGroup, Modal, ModalVariant, TextArea, TextInput } from '@patternfly/react-core';
5
+ import {
6
+ ActionGroup,
7
+ Button,
8
+ Form,
9
+ FormGroup,
10
+ Modal,
11
+ ModalVariant,
12
+ TextArea,
13
+ TextInput,
14
+ FormHelperText,
15
+ HelperText,
16
+ HelperTextItem,
17
+ } from '@patternfly/react-core';
6
18
  import { editACS, getACSDetails } from '../../ACSActions';
7
19
  import { areSubPathsValid, isValidUrl } from '../../helpers';
8
20
 
@@ -63,8 +75,6 @@ const ACSEditURLPaths = ({ onClose, acsId, acsDetails }) => {
63
75
  label={__('Base URL')}
64
76
  type="string"
65
77
  fieldId="acs_base_url"
66
- helperTextInvalid={helperTextInvalid}
67
- validated={urlValidated}
68
78
  isRequired
69
79
  >
70
80
  <TextInput
@@ -77,25 +87,41 @@ const ACSEditURLPaths = ({ onClose, acsId, acsDetails }) => {
77
87
  placeholder={baseURLplaceholder}
78
88
  value={acsUrl}
79
89
  validated={urlValidated}
80
- onChange={value => setAcsUrl(value)}
90
+ onChange={(_event, value) => setAcsUrl(value)}
81
91
  />
92
+ {urlValidated === 'error' && (
93
+ <FormHelperText>
94
+ <HelperText>
95
+ <HelperTextItem variant="error">
96
+ {helperTextInvalid}
97
+ </HelperTextItem>
98
+ </HelperText>
99
+ </FormHelperText>
100
+ )}
82
101
  </FormGroup>
83
102
  <FormGroup
84
103
  label={__('Subpaths')}
85
104
  type="string"
86
105
  fieldId="acs_subpaths"
87
- helperTextInvalid={__('Comma-separated list of subpaths. All subpaths must have a slash at the end and none at the front.')}
88
- validated={subPathValidated}
89
106
  >
90
107
  <TextArea
91
108
  placeholder="test/repo1/, test/repo2/,"
92
109
  value={acsSubpath}
93
110
  validated={subPathValidated}
94
- onChange={value => setAcsSubpath(value)}
111
+ onChange={(_event, value) => setAcsSubpath(value)}
95
112
  name="acs_subpath_field"
96
113
  id="acs_subpath_field"
97
114
  aria-label="acs_subpath_field"
98
115
  />
116
+ {subPathValidated === 'error' && (
117
+ <FormHelperText>
118
+ <HelperText>
119
+ <HelperTextItem variant="error">
120
+ {__('Comma-separated list of subpaths. All subpaths must have a slash at the end and none at the front.')}
121
+ </HelperTextItem>
122
+ </HelperText>
123
+ </FormHelperText>
124
+ )}
99
125
  </FormGroup>
100
126
  <ActionGroup>
101
127
  <Button
@@ -44,7 +44,8 @@ test('Can show custom ACS details expandable sections with edit buttons', async
44
44
  expect(queryByText('Credentials')).toBeInTheDocument();
45
45
  expect(getByLabelText('edit-credentials-pencil-edit')).toBeInTheDocument();
46
46
  });
47
- assertNockRequest(acsDetailsScope, done);
47
+ assertNockRequest(acsDetailsScope);
48
+ done();
48
49
  act(done);
49
50
  });
50
51
 
@@ -89,7 +90,8 @@ test('Can open and close edit ACS details modal', async (done) => {
89
90
  await patientlyWaitFor(() => {
90
91
  expect(queryByLabelText('edit_acs_details')).not.toBeInTheDocument();
91
92
  });
92
- assertNockRequest(acsDetailsScope, done);
93
+ assertNockRequest(acsDetailsScope);
94
+ done();
93
95
  act(done);
94
96
  });
95
97
 
@@ -138,7 +140,8 @@ test('Can edit ACS details in the edit modal', async (done) => {
138
140
  });
139
141
  assertNockRequest(acsDetailsScope);
140
142
  assertNockRequest(acsEditScope);
141
- assertNockRequest(acsDetailsScope, done);
143
+ assertNockRequest(acsDetailsScope);
144
+ done();
142
145
  act(done);
143
146
  });
144
147
 
@@ -175,7 +178,8 @@ test('Can show simplified ACS details expandable sections with edit buttons', as
175
178
  expect(queryByText('Credentials')).not.toBeInTheDocument();
176
179
  expect(queryByText('URL and subpaths')).not.toBeInTheDocument();
177
180
  });
178
- assertNockRequest(acsDetailsScope, done);
181
+ assertNockRequest(acsDetailsScope);
182
+ done();
179
183
  act(done);
180
184
  });
181
185
 
@@ -240,6 +244,7 @@ test('Can edit products in a simplified ACS details edit modal', async (done) =>
240
244
  assertNockRequest(acsDetailsScope);
241
245
  assertNockRequest(productsScope);
242
246
  assertNockRequest(acsEditScope);
243
- assertNockRequest(acsDetailsScope, done);
247
+ assertNockRequest(acsDetailsScope);
248
+ done();
244
249
  act(done);
245
250
  });
@@ -36,7 +36,8 @@ test('Can call API and show ACS details expandable sections on page load', async
36
36
  expect(queryByText('URL and subpaths')).toBeInTheDocument();
37
37
  expect(queryByText('Credentials')).toBeInTheDocument();
38
38
  });
39
- assertNockRequest(acsDetailsScope, done);
39
+ assertNockRequest(acsDetailsScope);
40
+ done();
40
41
  act(done);
41
42
  });
42
43
 
@@ -104,6 +105,7 @@ test('Can expand expandable sections on details page', async (done) => {
104
105
  expect(queryByText('true')).not.toBeInTheDocument();
105
106
  });
106
107
 
107
- assertNockRequest(acsDetailsScope, done);
108
+ assertNockRequest(acsDetailsScope);
109
+ done();
108
110
  act(done);
109
111
  });
@@ -15,9 +15,6 @@ import {
15
15
  DrawerHead,
16
16
  DrawerPanelContent,
17
17
  DrawerPanelBody,
18
- Dropdown,
19
- DropdownItem,
20
- KebabToggle,
21
18
  Text,
22
19
  TextContent,
23
20
  TextList,
@@ -26,6 +23,11 @@ import {
26
23
  TextListVariants,
27
24
  TextVariants,
28
25
  } from '@patternfly/react-core';
26
+ import {
27
+ Dropdown,
28
+ DropdownItem,
29
+ KebabToggle,
30
+ } from '@patternfly/react-core/deprecated';
29
31
  import { TableVariant, Tbody, Td, Th, Thead, Tr, ActionsColumn } from '@patternfly/react-table';
30
32
  import { useSelectionSet } from 'foremanReact/components/PF4/TableIndexPage/Table/TableHooks';
31
33
  import { useTableSort } from 'foremanReact/components/PF4/Helpers/useTableSort';
@@ -148,7 +150,7 @@ const ACSTable = () => {
148
150
  const isSingleSelected = rowId => (Number(rowId) === Number(acsId) ||
149
151
  Number(rowId) === Number(expandedId));
150
152
  const customStyle = {
151
- borderLeft: '5px solid var(--pf-global--primary-color--100)',
153
+ borderLeft: '5px solid var(--pf-v5-global--primary-color--100)',
152
154
  };
153
155
 
154
156
  const PanelContent = () => {
@@ -196,14 +198,14 @@ const ACSTable = () => {
196
198
  ouiaId="refresh-acs"
197
199
  onClick={() => onRefresh(acs?.id)}
198
200
  variant="secondary"
199
- isSmall
201
+ size="sm"
200
202
  aria-label="refresh_acs"
201
203
  >
202
204
  {__('Refresh source')}
203
205
  </Button>
204
206
  <Dropdown
205
207
  style={{ paddingRight: '0px' }}
206
- toggle={<KebabToggle aria-label="details_actions" onToggle={setDetailsKebabOpen} style={{ paddingRight: '0px' }} />}
208
+ toggle={<KebabToggle aria-label="details_actions" onToggle={(_event, val) => setDetailsKebabOpen(val)} style={{ paddingRight: '0px' }} />}
207
209
  isOpen={detailsKebabOpen}
208
210
  ouiaId="acs-details-actions"
209
211
  isPlain
@@ -344,7 +346,7 @@ const ACSTable = () => {
344
346
  </Button>}
345
347
  {renderActionButtons && (canEdit || canDelete) &&
346
348
  <Dropdown
347
- toggle={<KebabToggle aria-label="bulk_actions" onToggle={setKebabOpen} />}
349
+ toggle={<KebabToggle aria-label="bulk_actions" onToggle={(_event, val) => setKebabOpen(val)} />}
348
350
  isOpen={kebabOpen}
349
351
  ouiaId="acs-bulk-actions"
350
352
  isPlain
@@ -430,7 +432,7 @@ const ACSTable = () => {
430
432
  id={id}
431
433
  aria-label={`Select ACS ${id}`}
432
434
  isChecked={isSelected(id)}
433
- onChange={selected => selectOne(selected, id)}
435
+ onChange={(_event, selected) => selectOne(selected, id)}
434
436
  />
435
437
  </Td>
436
438
  <Td>
@@ -30,7 +30,8 @@ test('Can call API and show ACS on page load', async (done) => {
30
30
  // Assert that the ACS name is now showing on the screen, but wait for it to appear.
31
31
  await patientlyWaitFor(() => expect(getByText(firstAcs.name)).toBeInTheDocument());
32
32
  assertNockRequest(autocompleteScope);
33
- assertNockRequest(scope, done);
33
+ assertNockRequest(scope);
34
+ done();
34
35
  act(done);
35
36
  });
36
37
 
@@ -56,6 +57,7 @@ test('Can handle no ACS being present', async (done) => {
56
57
  expect(queryByText(firstAcs.name)).toBeNull();
57
58
  expect(queryByLabelText('Select all')).not.toBeInTheDocument();
58
59
  await patientlyWaitFor(() => expect(queryByText("You currently don't have any alternate content sources.")).toBeInTheDocument());
59
- assertNockRequest(scope, done);
60
+ assertNockRequest(scope);
61
+ done();
60
62
  act(done);
61
63
  });
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { TableComposable, Thead, Th, Tbody, Tr, Td, ExpandableRowContent } from '@patternfly/react-table';
2
+ import { Table, Thead, Th, Tbody, Tr, Td, ExpandableRowContent } from '@patternfly/react-table';
3
3
  import TableIndexPage from 'foremanReact/components/PF4/TableIndexPage/TableIndexPage';
4
4
  import {
5
5
  useSetParamsAndApiAndSearch,
@@ -114,7 +114,7 @@ const BootedContainerImagesPage = () => {
114
114
  controller="/katello/api/v2/host_bootc_images"
115
115
  >
116
116
  <>
117
- <TableComposable variant="compact" ouiaId="booted-containers-table" isStriped>
117
+ <Table variant="compact" ouiaId="booted-containers-table" isStriped>
118
118
  <Thead>
119
119
  <Tr ouiaId="table-header">
120
120
  <>
@@ -201,7 +201,7 @@ const BootedContainerImagesPage = () => {
201
201
  <Td />
202
202
  <Td colSpan={3}>
203
203
  <ExpandableRowContent>
204
- <TableComposable variant="compact" isStriped ouiaId={`table-composable-expanded-${rowIndex}`}>
204
+ <Table variant="compact" isStriped ouiaId={`table-composable-expanded-${rowIndex}`}>
205
205
  <Thead>
206
206
  <Tr ouiaId={`table-row-inner-expandable-${rowIndex}`}>
207
207
  <Th width={55}>{__('Image digest')}</Th>
@@ -218,14 +218,14 @@ const BootedContainerImagesPage = () => {
218
218
  </Tr>
219
219
  ))}
220
220
  </Tbody>
221
- </TableComposable>
221
+ </Table>
222
222
  </ExpandableRowContent>
223
223
  </Td>
224
224
  </Tr> : null}
225
225
  </Tbody>
226
226
  );
227
227
  })}
228
- </TableComposable>
228
+ </Table>
229
229
  {results.length > 0 && !errorMessage &&
230
230
  <Pagination
231
231
  key="table-bottom-pagination"