katello 4.20.1 → 4.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (593) 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 +60 -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 +367 -130
  8. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +375 -138
  9. data/app/assets/javascripts/katello/locale/de/katello.js +390 -153
  10. data/app/assets/javascripts/katello/locale/de_AT/katello.js +366 -129
  11. data/app/assets/javascripts/katello/locale/de_DE/katello.js +369 -132
  12. data/app/assets/javascripts/katello/locale/el/katello.js +368 -131
  13. data/app/assets/javascripts/katello/locale/en/katello.js +367 -130
  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 +388 -151
  17. data/app/assets/javascripts/katello/locale/et_EE/katello.js +366 -129
  18. data/app/assets/javascripts/katello/locale/fr/katello.js +395 -158
  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 +371 -134
  25. data/app/assets/javascripts/katello/locale/ja/katello.js +395 -158
  26. data/app/assets/javascripts/katello/locale/ka/katello.js +391 -154
  27. data/app/assets/javascripts/katello/locale/kn/katello.js +366 -129
  28. data/app/assets/javascripts/katello/locale/ko/katello.js +395 -158
  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 +388 -151
  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 +377 -140
  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 +395 -158
  51. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +377 -140
  52. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +2 -2
  53. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +16 -12
  54. data/app/controllers/katello/api/v2/activation_keys_controller.rb +12 -6
  55. data/app/controllers/katello/api/v2/alternate_content_sources_controller.rb +26 -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_packages_controller.rb +2 -2
  59. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -22
  60. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +34 -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 +2 -8
  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/incremental_updates.rb +5 -0
  76. data/app/lib/actions/katello/content_view/remove.rb +16 -3
  77. data/app/lib/actions/katello/content_view_environment/reassign_objects.rb +14 -0
  78. data/app/lib/actions/katello/content_view_version/import.rb +18 -7
  79. data/app/lib/actions/katello/content_view_version/incremental_update.rb +20 -15
  80. data/app/lib/actions/katello/environment/destroy.rb +1 -8
  81. data/app/lib/actions/katello/host/recalculate_errata_status.rb +1 -1
  82. data/app/lib/actions/katello/repository_set/enable_repository.rb +1 -1
  83. data/app/lib/actions/pulp3/abstract_async_task.rb +10 -2
  84. data/app/lib/actions/pulp3/orphan_cleanup/purge_completed_tasks.rb +1 -1
  85. data/app/lib/actions/pulp3/repository/delete_distributions.rb +10 -3
  86. data/app/lib/katello/concerns/base_template_scope_extensions.rb +4 -35
  87. data/app/lib/katello/resources/candlepin/activation_key.rb +0 -34
  88. data/app/lib/katello/resources/candlepin/candlepin_ping.rb +17 -3
  89. data/app/lib/katello/resources/candlepin/consumer.rb +0 -56
  90. data/app/lib/katello/resources/candlepin/pool.rb +0 -5
  91. data/app/lib/katello/resources/candlepin/upstream_consumer.rb +0 -6
  92. data/app/lib/katello/resources/cdn.rb +5 -10
  93. data/app/lib/katello/util/cve_hgcf_migrator.rb +78 -0
  94. data/app/lib/katello/util/hostgroup_facets_helper.rb +8 -3
  95. data/app/lib/katello/util/package.rb +4 -4
  96. data/app/lib/katello/util/package_filter.rb +22 -6
  97. data/app/lib/katello/util/path_with_substitutions.rb +1 -1
  98. data/app/models/katello/activation_key.rb +1 -63
  99. data/app/models/katello/alternate_content_source.rb +41 -4
  100. data/app/models/katello/authorization/repository.rb +1 -1
  101. data/app/models/katello/cdn_configuration.rb +2 -4
  102. data/app/models/katello/concerns/host_managed_extensions.rb +2 -23
  103. data/app/models/katello/concerns/hostgroup_extensions.rb +40 -9
  104. data/app/models/katello/concerns/organization_extensions.rb +1 -9
  105. data/app/models/katello/concerns/smart_proxy_extensions.rb +14 -1
  106. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -20
  107. data/app/models/katello/content_credential.rb +3 -3
  108. data/app/models/katello/content_view.rb +35 -6
  109. data/app/models/katello/content_view_environment.rb +3 -0
  110. data/app/models/katello/errata_status.rb +1 -1
  111. data/app/models/katello/glue/candlepin/activation_key.rb +0 -55
  112. data/app/models/katello/glue/candlepin/candlepin_object.rb +1 -2
  113. data/app/models/katello/glue/candlepin/owner.rb +0 -14
  114. data/app/models/katello/glue/candlepin/pool.rb +32 -141
  115. data/app/models/katello/glue/provider.rb +1 -19
  116. data/app/models/katello/host/content_facet.rb +6 -0
  117. data/app/models/katello/host/subscription_facet.rb +1 -20
  118. data/app/models/katello/host_collection.rb +2 -2
  119. data/app/models/katello/hostgroup/content_facet.rb +149 -4
  120. data/app/models/katello/kt_environment.rb +17 -4
  121. data/app/models/katello/ping.rb +1 -9
  122. data/app/models/katello/pool.rb +8 -26
  123. data/app/models/katello/root_repository.rb +0 -2
  124. data/app/models/katello/subscription.rb +0 -8
  125. data/app/models/katello/trace_status.rb +1 -1
  126. data/app/presenters/katello/sync_status_presenter.rb +16 -1
  127. data/app/services/katello/candlepin/consumer.rb +0 -92
  128. data/app/services/katello/content_view_manager.rb +52 -3
  129. data/app/services/katello/host/package_profile_uploader.rb +2 -2
  130. data/app/services/katello/host/profiles_uploader.rb +4 -1
  131. data/app/services/katello/product_content_finder.rb +2 -3
  132. data/app/services/katello/pulp3/alternate_content_source.rb +22 -2
  133. data/app/services/katello/pulp3/api/apt.rb +8 -0
  134. data/app/services/katello/pulp3/content_view_version/export.rb +13 -3
  135. data/app/services/katello/pulp3/repository/generic.rb +2 -1
  136. data/app/services/katello/pulp3/repository.rb +23 -19
  137. data/app/services/katello/pulp3/repository_mirror.rb +104 -11
  138. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +22 -7
  139. data/app/services/katello/pulp3/smart_proxy_repository.rb +39 -17
  140. data/app/services/katello/registration_manager.rb +21 -22
  141. data/app/services/katello/repository_type.rb +2 -2
  142. data/app/views/katello/api/v2/activation_keys/base.json.rabl +0 -4
  143. data/app/views/katello/api/v2/alternate_content_sources/base.json.rabl +1 -1
  144. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +10 -1
  145. data/app/views/katello/api/v2/content_views/base.json.rabl +5 -0
  146. data/app/views/katello/api/v2/organizations/show.json.rabl +0 -4
  147. data/app/views/katello/api/v2/subscription_facet/show.json.rabl +0 -4
  148. data/app/views/katello/api/v2/subscriptions/base.json.rabl +3 -1
  149. data/app/views/katello/api/v2/subscriptions/index.json.rabl +0 -2
  150. data/app/views/katello/api/v2/subscriptions/show.json.rabl +0 -24
  151. data/app/views/katello/api/v2/sync_status/index.json.rabl +9 -0
  152. data/app/views/katello/api/v2/sync_status/poll.json.rabl +5 -0
  153. data/app/views/katello/api/v2/sync_status/sync.json.rabl +5 -0
  154. data/app/views/katello/hosts/_errata_counts.html.erb +2 -2
  155. data/app/views/overrides/activation_keys/_host_environment_select.html.erb +33 -24
  156. data/config/initializers/inflections.rb +0 -1
  157. data/config/initializers/monkeys.rb +2 -0
  158. data/config/routes/api/v2.rb +7 -20
  159. data/config/routes.rb +5 -10
  160. data/db/migrate/20251110000001_add_deb_fields_to_acs.rb +7 -0
  161. data/db/migrate/20260126190728_drop_katello_subscription_facet_pools_and_pool_activation_keys.katello.rb +35 -0
  162. data/db/migrate/20260225015710_remove_katello_compliance_reasons.katello.rb +20 -0
  163. data/db/migrate/20260301205720_add_fields_to_katello_pool.katello.rb +21 -0
  164. data/db/migrate/20260402151630_add_content_view_environment_to_hostgroup_content_facet.rb +366 -0
  165. data/db/migrate/20260423131700_remove_uuid_from_content_facets.rb +24 -0
  166. data/db/migrate/20260522000000_add_content_facet_id_indexes.rb +15 -0
  167. data/db/seeds.d/109-katello-notification-blueprints.rb +0 -24
  168. data/db/seeds.d/111-upgrade_tasks.rb +2 -1
  169. data/engines/bastion/app/assets/javascripts/bastion/i18n/bastion.pot +4 -10
  170. data/engines/bastion/app/views/bastion/layouts/assets.html.erb +0 -1
  171. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-key.factory.js +0 -3
  172. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.routes.js +0 -24
  173. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +2 -18
  174. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +0 -2
  175. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +0 -3
  176. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +0 -7
  177. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +0 -4
  178. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +0 -1
  179. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +0 -3
  180. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +21 -9
  181. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-host-bulk-module-streams-modal.html +1 -1
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-modal-helper.service.js +0 -11
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-module-streams.html +1 -1
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-packages.html +2 -2
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-details.controller.js +2 -10
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-info.html +0 -6
  187. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +0 -3
  188. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host.factory.js +1 -1
  189. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +8 -188
  190. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +4 -3
  191. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +1 -1
  192. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/module-streams/views/partials/module-streams-table.html +1 -1
  193. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +0 -1
  194. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +4 -0
  195. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +1 -3
  196. data/lib/katello/engine.rb +0 -26
  197. data/lib/katello/permission_creator.rb +2 -3
  198. data/lib/katello/plugin.rb +15 -5
  199. data/lib/katello/repository_types/python.rb +3 -0
  200. data/lib/katello/repository_types/yum.rb +2 -1
  201. data/lib/katello/tasks/reimport.rake +0 -5
  202. data/lib/katello/tasks/upgrades/4.20/clean_cve_with_no_cvv.rake +23 -0
  203. data/lib/katello/tasks/upgrades/4.21/cleanup_python_publications.rake +183 -0
  204. data/lib/katello/tasks/upgrades/4.21/import_pools.rake +10 -0
  205. data/lib/katello/version.rb +1 -1
  206. data/lib/monkeys/pulp_polymorphic_remote_response.rb +44 -40
  207. data/lib/monkeys/python_remote_provenance.rb +161 -0
  208. data/lib/monkeys/remove_hidden_distribution.rb +4 -0
  209. data/lib/monkeys/remove_overwrite_parameter.rb +19 -0
  210. data/locale/action_names.rb +2 -1
  211. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  212. data/locale/bn/katello.po +366 -129
  213. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  214. data/locale/bn_IN/katello.po +366 -129
  215. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  216. data/locale/ca/katello.po +368 -131
  217. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  218. data/locale/cs/katello.po +367 -130
  219. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  220. data/locale/cs_CZ/katello.po +376 -139
  221. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  222. data/locale/de/katello.po +394 -157
  223. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  224. data/locale/de_AT/katello.po +366 -129
  225. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  226. data/locale/de_DE/katello.po +370 -132
  227. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  228. data/locale/el/katello.po +368 -131
  229. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  230. data/locale/en/katello.po +367 -130
  231. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  232. data/locale/en_GB/katello.po +366 -129
  233. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  234. data/locale/en_US/katello.po +366 -129
  235. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  236. data/locale/es/katello.po +390 -153
  237. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  238. data/locale/et_EE/katello.po +366 -129
  239. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  240. data/locale/fr/katello.po +398 -161
  241. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  242. data/locale/gl/katello.po +368 -131
  243. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  244. data/locale/gu/katello.po +368 -131
  245. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  246. data/locale/he_IL/katello.po +366 -129
  247. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  248. data/locale/hi/katello.po +366 -129
  249. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  250. data/locale/id/katello.po +368 -131
  251. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  252. data/locale/it/katello.po +373 -135
  253. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  254. data/locale/ja/katello.po +398 -160
  255. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  256. data/locale/ka/katello.po +391 -154
  257. data/locale/katello.pot +2077 -1640
  258. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  259. data/locale/kn/katello.po +366 -129
  260. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  261. data/locale/ko/katello.po +400 -162
  262. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  263. data/locale/ml_IN/katello.po +366 -129
  264. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  265. data/locale/mr/katello.po +366 -129
  266. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  267. data/locale/nl_NL/katello.po +368 -131
  268. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  269. data/locale/or/katello.po +366 -129
  270. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  271. data/locale/pa/katello.po +366 -129
  272. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  273. data/locale/pl/katello.po +368 -131
  274. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  275. data/locale/pl_PL/katello.po +366 -129
  276. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  277. data/locale/pt/katello.po +366 -129
  278. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  279. data/locale/pt_BR/katello.po +390 -153
  280. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  281. data/locale/ro/katello.po +366 -129
  282. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  283. data/locale/ro_RO/katello.po +366 -129
  284. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  285. data/locale/ru/katello.po +379 -142
  286. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  287. data/locale/sl/katello.po +368 -131
  288. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  289. data/locale/sv_SE/katello.po +369 -132
  290. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  291. data/locale/ta/katello.po +366 -129
  292. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  293. data/locale/ta_IN/katello.po +366 -129
  294. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  295. data/locale/te/katello.po +366 -129
  296. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  297. data/locale/tr/katello.po +366 -129
  298. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  299. data/locale/vi/katello.po +366 -129
  300. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  301. data/locale/vi_VN/katello.po +366 -129
  302. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  303. data/locale/zh/katello.po +366 -129
  304. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  305. data/locale/zh_CN/katello.po +398 -161
  306. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  307. data/locale/zh_TW/katello.po +378 -141
  308. data/webpack/ForemanColumnExtensions/index.js +17 -12
  309. data/webpack/components/ActionableDetail.js +11 -1
  310. data/webpack/components/ActivationKeysSearch/ActivationKeysSearch.test.js +14 -17
  311. data/webpack/components/ActivationKeysSearch/index.js +107 -61
  312. data/webpack/components/Content/__tests__/ContentTable.test.js +135 -26
  313. data/webpack/components/EditableTextInput/EditableTextInput.js +4 -2
  314. data/webpack/components/LoadingState/LoadingState.js +7 -1
  315. data/webpack/components/LoadingState/LoadingState.test.js +41 -21
  316. data/webpack/components/OptionTooltip/__tests__/OptionTooltip.test.js +47 -29
  317. data/webpack/components/RoutedTabs/RoutedTabs.scss +21 -0
  318. data/webpack/components/RoutedTabs/index.js +11 -3
  319. data/webpack/components/SelectOrg/SelectOrg.scss +12 -2
  320. data/webpack/components/SelectOrg/SetOrganization.js +92 -102
  321. data/webpack/components/SelectOrg/__tests__/SetOrganization.test.js +131 -0
  322. data/webpack/components/TooltipButton/TooltipButton.test.js +52 -33
  323. data/webpack/components/WithOrganization/withOrganization.test.js +22 -15
  324. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/AssignHostCVModal.js +2 -24
  325. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/OrderableAssignments.js +18 -28
  326. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/AssignHostCVModal.test.js +90 -33
  327. data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +1 -1
  328. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +0 -1
  329. data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +1 -1
  330. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +0 -2
  331. data/webpack/components/extensions/Hosts/ActionsBar/index.js +1 -1
  332. data/webpack/components/extensions/Hosts/BulkActions/BulkAssignCVEnvsModal/BulkAssignCVEnvsModal.js +2 -14
  333. data/webpack/components/extensions/Hosts/BulkActions/BulkAssignCVEnvsModal/index.js +1 -1
  334. data/webpack/components/extensions/Hosts/BulkActions/BulkChangeHostCollectionsModal/index.js +1 -1
  335. data/webpack/components/extensions/Hosts/BulkActions/BulkErrataWizard/index.js +1 -1
  336. data/webpack/components/extensions/Hosts/BulkActions/BulkManageTracesModal/index.js +1 -1
  337. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/BulkPackagesWizard.js +1 -1
  338. data/webpack/components/extensions/Hosts/BulkActions/BulkPackagesWizard/index.js +1 -1
  339. data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/01_BulkRepositorySetsTable.js +2 -2
  340. data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/BulkRepositorySetsWizard.js +1 -1
  341. data/webpack/components/extensions/Hosts/BulkActions/BulkRepositorySetsWizard/index.js +1 -1
  342. data/webpack/components/extensions/Hosts/BulkActions/BulkSystemPurposeModal/index.js +1 -1
  343. data/webpack/components/extensions/RegistrationCommands/__tests__/ActivationKeys.test.js +146 -9
  344. data/webpack/components/extensions/RegistrationCommands/__tests__/Force.test.js +52 -6
  345. data/webpack/components/extensions/RegistrationCommands/__tests__/IgnoreSubmanErrors.test.js +52 -6
  346. data/webpack/components/pf3Table/components/CollapseSubscriptionGroupButton.test.js +33 -13
  347. data/webpack/components/pf3Table/components/Table.test.js +102 -25
  348. data/webpack/components/pf3Table/components/TableBody.test.js +52 -14
  349. data/webpack/components/pf3Table/components/TableBodyMessage.test.js +14 -9
  350. data/webpack/components/pf3Table/components/TableSelectionCell.test.js +67 -13
  351. data/webpack/components/pf3Table/components/TableSelectionHeaderCell.test.js +67 -11
  352. data/webpack/components/pf3Table/formatters/EntitlementsInlineEditFormatter.js +4 -4
  353. data/webpack/components/pf3Table/formatters/__tests__/EntitlementsInlineEditFormatter.test.js +53 -46
  354. data/webpack/components/pf3Table/formatters/entitlementsValueFormatter.js +3 -3
  355. data/webpack/containers/Application/config.js +15 -10
  356. data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsActions.test.js +74 -36
  357. data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsReducer.test.js +74 -21
  358. data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsSelectors.test.js +81 -13
  359. data/webpack/redux/OrganizationProducts/__tests__/organizationProducts.fixtures.json +138 -0
  360. data/webpack/redux/actions/RedHatRepositories/helpers.js +2 -0
  361. data/webpack/redux/reducers/index.js +0 -4
  362. data/webpack/scenes/ActivationKeys/Details/components/__tests__/AssignAKCVModal.test.js +1 -1
  363. data/webpack/scenes/ActivationKeys/Details/hooks/useAssignmentManagement.js +3 -25
  364. data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +16 -2
  365. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCreateFinish.js +28 -3
  366. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSReview.js +25 -5
  367. data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +92 -28
  368. data/webpack/scenes/AlternateContentSources/Create/Steps/SelectSource.js +1 -0
  369. data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreateDeb.test.js +133 -0
  370. data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +50 -10
  371. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +115 -35
  372. data/webpack/scenes/AlternateContentSources/helpers.js +10 -0
  373. data/webpack/scenes/Content/ContentActions.js +12 -3
  374. data/webpack/scenes/Content/ContentConfig.js +85 -0
  375. data/webpack/scenes/ContentCredentials/ContentCredentialConstants.js +1 -0
  376. data/webpack/scenes/ContentCredentials/ContentCredentialsPage.js +116 -0
  377. data/webpack/scenes/ContentCredentials/Details/AlternateContentSourcesTab.js +127 -0
  378. data/webpack/scenes/ContentCredentials/Details/ContentCredentialsDetails.js +232 -0
  379. data/webpack/scenes/ContentCredentials/Details/ContentCredentialsDetailsActions.js +93 -0
  380. data/webpack/scenes/ContentCredentials/Details/ContentCredentialsDetailsSelectors.js +17 -0
  381. data/webpack/scenes/ContentCredentials/Details/DetailsTab.js +237 -0
  382. data/webpack/scenes/ContentCredentials/Details/ProductsTab.js +133 -0
  383. data/webpack/scenes/ContentCredentials/Details/RepositoriesTab.js +173 -0
  384. data/webpack/scenes/ContentCredentials/Details/__tests__/AlternateContentSourcesTab.test.js +70 -0
  385. data/webpack/scenes/ContentCredentials/Details/__tests__/ContentCredentialsDetails.test.js +474 -0
  386. data/webpack/scenes/ContentCredentials/Details/__tests__/DetailsTab.test.js +493 -0
  387. data/webpack/scenes/ContentCredentials/Details/__tests__/ProductsTab.test.js +85 -0
  388. data/webpack/scenes/ContentCredentials/Details/__tests__/RepositoriesTab.test.js +105 -0
  389. data/webpack/scenes/ContentCredentials/Details/index.js +7 -0
  390. data/webpack/scenes/ContentCredentials/__tests__/ContentCredentialsPage.test.js +180 -0
  391. data/webpack/scenes/ContentCredentials/__tests__/contentCredentialsList.fixtures.json +81 -0
  392. data/webpack/scenes/ContentCredentials/index.js +5 -0
  393. data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +29 -6
  394. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionFinish.js +55 -33
  395. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReassignHostgroupsForm.js +133 -0
  396. data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionReview.js +49 -4
  397. data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +2 -2
  398. data/webpack/scenes/ContentViews/Delete/__tests__/cvDetails.fixtures.json +3 -1
  399. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +36 -3
  400. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteContextWrapper.js +6 -0
  401. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteHelpers.js +4 -0
  402. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +22 -0
  403. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/FinishBulkDelete.js +35 -13
  404. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHostgroups.js +173 -0
  405. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/BulkDeleteModal.test.js +153 -10
  406. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/contentViewVersion.fixtures.json +3 -1
  407. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/contentViewVersionWithoutHostgroups.fixtures.json +941 -0
  408. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/cvDetails.fixtures.json +25 -0
  409. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/cvEnvironments.fixtures.json +15 -0
  410. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/bulkDeleteSteps.js +14 -0
  411. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +0 -37
  412. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +35 -5
  413. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVEnvironmentSelectionForm.js +10 -3
  414. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostgroupsForm.js +149 -0
  415. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionDeleteFinish.js +59 -37
  416. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +43 -3
  417. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHostgroups.js +62 -0
  418. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +1 -1
  419. data/webpack/scenes/Hosts/ChangeContentSource/actions.js +8 -4
  420. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +46 -104
  421. data/webpack/scenes/Hosts/ChangeContentSource/components/Hosts.js +2 -2
  422. data/webpack/scenes/Hosts/ChangeContentSource/components/MultiCVEnvForm.js +90 -0
  423. data/webpack/scenes/Hosts/ChangeContentSource/index.js +23 -32
  424. data/webpack/scenes/Hosts/ChangeContentSource/styles.scss +14 -1
  425. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailArtifacts.js +38 -12
  426. data/webpack/scenes/ModuleStreams/Details/Profiles/ModuleStreamDetailProfiles.js +54 -13
  427. data/webpack/scenes/ModuleStreams/Details/Profiles/ProfileRpmsCellFormatter.js +18 -11
  428. data/webpack/scenes/ModuleStreams/Details/Profiles/__tests__/ModuleStreamDetailProfiles.test.js +41 -11
  429. data/webpack/scenes/ModuleStreams/Details/Profiles/__tests__/ProfileRpmsCellFormatter.test.js +68 -24
  430. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailArtifacts.test.js +44 -9
  431. data/webpack/scenes/Settings/Tables/__tests__/TableReducer.test.js +49 -29
  432. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +52 -5
  433. data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +1 -0
  434. data/webpack/scenes/Subscriptions/Details/SubscriptionAttributes.js +0 -1
  435. data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +0 -4
  436. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetails.test.js +0 -2
  437. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +0 -10
  438. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +0 -138
  439. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +0 -2
  440. data/webpack/scenes/Subscriptions/Manifest/DeleteManifestModalText.js +5 -37
  441. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +1 -4
  442. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss +0 -9
  443. data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +0 -59
  444. data/webpack/scenes/Subscriptions/Manifest/ManifestConstants.js +0 -12
  445. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +0 -50
  446. data/webpack/scenes/Subscriptions/Manifest/__tests__/manifest.fixtures.js +0 -36
  447. data/webpack/scenes/Subscriptions/SubscriptionActions.js +10 -5
  448. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +0 -7
  449. data/webpack/scenes/Subscriptions/SubscriptionHelpers.js +1 -2
  450. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +0 -15
  451. data/webpack/scenes/Subscriptions/__tests__/SubscriptionHelpers.test.js +0 -16
  452. data/webpack/scenes/Subscriptions/__tests__/SubscriptionValidations.test.js +5 -6
  453. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +1 -3
  454. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionHelpers.test.js.snap +0 -4
  455. data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +2 -21
  456. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +1 -1
  457. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +6 -7
  458. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +1 -11
  459. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.fixtures.js +0 -11
  460. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +1 -1
  461. data/webpack/scenes/SyncStatus/SyncStatus.scss +32 -0
  462. data/webpack/scenes/SyncStatus/SyncStatusActions.js +69 -0
  463. data/webpack/scenes/SyncStatus/SyncStatusConstants.js +24 -0
  464. data/webpack/scenes/SyncStatus/SyncStatusPage.js +384 -0
  465. data/webpack/scenes/SyncStatus/SyncStatusSelectors.js +43 -0
  466. data/webpack/scenes/SyncStatus/__tests__/SyncStatusPage.test.js +110 -0
  467. data/webpack/scenes/SyncStatus/components/SyncProgressCell.js +55 -0
  468. data/webpack/scenes/SyncStatus/components/SyncResultCell.js +102 -0
  469. data/webpack/scenes/SyncStatus/components/SyncStatusTable.js +378 -0
  470. data/webpack/scenes/SyncStatus/components/SyncStatusToolbar.js +68 -0
  471. data/webpack/scenes/SyncStatus/components/TreeSelectAllCheckbox.js +118 -0
  472. data/webpack/scenes/SyncStatus/components/__tests__/SyncProgressCell.test.js +51 -0
  473. data/webpack/scenes/SyncStatus/components/__tests__/SyncResultCell.test.js +49 -0
  474. data/webpack/scenes/SyncStatus/components/__tests__/SyncStatusTable.test.js +179 -0
  475. data/webpack/scenes/SyncStatus/components/__tests__/SyncStatusToolbar.test.js +65 -0
  476. data/webpack/scenes/SyncStatus/components/__tests__/TreeSelectAllCheckbox.test.js +93 -0
  477. data/webpack/scenes/SyncStatus/index.js +1 -0
  478. data/webpack/scenes/Tasks/__tests__/TaskActions.test.js +46 -8
  479. data/webpack/scenes/Tasks/__tests__/TaskSelectors.test.js +16 -8
  480. data/webpack/utils/contentViewEnvironmentLabel.js +45 -0
  481. metadata +108 -186
  482. data/app/controllers/katello/api/v2/simple_content_access_controller.rb +0 -29
  483. data/app/controllers/katello/sync_management_controller.rb +0 -84
  484. data/app/lib/actions/candlepin/consumer/attach_subscription.rb +0 -17
  485. data/app/lib/actions/candlepin/consumer/auto_attach_subscriptions.rb +0 -15
  486. data/app/lib/actions/candlepin/consumer/remove_subscription.rb +0 -22
  487. data/app/lib/actions/pulp3/orphan_cleanup/delete_orphaned_migrated_repositories.rb +0 -15
  488. data/app/lib/katello/messaging/connection.rb +0 -9
  489. data/app/lib/katello/messaging/received_message.rb +0 -12
  490. data/app/lib/katello/messaging/stomp_connection.rb +0 -73
  491. data/app/lib/katello/resources/candlepin/entitlement.rb +0 -22
  492. data/app/models/katello/compliance_reason.rb +0 -5
  493. data/app/models/katello/events/delete_latest_content_view_version.rb +0 -40
  494. data/app/models/katello/events/delete_pool.rb +0 -19
  495. data/app/models/katello/events/import_pool.rb +0 -17
  496. data/app/models/katello/pool_activation_key.rb +0 -6
  497. data/app/models/katello/subscription_facet_pool.rb +0 -8
  498. data/app/presenters/katello/activation_key_subscriptions_presenter.rb +0 -10
  499. data/app/presenters/katello/host_subscription_presenter.rb +0 -10
  500. data/app/presenters/katello/host_subscriptions_presenter.rb +0 -24
  501. data/app/services/katello/candlepin/event_handler.rb +0 -27
  502. data/app/services/katello/candlepin/message_handler.rb +0 -73
  503. data/app/services/katello/candlepin_event_listener.rb +0 -61
  504. data/app/services/katello/ui_notifications/content_view/delete_latest_version_failure.rb +0 -22
  505. data/app/services/katello/ui_notifications/subscriptions/sca_disable_error.rb +0 -13
  506. data/app/services/katello/ui_notifications/subscriptions/sca_disable_success.rb +0 -13
  507. data/app/services/katello/ui_notifications/subscriptions/sca_enable_error.rb +0 -13
  508. data/app/services/katello/ui_notifications/subscriptions/sca_enable_success.rb +0 -13
  509. data/app/views/katello/api/v2/activation_keys/subscriptions.json.rabl +0 -8
  510. data/app/views/katello/api/v2/host_subscriptions/events.json.rabl +0 -7
  511. data/app/views/katello/api/v2/host_subscriptions/index.json.rabl +0 -8
  512. data/app/views/katello/api/v2/subscriptions/organization_index.json.rabl +0 -10
  513. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +0 -80
  514. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +0 -65
  515. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html +0 -26
  516. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions-list.html +0 -25
  517. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html +0 -48
  518. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/subscription-add-or-remove.html +0 -50
  519. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +0 -89
  520. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +0 -126
  521. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-subscription.factory.js +0 -24
  522. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-start-date.directive.js +0 -21
  523. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-type.directive.js +0 -16
  524. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptionConsumed.filter.js +0 -21
  525. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions-helper.service.js +0 -72
  526. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.factory.js +0 -38
  527. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.module.js +0 -17
  528. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +0 -2
  529. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-type.html +0 -18
  530. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/host_subscriptions.scss +0 -14
  531. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/subscriptions.scss +0 -3
  532. data/lib/katello/tasks/unify_hosts.rake +0 -151
  533. data/lib/katello/tasks/upgrades/4.1/fix_invalid_pools.rake +0 -62
  534. data/webpack/components/Content/Details/ContentDetailInfo.js +0 -33
  535. data/webpack/components/Content/Details/ContentDetailRepositories.js +0 -19
  536. data/webpack/components/Content/Details/ContentDetailRepositoryTableSchema.js +0 -40
  537. data/webpack/components/Content/Details/ContentDetails.js +0 -73
  538. data/webpack/components/Content/Details/__tests__/ContentDetailInfo.test.js +0 -26
  539. data/webpack/components/Content/Details/__tests__/ContentDetailRepositories.test.js +0 -20
  540. data/webpack/components/Content/Details/__tests__/ContentDetails.test.js +0 -62
  541. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetailInfo.test.js.snap +0 -40
  542. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetailRepositories.test.js.snap +0 -64
  543. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +0 -143
  544. data/webpack/components/Content/__tests__/__snapshots__/ContentTable.test.js.snap +0 -33
  545. data/webpack/components/LoadingState/__snapshots__/LoadingState.test.js.snap +0 -20
  546. data/webpack/components/OptionTooltip/__tests__/__snapshots__/OptionTooltip.test.js.snap +0 -84
  547. data/webpack/components/Select/Select.js +0 -40
  548. data/webpack/components/TooltipButton/__snapshots__/TooltipButton.test.js.snap +0 -91
  549. data/webpack/components/WithOrganization/__snapshots__/withOrganization.test.js.snap +0 -110
  550. data/webpack/components/extensions/Hosts/BulkActions/bulkModalState.js +0 -51
  551. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +0 -86
  552. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +0 -29
  553. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +0 -29
  554. data/webpack/components/pf3Table/components/__snapshots__/CollapseSubscriptionGroupButton.test.js.snap +0 -19
  555. data/webpack/components/pf3Table/components/__snapshots__/Table.test.js.snap +0 -153
  556. data/webpack/components/pf3Table/components/__snapshots__/TableBody.test.js.snap +0 -28
  557. data/webpack/components/pf3Table/components/__snapshots__/TableBodyMessage.test.js.snap +0 -13
  558. data/webpack/components/pf3Table/components/__snapshots__/TableSelectionCell.test.js.snap +0 -16
  559. data/webpack/components/pf3Table/components/__snapshots__/TableSelectionHeaderCell.test.js.snap +0 -15
  560. data/webpack/components/pf3Table/formatters/__tests__/__snapshots__/EntitlementsInlineEditFormatter.test.js.snap +0 -230
  561. data/webpack/redux/OrganizationProducts/__tests__/__snapshots__/OrganizationProductsActions.test.js.snap +0 -49
  562. data/webpack/redux/OrganizationProducts/__tests__/__snapshots__/OrganizationProductsReducer.test.js.snap +0 -36
  563. data/webpack/redux/OrganizationProducts/__tests__/__snapshots__/OrganizationProductsSelectors.test.js.snap +0 -9
  564. data/webpack/redux/OrganizationProducts/__tests__/organizationProducts.fixtures.js +0 -143
  565. data/webpack/scenes/ModuleStreams/Details/ModuleDetailsSchema.js +0 -56
  566. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +0 -92
  567. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsActions.js +0 -23
  568. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsConstants.js +0 -3
  569. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsReducer.js +0 -33
  570. data/webpack/scenes/ModuleStreams/Details/Profiles/TableSchema.js +0 -36
  571. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailInfo.test.js +0 -34
  572. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetails.test.js +0 -240
  573. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailsActions.test.js +0 -71
  574. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailsReducer.test.js +0 -56
  575. data/webpack/scenes/ModuleStreams/Details/index.js +0 -17
  576. data/webpack/scenes/ModuleStreams/ModuleStreamsActions.js +0 -29
  577. data/webpack/scenes/ModuleStreams/ModuleStreamsConstants.js +0 -3
  578. data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +0 -67
  579. data/webpack/scenes/ModuleStreams/ModuleStreamsReducer.js +0 -43
  580. data/webpack/scenes/ModuleStreams/ModuleStreamsTableSchema.js +0 -70
  581. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamPage.test.js +0 -150
  582. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsActions.test.js +0 -48
  583. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsReducer.test.js +0 -46
  584. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsTable.test.js +0 -116
  585. data/webpack/scenes/ModuleStreams/__tests__/moduleStreams.fixtures.js +0 -72
  586. data/webpack/scenes/ModuleStreams/__tests__/moduleStreams.fixtures.json +0 -93
  587. data/webpack/scenes/ModuleStreams/index.js +0 -17
  588. data/webpack/scenes/Settings/Tables/__tests__/__snapshots__/TableReducer.test.js.snap +0 -76
  589. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailAssociations.js +0 -54
  590. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetailAssociations.test.js +0 -16
  591. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailAssociations.test.js.snap +0 -54
  592. data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskActions.test.js.snap +0 -63
  593. 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: 752107902c268ac7230e4ba7c967a1f273c871559b80dd30ff622337d2cb2f56
4
- data.tar.gz: 514cbd47032ce0940e1246d2cd5b23f290958289858241bfc1e2bff9caa3928f
3
+ metadata.gz: 23e2cf264ba222f2af07e0bcdd01019a13054ea2053c67d081edfb9cb97398bc
4
+ data.tar.gz: 64a571f7ea6d713ce72e3edcacf20abee4a02e7946abb74b731bfff99e5b350b
5
5
  SHA512:
6
- metadata.gz: ec64a4c18b636df115542a86fa8874c9db757bde3fac4084f23b8ff0aac7baa51fcaf79d88cd684d5c83862e229f743aca63d5d033b9bec9fef7a762743948af
7
- data.tar.gz: 6430af999d6bfb5478fab680b5ece3986c12841da4fedb5d7cbce05fd381d6ed96b58b71d89a3df59d436a4d88629faeef4afc18ddd39c4869280028d1890a00
6
+ metadata.gz: e909b1ae27c0558c779eb140839796aee19a8359d17bab5341a265da167f4853595c1fab9d18611c026eff50ae9baafaf271b4891f1d8a3443bdd5d690f90cb3
7
+ data.tar.gz: dab73162e6da9c11b55212f045150aac401b0f71935f0f69be749151547121f9d952cfe2458a80badeae971ffb494d93f32a911206897c95445e8c730fd32e17
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,64 @@ 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 inheritOption = select.find('option:first-child');
51
+ var previousInheritText = inheritOption.text();
52
+ var previousInheritDataId = inheritOption.attr('data-id');
53
+ var previousValue = select.val();
54
+ select.find('option').remove();
55
+
56
+ var url = tfm.tools.foremanUrl('/katello/api/v2/content_view_environments');
57
+ var params = { organization_id: orgId, full_result: true };
58
+
59
+ if (content_source_id) {
60
+ params.content_source_id = content_source_id;
61
+ }
62
+
63
+ $.get(url, params, function(data) {
64
+ var foundPreviousValue = false;
65
+
66
+ // Add inherit option back if it was there
67
+ if (previousInheritText && (previousInheritText.includes('Inherit') || previousInheritText === '')) {
68
+ var inheritOpt = $("<option />").text(previousInheritText).val('');
69
+ if (previousInheritDataId) inheritOpt.attr('data-id', previousInheritDataId);
70
+ select.append(inheritOpt);
71
+ }
72
+
73
+ $.each(data.results, function(index, cve) {
74
+ var label = cve.lifecycle_environment.name + ' / ' + cve.content_view.name;
75
+ var option = $("<option />").val(cve.id).text(label);
76
+ if (cve.id === parseInt(previousValue)) {
77
+ option.prop('selected', true);
78
+ foundPreviousValue = true;
79
+ }
80
+ select.append(option);
81
+ });
82
+
83
+ // If previous value not found in filtered list, select the blank/inherit option
84
+ if (!foundPreviousValue) {
85
+ select.val('');
86
+ }
87
+
88
+ select.trigger('change');
89
+ });
90
+ };
91
+
32
92
  KT.hosts.fetchEnvironments = function () {
33
93
  var select = KT.hosts.getEnvironmentSelect();
34
94
  var content_source_id = $('#content_source_id').val();