katello 4.20.0 → 4.21.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.
Files changed (634) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -56
  3. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +56 -0
  4. data/app/assets/javascripts/katello/locale/bn/katello.js +366 -129
  5. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +366 -129
  6. data/app/assets/javascripts/katello/locale/ca/katello.js +367 -130
  7. data/app/assets/javascripts/katello/locale/cs/katello.js +366 -129
  8. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +366 -129
  9. data/app/assets/javascripts/katello/locale/de/katello.js +367 -130
  10. data/app/assets/javascripts/katello/locale/de_AT/katello.js +366 -129
  11. data/app/assets/javascripts/katello/locale/de_DE/katello.js +366 -129
  12. data/app/assets/javascripts/katello/locale/el/katello.js +366 -129
  13. data/app/assets/javascripts/katello/locale/en/katello.js +366 -129
  14. data/app/assets/javascripts/katello/locale/en_GB/katello.js +366 -129
  15. data/app/assets/javascripts/katello/locale/en_US/katello.js +366 -129
  16. data/app/assets/javascripts/katello/locale/es/katello.js +367 -130
  17. data/app/assets/javascripts/katello/locale/et_EE/katello.js +366 -129
  18. data/app/assets/javascripts/katello/locale/fr/katello.js +371 -134
  19. data/app/assets/javascripts/katello/locale/gl/katello.js +367 -130
  20. data/app/assets/javascripts/katello/locale/gu/katello.js +367 -130
  21. data/app/assets/javascripts/katello/locale/he_IL/katello.js +366 -129
  22. data/app/assets/javascripts/katello/locale/hi/katello.js +366 -129
  23. data/app/assets/javascripts/katello/locale/id/katello.js +367 -130
  24. data/app/assets/javascripts/katello/locale/it/katello.js +366 -129
  25. data/app/assets/javascripts/katello/locale/ja/katello.js +371 -134
  26. data/app/assets/javascripts/katello/locale/ka/katello.js +368 -131
  27. data/app/assets/javascripts/katello/locale/kn/katello.js +366 -129
  28. data/app/assets/javascripts/katello/locale/ko/katello.js +371 -134
  29. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +366 -129
  30. data/app/assets/javascripts/katello/locale/mr/katello.js +366 -129
  31. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +367 -130
  32. data/app/assets/javascripts/katello/locale/or/katello.js +366 -129
  33. data/app/assets/javascripts/katello/locale/pa/katello.js +366 -129
  34. data/app/assets/javascripts/katello/locale/pl/katello.js +367 -130
  35. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +366 -129
  36. data/app/assets/javascripts/katello/locale/pt/katello.js +366 -129
  37. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +368 -131
  38. data/app/assets/javascripts/katello/locale/ro/katello.js +366 -129
  39. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +366 -129
  40. data/app/assets/javascripts/katello/locale/ru/katello.js +366 -129
  41. data/app/assets/javascripts/katello/locale/sl/katello.js +367 -130
  42. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +367 -130
  43. data/app/assets/javascripts/katello/locale/ta/katello.js +366 -129
  44. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +366 -129
  45. data/app/assets/javascripts/katello/locale/te/katello.js +366 -129
  46. data/app/assets/javascripts/katello/locale/tr/katello.js +366 -129
  47. data/app/assets/javascripts/katello/locale/vi/katello.js +366 -129
  48. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +366 -129
  49. data/app/assets/javascripts/katello/locale/zh/katello.js +366 -129
  50. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +371 -134
  51. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +366 -129
  52. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +10 -5
  53. data/app/controllers/katello/api/v2/activation_keys_controller.rb +12 -6
  54. data/app/controllers/katello/api/v2/alternate_content_sources_controller.rb +26 -1
  55. data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -1
  56. data/app/controllers/katello/api/v2/content_view_environments_controller.rb +14 -0
  57. data/app/controllers/katello/api/v2/content_views_controller.rb +6 -83
  58. data/app/controllers/katello/api/v2/host_bootc_images_controller.rb +12 -4
  59. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +0 -21
  60. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +33 -9
  61. data/app/controllers/katello/api/v2/products_controller.rb +0 -11
  62. data/app/controllers/katello/api/v2/repositories_controller.rb +8 -0
  63. data/app/controllers/katello/api/v2/repository_sets_controller.rb +0 -4
  64. data/app/controllers/katello/api/v2/subscriptions_controller.rb +4 -59
  65. data/app/controllers/katello/api/v2/sync_status_controller.rb +90 -0
  66. data/app/controllers/katello/concerns/api/api_controller.rb +0 -6
  67. data/app/controllers/katello/concerns/api/v2/hostgroups_controller_extensions.rb +3 -2
  68. data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +72 -28
  69. data/app/controllers/katello/concerns/content_views_controller_helpers.rb +89 -0
  70. data/app/helpers/katello/content_options_helper.rb +179 -0
  71. data/app/helpers/katello/host_display_helper.rb +38 -0
  72. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +10 -233
  73. data/app/helpers/katello/kickstart_repository_helper.rb +109 -0
  74. data/app/helpers/katello/sync_management_helper.rb +38 -6
  75. data/app/lib/actions/katello/content_view/remove.rb +16 -3
  76. data/app/lib/actions/katello/content_view_environment/reassign_objects.rb +14 -0
  77. data/app/lib/actions/katello/content_view_version/import.rb +18 -7
  78. data/app/lib/actions/katello/content_view_version/incremental_update.rb +20 -15
  79. data/app/lib/actions/katello/environment/destroy.rb +1 -8
  80. data/app/lib/actions/katello/repository_set/enable_repository.rb +1 -1
  81. data/app/lib/actions/pulp3/abstract_async_task.rb +10 -2
  82. data/app/lib/actions/pulp3/orphan_cleanup/purge_completed_tasks.rb +1 -1
  83. data/app/lib/katello/concerns/base_template_scope_extensions.rb +0 -33
  84. data/app/lib/katello/resources/candlepin/activation_key.rb +0 -34
  85. data/app/lib/katello/resources/candlepin/candlepin_ping.rb +17 -3
  86. data/app/lib/katello/resources/candlepin/consumer.rb +0 -56
  87. data/app/lib/katello/resources/candlepin/pool.rb +0 -5
  88. data/app/lib/katello/resources/candlepin/upstream_consumer.rb +0 -6
  89. data/app/lib/katello/util/cve_hgcf_migrator.rb +78 -0
  90. data/app/lib/katello/util/hostgroup_facets_helper.rb +8 -3
  91. data/app/lib/katello/util/package.rb +4 -4
  92. data/app/lib/katello/util/package_filter.rb +22 -6
  93. data/app/lib/katello/util/path_with_substitutions.rb +1 -1
  94. data/app/models/katello/activation_key.rb +1 -63
  95. data/app/models/katello/alternate_content_source.rb +41 -4
  96. data/app/models/katello/concerns/host_managed_extensions.rb +2 -23
  97. data/app/models/katello/concerns/hostgroup_extensions.rb +34 -9
  98. data/app/models/katello/concerns/organization_extensions.rb +1 -9
  99. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -20
  100. data/app/models/katello/content_credential.rb +3 -3
  101. data/app/models/katello/content_view.rb +35 -6
  102. data/app/models/katello/content_view_environment.rb +3 -0
  103. data/app/models/katello/glue/candlepin/activation_key.rb +0 -55
  104. data/app/models/katello/glue/candlepin/candlepin_object.rb +1 -2
  105. data/app/models/katello/glue/candlepin/owner.rb +0 -14
  106. data/app/models/katello/glue/candlepin/pool.rb +32 -141
  107. data/app/models/katello/glue/provider.rb +1 -19
  108. data/app/models/katello/host/content_facet.rb +15 -1
  109. data/app/models/katello/host/subscription_facet.rb +1 -20
  110. data/app/models/katello/hostgroup/content_facet.rb +149 -4
  111. data/app/models/katello/kt_environment.rb +17 -4
  112. data/app/models/katello/ping.rb +1 -9
  113. data/app/models/katello/pool.rb +8 -26
  114. data/app/models/katello/root_repository.rb +0 -2
  115. data/app/models/katello/subscription.rb +0 -8
  116. data/app/presenters/katello/sync_status_presenter.rb +16 -1
  117. data/app/services/katello/candlepin/consumer.rb +0 -92
  118. data/app/services/katello/content_view_manager.rb +52 -3
  119. data/app/services/katello/managed_content_medium_provider.rb +1 -1
  120. data/app/services/katello/product_content_finder.rb +2 -3
  121. data/app/services/katello/pulp3/alternate_content_source.rb +22 -2
  122. data/app/services/katello/pulp3/api/apt.rb +8 -0
  123. data/app/services/katello/pulp3/content_view_version/export.rb +13 -3
  124. data/app/services/katello/pulp3/repository/generic.rb +2 -1
  125. data/app/services/katello/pulp3/repository.rb +19 -5
  126. data/app/services/katello/pulp3/repository_mirror.rb +104 -11
  127. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +22 -7
  128. data/app/services/katello/pulp3/smart_proxy_repository.rb +39 -17
  129. data/app/services/katello/registration_manager.rb +5 -5
  130. data/app/services/katello/repository_type.rb +2 -2
  131. data/app/views/katello/api/v2/activation_keys/base.json.rabl +0 -4
  132. data/app/views/katello/api/v2/alternate_content_sources/base.json.rabl +1 -1
  133. data/app/views/katello/api/v2/content_credentials/show.json.rabl +3 -3
  134. data/app/views/katello/api/v2/content_facet/base.json.rabl +4 -0
  135. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +10 -1
  136. data/app/views/katello/api/v2/content_views/base.json.rabl +5 -0
  137. data/app/views/katello/api/v2/organizations/show.json.rabl +0 -4
  138. data/app/views/katello/api/v2/subscription_facet/show.json.rabl +0 -4
  139. data/app/views/katello/api/v2/subscriptions/base.json.rabl +3 -1
  140. data/app/views/katello/api/v2/subscriptions/index.json.rabl +0 -2
  141. data/app/views/katello/api/v2/subscriptions/show.json.rabl +0 -24
  142. data/app/views/katello/api/v2/sync_status/index.json.rabl +9 -0
  143. data/app/views/katello/api/v2/sync_status/poll.json.rabl +5 -0
  144. data/app/views/katello/api/v2/sync_status/sync.json.rabl +5 -0
  145. data/app/views/katello/hosts/_errata_counts.html.erb +2 -2
  146. data/app/views/overrides/activation_keys/_host_environment_select.html.erb +33 -24
  147. data/config/initializers/inflections.rb +0 -1
  148. data/config/initializers/monkeys.rb +1 -0
  149. data/config/routes/api/v2.rb +7 -20
  150. data/config/routes.rb +5 -10
  151. data/db/migrate/20251110000001_add_deb_fields_to_acs.rb +7 -0
  152. data/db/migrate/20260126190728_drop_katello_subscription_facet_pools_and_pool_activation_keys.katello.rb +35 -0
  153. data/db/migrate/20260225015710_remove_katello_compliance_reasons.katello.rb +20 -0
  154. data/db/migrate/20260301205720_add_fields_to_katello_pool.katello.rb +21 -0
  155. data/db/migrate/20260402151630_add_content_view_environment_to_hostgroup_content_facet.rb +366 -0
  156. data/db/seeds.d/109-katello-notification-blueprints.rb +0 -24
  157. data/db/seeds.d/111-upgrade_tasks.rb +2 -1
  158. data/engines/bastion/app/assets/javascripts/bastion/i18n/bastion.pot +4 -10
  159. data/engines/bastion/app/views/bastion/layouts/assets.html.erb +1 -1
  160. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-key.factory.js +0 -3
  161. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.routes.js +0 -24
  162. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +2 -18
  163. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +0 -2
  164. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +0 -3
  165. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +0 -7
  166. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +0 -4
  167. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +0 -1
  168. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +0 -3
  169. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +21 -9
  170. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +9 -2
  171. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-host-bulk-module-streams-modal.html +1 -1
  172. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +1 -1
  173. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-modal-helper.service.js +0 -11
  174. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb.controller.js +9 -2
  175. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +3 -3
  176. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-module-streams.html +1 -1
  177. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-packages.html +2 -2
  178. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-details.controller.js +2 -10
  179. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-info.html +0 -6
  180. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +0 -3
  181. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +8 -188
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +4 -3
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +1 -1
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/module-streams/views/partials/module-streams-table.html +1 -1
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +0 -1
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/package.controller.js +6 -3
  187. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +1 -3
  188. data/lib/katello/engine.rb +0 -26
  189. data/lib/katello/permission_creator.rb +2 -3
  190. data/lib/katello/plugin.rb +15 -5
  191. data/lib/katello/repository_types/python.rb +3 -0
  192. data/lib/katello/repository_types/yum.rb +2 -1
  193. data/lib/katello/tasks/reimport.rake +0 -5
  194. data/lib/katello/tasks/upgrades/4.20/clean_cve_with_no_cvv.rake +23 -0
  195. data/lib/katello/tasks/upgrades/4.21/cleanup_python_publications.rake +183 -0
  196. data/lib/katello/tasks/upgrades/4.21/import_pools.rake +10 -0
  197. data/lib/katello/version.rb +1 -1
  198. data/lib/monkeys/pulp_polymorphic_remote_response.rb +44 -40
  199. data/lib/monkeys/python_remote_provenance.rb +161 -0
  200. data/lib/monkeys/remove_hidden_distribution.rb +4 -0
  201. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  202. data/locale/bn/katello.po +366 -129
  203. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  204. data/locale/bn_IN/katello.po +366 -129
  205. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  206. data/locale/ca/katello.po +368 -131
  207. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  208. data/locale/cs/katello.po +366 -129
  209. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  210. data/locale/cs_CZ/katello.po +367 -130
  211. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  212. data/locale/de/katello.po +368 -131
  213. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  214. data/locale/de_AT/katello.po +366 -129
  215. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  216. data/locale/de_DE/katello.po +366 -129
  217. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  218. data/locale/el/katello.po +366 -129
  219. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  220. data/locale/en/katello.po +366 -129
  221. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  222. data/locale/en_GB/katello.po +366 -129
  223. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  224. data/locale/en_US/katello.po +366 -129
  225. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  226. data/locale/es/katello.po +368 -131
  227. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  228. data/locale/et_EE/katello.po +366 -129
  229. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  230. data/locale/fr/katello.po +373 -136
  231. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  232. data/locale/gl/katello.po +368 -131
  233. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  234. data/locale/gu/katello.po +368 -131
  235. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  236. data/locale/he_IL/katello.po +366 -129
  237. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  238. data/locale/hi/katello.po +366 -129
  239. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  240. data/locale/id/katello.po +368 -131
  241. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  242. data/locale/it/katello.po +367 -129
  243. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  244. data/locale/ja/katello.po +373 -135
  245. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  246. data/locale/ka/katello.po +368 -131
  247. data/locale/katello.pot +2077 -1640
  248. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  249. data/locale/kn/katello.po +366 -129
  250. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  251. data/locale/ko/katello.po +372 -135
  252. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  253. data/locale/ml_IN/katello.po +366 -129
  254. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  255. data/locale/mr/katello.po +366 -129
  256. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  257. data/locale/nl_NL/katello.po +368 -131
  258. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  259. data/locale/or/katello.po +366 -129
  260. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  261. data/locale/pa/katello.po +366 -129
  262. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  263. data/locale/pl/katello.po +368 -131
  264. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  265. data/locale/pl_PL/katello.po +366 -129
  266. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  267. data/locale/pt/katello.po +366 -129
  268. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  269. data/locale/pt_BR/katello.po +370 -133
  270. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  271. data/locale/ro/katello.po +366 -129
  272. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  273. data/locale/ro_RO/katello.po +366 -129
  274. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  275. data/locale/ru/katello.po +367 -130
  276. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  277. data/locale/sl/katello.po +368 -131
  278. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  279. data/locale/sv_SE/katello.po +368 -131
  280. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  281. data/locale/ta/katello.po +366 -129
  282. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  283. data/locale/ta_IN/katello.po +366 -129
  284. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  285. data/locale/te/katello.po +366 -129
  286. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  287. data/locale/tr/katello.po +366 -129
  288. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  289. data/locale/vi/katello.po +366 -129
  290. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  291. data/locale/vi_VN/katello.po +366 -129
  292. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  293. data/locale/zh/katello.po +366 -129
  294. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  295. data/locale/zh_CN/katello.po +372 -135
  296. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  297. data/locale/zh_TW/katello.po +366 -129
  298. data/webpack/ForemanColumnExtensions/index.js +17 -12
  299. data/webpack/components/ActionableDetail.js +11 -1
  300. data/webpack/components/ActivationKeysSearch/index.js +16 -12
  301. data/webpack/components/Bookmark/AddBookmarkModal.js +1 -1
  302. data/webpack/components/Content/__tests__/ContentTable.test.js +135 -26
  303. data/webpack/components/EditableTextInput/EditableTextInput.js +4 -2
  304. data/webpack/components/LoadingState/LoadingState.test.js +31 -21
  305. data/webpack/components/OptionTooltip/__tests__/OptionTooltip.test.js +47 -29
  306. data/webpack/components/RoutedTabs/RoutedTabs.scss +21 -0
  307. data/webpack/components/RoutedTabs/index.js +11 -3
  308. data/webpack/components/SelectOrg/SelectOrg.scss +12 -2
  309. data/webpack/components/SelectOrg/SetOrganization.js +92 -102
  310. data/webpack/components/SelectOrg/__tests__/SetOrganization.test.js +131 -0
  311. data/webpack/components/TooltipButton/TooltipButton.test.js +52 -33
  312. data/webpack/components/WithOrganization/withOrganization.test.js +22 -15
  313. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/AssignHostCVModal.js +2 -24
  314. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/OrderableAssignments.js +18 -28
  315. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/AssignHostCVModal.test.js +90 -33
  316. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +7 -7
  317. data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +1 -1
  318. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +0 -1
  319. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +9 -107
  320. data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +1 -1
  321. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +0 -2
  322. data/webpack/components/extensions/Hosts/ActionsBar/index.js +1 -1
  323. data/webpack/components/extensions/Hosts/BulkActions/BulkAssignCVEnvsModal/BulkAssignCVEnvsModal.js +2 -14
  324. data/webpack/components/extensions/Hosts/BulkActions/BulkAssignCVEnvsModal/index.js +1 -1
  325. data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/index.js +1 -1
  326. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/index.js +1 -1
  327. data/webpack/components/extensions/Hosts/BulkActions/BulkManageTracesModal/index.js +1 -1
  328. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +1 -1
  329. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/index.js +1 -1
  330. data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/BulkRepositorySetsWizard.js +1 -1
  331. data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/index.js +1 -1
  332. data/webpack/components/extensions/Hosts/BulkActions/BulkSystemPurposeModal/index.js +1 -1
  333. data/webpack/components/extensions/RegistrationCommands/__tests__/ActivationKeys.test.js +146 -9
  334. data/webpack/components/extensions/RegistrationCommands/__tests__/Force.test.js +52 -6
  335. data/webpack/components/extensions/RegistrationCommands/__tests__/IgnoreSubmanErrors.test.js +52 -6
  336. data/webpack/components/pf3Table/components/CollapseSubscriptionGroupButton.test.js +33 -13
  337. data/webpack/components/pf3Table/components/Table.test.js +102 -25
  338. data/webpack/components/pf3Table/components/TableBody.test.js +52 -14
  339. data/webpack/components/pf3Table/components/TableBodyMessage.test.js +14 -9
  340. data/webpack/components/pf3Table/components/TableSelectionCell.test.js +67 -13
  341. data/webpack/components/pf3Table/components/TableSelectionHeaderCell.test.js +67 -11
  342. data/webpack/components/pf3Table/formatters/EntitlementsInlineEditFormatter.js +4 -4
  343. data/webpack/components/pf3Table/formatters/__tests__/EntitlementsInlineEditFormatter.test.js +53 -46
  344. data/webpack/components/pf3Table/formatters/entitlementsValueFormatter.js +3 -3
  345. data/webpack/containers/Application/config.js +15 -10
  346. data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsActions.test.js +74 -36
  347. data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsReducer.test.js +74 -21
  348. data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsSelectors.test.js +81 -13
  349. data/webpack/redux/OrganizationProducts/__tests__/organizationProducts.fixtures.json +138 -0
  350. data/webpack/redux/actions/RedHatRepositories/helpers.js +2 -0
  351. data/webpack/redux/reducers/index.js +0 -4
  352. data/webpack/scenes/ActivationKeys/Details/components/__tests__/AssignAKCVModal.test.js +1 -1
  353. data/webpack/scenes/ActivationKeys/Details/hooks/useAssignmentManagement.js +3 -25
  354. data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +16 -2
  355. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +28 -3
  356. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSReview.js +25 -5
  357. data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +92 -28
  358. data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +1 -0
  359. data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreateDeb.test.js +133 -0
  360. data/webpack/scenes/AlternateContentSources/Create/__tests__/contentCredentials.fixtures.json +6 -6
  361. data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +50 -10
  362. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +115 -35
  363. data/webpack/scenes/AlternateContentSources/helpers.js +10 -0
  364. data/webpack/scenes/ContainerImages/Booted/BootedContainerImagesPage.js +1 -1
  365. data/webpack/scenes/Content/ContentConfig.js +85 -0
  366. data/webpack/scenes/ContentCredentials/ContentCredentialConstants.js +1 -0
  367. data/webpack/scenes/ContentCredentials/ContentCredentialsPage.js +116 -0
  368. data/webpack/scenes/ContentCredentials/Details/AlternateContentSourcesTab.js +127 -0
  369. data/webpack/scenes/ContentCredentials/Details/ContentCredentialsDetails.js +232 -0
  370. data/webpack/scenes/ContentCredentials/Details/ContentCredentialsDetailsActions.js +93 -0
  371. data/webpack/scenes/ContentCredentials/Details/ContentCredentialsDetailsSelectors.js +17 -0
  372. data/webpack/scenes/ContentCredentials/Details/DetailsTab.js +237 -0
  373. data/webpack/scenes/ContentCredentials/Details/ProductsTab.js +133 -0
  374. data/webpack/scenes/ContentCredentials/Details/RepositoriesTab.js +173 -0
  375. data/webpack/scenes/ContentCredentials/Details/__tests__/AlternateContentSourcesTab.test.js +70 -0
  376. data/webpack/scenes/ContentCredentials/Details/__tests__/ContentCredentialsDetails.test.js +474 -0
  377. data/webpack/scenes/ContentCredentials/Details/__tests__/DetailsTab.test.js +493 -0
  378. data/webpack/scenes/ContentCredentials/Details/__tests__/ProductsTab.test.js +85 -0
  379. data/webpack/scenes/ContentCredentials/Details/__tests__/RepositoriesTab.test.js +105 -0
  380. data/webpack/scenes/ContentCredentials/Details/index.js +7 -0
  381. data/webpack/scenes/ContentCredentials/__tests__/ContentCredentialsPage.test.js +180 -0
  382. data/webpack/scenes/ContentCredentials/__tests__/contentCredentials.fixtures.js +6 -6
  383. data/webpack/scenes/ContentCredentials/__tests__/contentCredentialsList.fixtures.json +81 -0
  384. data/webpack/scenes/ContentCredentials/index.js +5 -0
  385. data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +29 -6
  386. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionFinish.js +55 -33
  387. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostgroupsForm.js +133 -0
  388. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +49 -4
  389. data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +2 -2
  390. data/webpack/scenes/ContentViews/Delete/__tests__/cvDetails.fixtures.json +3 -1
  391. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +36 -3
  392. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteContextWrapper.js +6 -0
  393. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteHelpers.js +4 -0
  394. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +22 -0
  395. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/FinishBulkDelete.js +35 -13
  396. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHostgroups.js +173 -0
  397. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/BulkDeleteModal.test.js +153 -10
  398. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/contentViewVersion.fixtures.json +3 -1
  399. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/contentViewVersionWithoutHostgroups.fixtures.json +941 -0
  400. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/cvDetails.fixtures.json +25 -0
  401. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/cvEnvironments.fixtures.json +15 -0
  402. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/bulkDeleteSteps.js +14 -0
  403. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +0 -37
  404. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +35 -5
  405. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +10 -3
  406. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostgroupsForm.js +149 -0
  407. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionDeleteFinish.js +59 -37
  408. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +43 -3
  409. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHostgroups.js +62 -0
  410. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +1 -1
  411. data/webpack/scenes/Hosts/ChangeContentSource/actions.js +8 -4
  412. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +46 -104
  413. data/webpack/scenes/Hosts/ChangeContentSource/components/Hosts.js +2 -2
  414. data/webpack/scenes/Hosts/ChangeContentSource/components/MultiCVEnvForm.js +90 -0
  415. data/webpack/scenes/Hosts/ChangeContentSource/index.js +23 -32
  416. data/webpack/scenes/Hosts/ChangeContentSource/styles.scss +14 -1
  417. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailArtifacts.js +38 -12
  418. data/webpack/scenes/ModuleStreams/Details/Profiles/ModuleStreamDetailProfiles.js +54 -13
  419. data/webpack/scenes/ModuleStreams/Details/Profiles/ProfileRpmsCellFormatter.js +18 -11
  420. data/webpack/scenes/ModuleStreams/Details/Profiles/__tests__/ModuleStreamDetailProfiles.test.js +41 -11
  421. data/webpack/scenes/ModuleStreams/Details/Profiles/__tests__/ProfileRpmsCellFormatter.test.js +68 -24
  422. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailArtifacts.test.js +44 -9
  423. data/webpack/scenes/Settings/Tables/__tests__/TableReducer.test.js +49 -29
  424. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +52 -5
  425. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +1 -0
  426. data/webpack/scenes/Subscriptions/Details/SubscriptionAttributes.js +0 -1
  427. data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +0 -4
  428. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetails.test.js +0 -2
  429. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +0 -10
  430. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +0 -138
  431. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +0 -2
  432. data/webpack/scenes/Subscriptions/Manifest/DeleteManifestModalText.js +5 -37
  433. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +1 -4
  434. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss +0 -9
  435. data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +0 -59
  436. data/webpack/scenes/Subscriptions/Manifest/ManifestConstants.js +0 -12
  437. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +0 -50
  438. data/webpack/scenes/Subscriptions/Manifest/__tests__/manifest.fixtures.js +0 -36
  439. data/webpack/scenes/Subscriptions/SubscriptionActions.js +10 -5
  440. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +0 -7
  441. data/webpack/scenes/Subscriptions/SubscriptionHelpers.js +1 -2
  442. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +0 -15
  443. data/webpack/scenes/Subscriptions/__tests__/SubscriptionHelpers.test.js +0 -16
  444. data/webpack/scenes/Subscriptions/__tests__/SubscriptionValidations.test.js +5 -6
  445. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +1 -3
  446. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionHelpers.test.js.snap +0 -4
  447. data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +2 -21
  448. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +1 -1
  449. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +6 -7
  450. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +1 -11
  451. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.fixtures.js +0 -11
  452. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +1 -1
  453. data/webpack/scenes/SyncStatus/SyncStatus.scss +32 -0
  454. data/webpack/scenes/SyncStatus/SyncStatusActions.js +69 -0
  455. data/webpack/scenes/SyncStatus/SyncStatusConstants.js +24 -0
  456. data/webpack/scenes/SyncStatus/SyncStatusPage.js +384 -0
  457. data/webpack/scenes/SyncStatus/SyncStatusSelectors.js +43 -0
  458. data/webpack/scenes/SyncStatus/__tests__/SyncStatusPage.test.js +110 -0
  459. data/webpack/scenes/SyncStatus/components/SyncProgressCell.js +55 -0
  460. data/webpack/scenes/SyncStatus/components/SyncResultCell.js +102 -0
  461. data/webpack/scenes/SyncStatus/components/SyncStatusTable.js +378 -0
  462. data/webpack/scenes/SyncStatus/components/SyncStatusToolbar.js +68 -0
  463. data/webpack/scenes/SyncStatus/components/TreeSelectAllCheckbox.js +118 -0
  464. data/webpack/scenes/SyncStatus/components/__tests__/SyncProgressCell.test.js +51 -0
  465. data/webpack/scenes/SyncStatus/components/__tests__/SyncResultCell.test.js +49 -0
  466. data/webpack/scenes/SyncStatus/components/__tests__/SyncStatusTable.test.js +179 -0
  467. data/webpack/scenes/SyncStatus/components/__tests__/SyncStatusToolbar.test.js +65 -0
  468. data/webpack/scenes/SyncStatus/components/__tests__/TreeSelectAllCheckbox.test.js +93 -0
  469. data/webpack/scenes/SyncStatus/index.js +1 -0
  470. data/webpack/scenes/Tasks/__tests__/TaskActions.test.js +46 -8
  471. data/webpack/scenes/Tasks/__tests__/TaskSelectors.test.js +16 -8
  472. data/webpack/utils/contentViewEnvironmentLabel.js +45 -0
  473. metadata +106 -236
  474. data/app/controllers/katello/api/v2/simple_content_access_controller.rb +0 -29
  475. data/app/controllers/katello/sync_management_controller.rb +0 -84
  476. data/app/lib/actions/candlepin/consumer/attach_subscription.rb +0 -17
  477. data/app/lib/actions/candlepin/consumer/auto_attach_subscriptions.rb +0 -15
  478. data/app/lib/actions/candlepin/consumer/remove_subscription.rb +0 -22
  479. data/app/lib/actions/pulp3/orphan_cleanup/delete_orphaned_migrated_repositories.rb +0 -15
  480. data/app/lib/katello/messaging/connection.rb +0 -9
  481. data/app/lib/katello/messaging/received_message.rb +0 -12
  482. data/app/lib/katello/messaging/stomp_connection.rb +0 -73
  483. data/app/lib/katello/resources/candlepin/entitlement.rb +0 -22
  484. data/app/models/katello/compliance_reason.rb +0 -5
  485. data/app/models/katello/events/delete_latest_content_view_version.rb +0 -40
  486. data/app/models/katello/events/delete_pool.rb +0 -19
  487. data/app/models/katello/events/import_pool.rb +0 -17
  488. data/app/models/katello/pool_activation_key.rb +0 -6
  489. data/app/models/katello/subscription_facet_pool.rb +0 -8
  490. data/app/presenters/katello/activation_key_subscriptions_presenter.rb +0 -10
  491. data/app/presenters/katello/host_subscription_presenter.rb +0 -10
  492. data/app/presenters/katello/host_subscriptions_presenter.rb +0 -24
  493. data/app/services/katello/candlepin/event_handler.rb +0 -27
  494. data/app/services/katello/candlepin/message_handler.rb +0 -73
  495. data/app/services/katello/candlepin_event_listener.rb +0 -61
  496. data/app/services/katello/ui_notifications/content_view/delete_latest_version_failure.rb +0 -22
  497. data/app/services/katello/ui_notifications/subscriptions/sca_disable_error.rb +0 -13
  498. data/app/services/katello/ui_notifications/subscriptions/sca_disable_success.rb +0 -13
  499. data/app/services/katello/ui_notifications/subscriptions/sca_enable_error.rb +0 -13
  500. data/app/services/katello/ui_notifications/subscriptions/sca_enable_success.rb +0 -13
  501. data/app/views/katello/api/v2/activation_keys/subscriptions.json.rabl +0 -8
  502. data/app/views/katello/api/v2/host_subscriptions/events.json.rabl +0 -7
  503. data/app/views/katello/api/v2/host_subscriptions/index.json.rabl +0 -8
  504. data/app/views/katello/api/v2/subscriptions/organization_index.json.rabl +0 -10
  505. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +0 -80
  506. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +0 -65
  507. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html +0 -26
  508. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions-list.html +0 -25
  509. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html +0 -48
  510. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/subscription-add-or-remove.html +0 -50
  511. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +0 -89
  512. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +0 -126
  513. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-subscription.factory.js +0 -24
  514. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-start-date.directive.js +0 -21
  515. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-type.directive.js +0 -16
  516. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptionConsumed.filter.js +0 -21
  517. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions-helper.service.js +0 -72
  518. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.factory.js +0 -38
  519. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.module.js +0 -17
  520. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +0 -2
  521. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-type.html +0 -18
  522. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/host_subscriptions.scss +0 -14
  523. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/subscriptions.scss +0 -3
  524. data/lib/katello/tasks/unify_hosts.rake +0 -151
  525. data/lib/katello/tasks/upgrades/4.1/fix_invalid_pools.rake +0 -62
  526. data/locale/action_names.rb +0 -182
  527. data/locale/bn/katello.po.time_stamp +0 -0
  528. data/locale/bn_IN/katello.po.time_stamp +0 -0
  529. data/locale/ca/katello.po.time_stamp +0 -0
  530. data/locale/cs/katello.po.time_stamp +0 -0
  531. data/locale/cs_CZ/katello.po.time_stamp +0 -0
  532. data/locale/de/katello.po.time_stamp +0 -0
  533. data/locale/de_AT/katello.po.time_stamp +0 -0
  534. data/locale/de_DE/katello.po.time_stamp +0 -0
  535. data/locale/el/katello.po.time_stamp +0 -0
  536. data/locale/en/katello.po.time_stamp +0 -0
  537. data/locale/en_GB/katello.po.time_stamp +0 -0
  538. data/locale/en_US/katello.po.time_stamp +0 -0
  539. data/locale/es/katello.po.time_stamp +0 -0
  540. data/locale/et_EE/katello.po.time_stamp +0 -0
  541. data/locale/fr/katello.po.time_stamp +0 -0
  542. data/locale/gl/katello.po.time_stamp +0 -0
  543. data/locale/gu/katello.po.time_stamp +0 -0
  544. data/locale/he_IL/katello.po.time_stamp +0 -0
  545. data/locale/hi/katello.po.time_stamp +0 -0
  546. data/locale/id/katello.po.time_stamp +0 -0
  547. data/locale/it/katello.po.time_stamp +0 -0
  548. data/locale/ja/katello.po.time_stamp +0 -0
  549. data/locale/ka/katello.po.time_stamp +0 -0
  550. data/locale/kn/katello.po.time_stamp +0 -0
  551. data/locale/ko/katello.po.time_stamp +0 -0
  552. data/locale/ml_IN/katello.po.time_stamp +0 -0
  553. data/locale/mr/katello.po.time_stamp +0 -0
  554. data/locale/nl_NL/katello.po.time_stamp +0 -0
  555. data/locale/or/katello.po.time_stamp +0 -0
  556. data/locale/pa/katello.po.time_stamp +0 -0
  557. data/locale/pl/katello.po.time_stamp +0 -0
  558. data/locale/pl_PL/katello.po.time_stamp +0 -0
  559. data/locale/pt/katello.po.time_stamp +0 -0
  560. data/locale/pt_BR/katello.po.time_stamp +0 -0
  561. data/locale/ro/katello.po.time_stamp +0 -0
  562. data/locale/ro_RO/katello.po.time_stamp +0 -0
  563. data/locale/ru/katello.po.time_stamp +0 -0
  564. data/locale/sl/katello.po.time_stamp +0 -0
  565. data/locale/sv_SE/katello.po.time_stamp +0 -0
  566. data/locale/ta/katello.po.time_stamp +0 -0
  567. data/locale/ta_IN/katello.po.time_stamp +0 -0
  568. data/locale/te/katello.po.time_stamp +0 -0
  569. data/locale/tr/katello.po.time_stamp +0 -0
  570. data/locale/vi/katello.po.time_stamp +0 -0
  571. data/locale/vi_VN/katello.po.time_stamp +0 -0
  572. data/locale/zh/katello.po.time_stamp +0 -0
  573. data/locale/zh_CN/katello.po.time_stamp +0 -0
  574. data/locale/zh_TW/katello.po.time_stamp +0 -0
  575. data/webpack/components/Content/Details/ContentDetailInfo.js +0 -33
  576. data/webpack/components/Content/Details/ContentDetailRepositories.js +0 -19
  577. data/webpack/components/Content/Details/ContentDetailRepositoryTableSchema.js +0 -40
  578. data/webpack/components/Content/Details/ContentDetails.js +0 -73
  579. data/webpack/components/Content/Details/__tests__/ContentDetailInfo.test.js +0 -26
  580. data/webpack/components/Content/Details/__tests__/ContentDetailRepositories.test.js +0 -20
  581. data/webpack/components/Content/Details/__tests__/ContentDetails.test.js +0 -62
  582. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetailInfo.test.js.snap +0 -40
  583. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetailRepositories.test.js.snap +0 -64
  584. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +0 -143
  585. data/webpack/components/Content/__tests__/__snapshots__/ContentTable.test.js.snap +0 -33
  586. data/webpack/components/LoadingState/__snapshots__/LoadingState.test.js.snap +0 -20
  587. data/webpack/components/OptionTooltip/__tests__/__snapshots__/OptionTooltip.test.js.snap +0 -84
  588. data/webpack/components/Select/Select.js +0 -40
  589. data/webpack/components/TooltipButton/__snapshots__/TooltipButton.test.js.snap +0 -91
  590. data/webpack/components/WithOrganization/__snapshots__/withOrganization.test.js.snap +0 -110
  591. data/webpack/components/extensions/Hosts/BulkActions/bulkModalState.js +0 -51
  592. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +0 -86
  593. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +0 -29
  594. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +0 -29
  595. data/webpack/components/pf3Table/components/__snapshots__/CollapseSubscriptionGroupButton.test.js.snap +0 -19
  596. data/webpack/components/pf3Table/components/__snapshots__/Table.test.js.snap +0 -153
  597. data/webpack/components/pf3Table/components/__snapshots__/TableBody.test.js.snap +0 -28
  598. data/webpack/components/pf3Table/components/__snapshots__/TableBodyMessage.test.js.snap +0 -13
  599. data/webpack/components/pf3Table/components/__snapshots__/TableSelectionCell.test.js.snap +0 -16
  600. data/webpack/components/pf3Table/components/__snapshots__/TableSelectionHeaderCell.test.js.snap +0 -15
  601. data/webpack/components/pf3Table/formatters/__tests__/__snapshots__/EntitlementsInlineEditFormatter.test.js.snap +0 -230
  602. data/webpack/redux/OrganizationProducts/__tests__/__snapshots__/OrganizationProductsActions.test.js.snap +0 -49
  603. data/webpack/redux/OrganizationProducts/__tests__/__snapshots__/OrganizationProductsReducer.test.js.snap +0 -36
  604. data/webpack/redux/OrganizationProducts/__tests__/__snapshots__/OrganizationProductsSelectors.test.js.snap +0 -9
  605. data/webpack/redux/OrganizationProducts/__tests__/organizationProducts.fixtures.js +0 -143
  606. data/webpack/scenes/ModuleStreams/Details/ModuleDetailsSchema.js +0 -56
  607. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +0 -92
  608. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsActions.js +0 -23
  609. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsConstants.js +0 -3
  610. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsReducer.js +0 -33
  611. data/webpack/scenes/ModuleStreams/Details/Profiles/TableSchema.js +0 -36
  612. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailInfo.test.js +0 -34
  613. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetails.test.js +0 -240
  614. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailsActions.test.js +0 -71
  615. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailsReducer.test.js +0 -56
  616. data/webpack/scenes/ModuleStreams/Details/index.js +0 -17
  617. data/webpack/scenes/ModuleStreams/ModuleStreamsActions.js +0 -29
  618. data/webpack/scenes/ModuleStreams/ModuleStreamsConstants.js +0 -3
  619. data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +0 -67
  620. data/webpack/scenes/ModuleStreams/ModuleStreamsReducer.js +0 -43
  621. data/webpack/scenes/ModuleStreams/ModuleStreamsTableSchema.js +0 -70
  622. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamPage.test.js +0 -150
  623. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsActions.test.js +0 -48
  624. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsReducer.test.js +0 -46
  625. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsTable.test.js +0 -116
  626. data/webpack/scenes/ModuleStreams/__tests__/moduleStreams.fixtures.js +0 -72
  627. data/webpack/scenes/ModuleStreams/__tests__/moduleStreams.fixtures.json +0 -93
  628. data/webpack/scenes/ModuleStreams/index.js +0 -17
  629. data/webpack/scenes/Settings/Tables/__tests__/__snapshots__/TableReducer.test.js.snap +0 -76
  630. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +0 -54
  631. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetailAssociations.test.js +0 -16
  632. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailAssociations.test.js.snap +0 -54
  633. data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskActions.test.js.snap +0 -63
  634. data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskSelectors.test.js.snap +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6906fd0237d8f131b8dd191803695f7af15dc79908dd2d1e6d3385394bedc997
4
- data.tar.gz: 20cd7a88f0eae1a31a6ba650e2d761626ebbdd70f3ebc9ae21d362c8144bdd1e
3
+ metadata.gz: bc44a74d358bd01c4bf0088fe85b06cb7c6c5e2e0626a0dab2d592aaac0f858c
4
+ data.tar.gz: 055e47f3046825b57804b84d92f2b6015e1ab8b780577676d4773d25297115a1
5
5
  SHA512:
6
- metadata.gz: c973d2b28b03b6dbfe9a3373fd57edd647974e25dc56531630809c3b14c4f3528becbf28725dd7d1b00200149870a81e1a0d45db855b69d484b4c9d967e5afeb
7
- data.tar.gz: ce0c166fef878d6a477e6f003dcda75364d95026237f695db2689bbdbbf06731d3df3ac5a0610e6ce04388cd845df2dfb44cd71c463536748be0f02896f95889
6
+ metadata.gz: d847bc7428714c264464e0eae1f6a5225c83f3cd5c5459ce5f6aeded81a572c6697b0ca943ae7a705b5aa51057ec3b205abe85288a128500de4d249af0af5c18
7
+ data.tar.gz: 2a6e87519ce952434f2808668ea96df1a05e7236debbc3d11d0e10cf3cea8e7c8a181f15b4defd8cab7923bbb8cb4c214a667ffaa8bc3750afc35a3362ae2e04
data/README.md CHANGED
@@ -3,65 +3,28 @@
3
3
  [![Build Status](https://ci.theforeman.org/buildStatus/icon?job=katello-nightly-release)](https://ci.theforeman.org/job/katello-nightly-release/)
4
4
  [![Code Climate](https://codeclimate.com/github/Katello/katello/badges/gpa.svg)](https://codeclimate.com/github/Katello/katello)
5
5
 
6
- Full documentation is at https://www.theforeman.org/plugins/katello/
7
-
8
6
  ## About
9
7
 
10
- [Katello](https://www.theforeman.org/plugins/katello/) is a systems life cycle management
11
- plugin to [Foreman](https://www.theforeman.org). Katello allows you to manage
12
- thousands of machines with one click. Katello can pull content
13
- from remote repositories into isolated environments, and make subscriptions
14
- management a breeze.
15
-
16
- Currently, it is able to handle Fedora and Red Hat Enterprise
17
- Linux based systems.
18
-
19
- ## Development
20
-
21
- The most common way to set up Katello for development is to use
22
- [forklift](https://github.com/theforeman/forklift).
23
- This will set up a virtual machine with the Katello codebase checked out.
24
- Please use the forklift documentation found in the repository for how
25
- to get started with forklift.
26
-
27
- If you have questions about or issues with deploying a development environment, feel free to ask
28
- for assistance in #theforeman-dev IRC channel on libera.chat or via the
29
- [community forum](https://community.theforeman.org/)
30
-
31
- ### Test Run
32
-
33
- At this point, the development environment should be completely setup and the Katello engine functionality available. To verify this, go to your Foreman checkout:
8
+ [Katello](https://www.theforeman.org/plugins/katello/) is a plugin for [Foreman](https://www.theforeman.org) that orchestrates content distribution and subscription management at scale across thousands of Enterprise Linux and Debian-based systems. Katello serves as an enterprise content gateway between external repositories and Foreman-managed hosts by synchronizing RPMs, container images, flatpaks, and more into versioned Content Views, promoting this content through isolated Lifecycle Environments. Katello provides Foreman hosts with first-class content, subscription, and entitlement management.
34
9
 
35
- 1. Start the development server
10
+ Full user documentation is available at https://docs.theforeman.org/release/nightly/index-katello.html. Use the selection in the upper right to select your Foreman/Katello version.
36
11
 
37
- ```bash
38
- cd $GITDIR/foreman
39
-
40
- bundle exec foreman start
41
- ```
42
-
43
- 1. Access Foreman in your browser (e.g. `https://<hostname>/`). Note that while Rails will listen on port 3000, the dev installer will set up a reverse proxy so HTTPS on port 443 will work.
44
- 1. The first time you do this, you will need to accept the self-signed certificate on port 3808 by first visiting `https://<hostname>:3808`
45
- 1. Login to Foreman (default: `admin` and `changeme`)
46
- 1. If you go to `https://<hostname>/about` and view the "Plugins" tab, you should see a "Katello" plugin listed.
12
+ ## Found a bug?
47
13
 
48
- ### Reset Development Environment
14
+ That's rather unfortunate. But don't worry; we can help! Just file a bug [in our project tracker](https://projects.theforeman.org/projects/katello).
49
15
 
50
- In order to reset the development environment, all backend data and the database needs to be reset. To reiterate, *the following will destroy all data in Pulp, Candlepin and your Foreman/Katello database*. From the Foreman checkout run:
16
+ ## Development and Contributing
51
17
 
52
- ```bash
53
- rake katello:reset
54
- ```
18
+ Katello welcomes community contributions! We typically review community pull requests within a week. All pull requests are required to reference a valid Katello issue on Foreman's [project tracker](https://projects.theforeman.org/projects/katello/issues). Please view existing PRs to get a sense of our contribution standards.
55
19
 
56
- ## Found a bug?
20
+ To set up Katello for development, we recommend using [forklift](https://github.com/theforeman/forklift) to set up a virtual machine with the Katello codebase checked out and pre-configured. Please use the forklift documentation found in the repository above for further information. Once your environment is checked out, view our [developer quick reference guide](https://github.com/Katello/katello/blob/master/developer_docs/quick_reference.md) for information on running your Katello development server.
57
21
 
58
- That's rather unfortunate. But don't worry! We can help. Just file a bug
59
- [in our project tracker](https://projects.theforeman.org/projects/katello).
22
+ Please see our [development guidelines](https://www.theforeman.org/plugins/katello/developers.html). Katello source follows the following style guidelines:
60
23
 
24
+ * [Ruby guidelines](https://theforeman.org/handbook.html#Ruby)
25
+ * [Javascript guidelines](https://theforeman.org/handbook.html#JavaScript)
61
26
 
62
- ## Contributing
63
-
64
- See the [developer documentation](https://www.theforeman.org/plugins/katello/developers).
27
+ If you have questions about or issues with deploying a development environment, feel free to ask for assistance in our [matrix channel](https://matrix.to/#/#theforeman:matrix.org) or our [community forum](https://community.theforeman.org/)
65
28
 
66
29
  ## Annotated Pulp and Candlepin Workflows and test Scenarios
67
30
 
@@ -71,11 +34,5 @@ See the [annotation docs](./test/scenarios/annotations/README.md) for more infor
71
34
 
72
35
  * [theforeman.org](https://theforeman.org/plugins/katello)
73
36
  * [Discourse Forum](https://theforeman.org/support.html#DiscourseForum)
74
- * Archived mailing lists:
75
- * [Foreman User Mailing List](https://groups.google.com/forum/?fromgroups#!forum/foreman-users)
76
- * [Foreman Developer mailing list](https://groups.google.com/forum/?fromgroups#!forum/foreman-dev)
77
-
78
- ## Documentation
79
-
80
- Most of our documentation (both for users and developers) can be found at
81
- [theforeman.org](https://www.theforeman.org/plugins/katello).
37
+ * [Support Matrix channel](https://matrix.to/#/#theforeman:matrix.org)
38
+ * [Developer Matrix channel](https://matrix.to/#/#theforeman-dev:matrix.org)
@@ -16,8 +16,10 @@ $(document).on('ContentLoad', function(){
16
16
  KT.hosts.contentSourceChanged = function() {
17
17
  $("#hostgroup_lifecycle_environment_id").val("");
18
18
  $("#host_lifecycle_environment_id").val("");
19
+ $("#hostgroup_content_view_environment_id").val("");
19
20
  KT.hosts.fetchEnvironments();
20
21
  KT.hosts.environmentChanged();
22
+ KT.hosts.refreshContentViewEnvironments();
21
23
  };
22
24
 
23
25
  KT.hosts.environmentChanged = function() {
@@ -29,6 +31,60 @@ KT.hosts.environmentChanged = function() {
29
31
  KT.hosts.toggle_installation_medium(previous_content_view);
30
32
  };
31
33
 
34
+ KT.hosts.refreshContentViewEnvironments = function() {
35
+ var select = $("#hostgroup_content_view_environment_id");
36
+ if (select.length === 0) return; // Only for hostgroups
37
+
38
+ var content_source_id = $('#content_source_id').val();
39
+ var orgIdsElem = $("#hostgroup_organization_ids");
40
+ var orgIds = orgIdsElem.val();
41
+
42
+ if (orgIds === undefined || orgIds === null || orgIds.length === 0) {
43
+ orgIds = orgIdsElem.data('useds');
44
+ }
45
+ if (orgIds === undefined || orgIds === null || orgIds.length === 0) {
46
+ return; // Can't fetch without organization
47
+ }
48
+ var orgId = Array.isArray(orgIds) ? orgIds[0] : orgIds;
49
+
50
+ var previousInheritText = select.find('option:first-child').text();
51
+ var previousValue = select.val();
52
+ select.find('option').remove();
53
+
54
+ var url = tfm.tools.foremanUrl('/katello/api/v2/content_view_environments');
55
+ var params = { organization_id: orgId, full_result: true };
56
+
57
+ if (content_source_id) {
58
+ params.content_source_id = content_source_id;
59
+ }
60
+
61
+ $.get(url, params, function(data) {
62
+ var foundPreviousValue = false;
63
+
64
+ // Add inherit option back if it was there
65
+ if (previousInheritText && (previousInheritText.includes('Inherit') || previousInheritText === '')) {
66
+ select.append($("<option />").text(previousInheritText).val(''));
67
+ }
68
+
69
+ $.each(data.results, function(index, cve) {
70
+ var label = cve.lifecycle_environment.name + ' / ' + cve.content_view.name;
71
+ var option = $("<option />").val(cve.id).text(label);
72
+ if (cve.id === parseInt(previousValue)) {
73
+ option.prop('selected', true);
74
+ foundPreviousValue = true;
75
+ }
76
+ select.append(option);
77
+ });
78
+
79
+ // If previous value not found in filtered list, select the blank/inherit option
80
+ if (!foundPreviousValue) {
81
+ select.val('');
82
+ }
83
+
84
+ select.trigger('change');
85
+ });
86
+ };
87
+
32
88
  KT.hosts.fetchEnvironments = function () {
33
89
  var select = KT.hosts.getEnvironmentSelect();
34
90
  var content_source_id = $('#content_source_id').val();