katello 4.0.3 → 4.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (563) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +0 -33
  3. data/app/assets/stylesheets/katello/contents.scss +1 -1
  4. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +5 -11
  5. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -9
  6. data/app/controllers/katello/api/v2/activation_keys_controller.rb +10 -24
  7. data/app/controllers/katello/api/v2/api_controller.rb +15 -3
  8. data/app/controllers/katello/api/v2/content_credentials_controller.rb +1 -1
  9. data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +1 -8
  10. data/app/controllers/katello/api/v2/content_exports_controller.rb +1 -14
  11. data/app/controllers/katello/api/v2/content_imports_controller.rb +38 -15
  12. data/app/controllers/katello/api/v2/content_uploads_controller.rb +1 -1
  13. data/app/controllers/katello/api/v2/content_view_components_controller.rb +22 -1
  14. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +6 -1
  15. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +2 -59
  16. data/app/controllers/katello/api/v2/content_views_controller.rb +3 -58
  17. data/app/controllers/katello/api/v2/host_errata_controller.rb +7 -6
  18. data/app/controllers/katello/api/v2/host_packages_controller.rb +4 -4
  19. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +18 -22
  20. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +16 -16
  21. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  22. data/app/controllers/katello/api/v2/package_groups_controller.rb +4 -0
  23. data/app/controllers/katello/api/v2/repositories_controller.rb +13 -12
  24. data/app/controllers/katello/api/v2/repository_sets_controller.rb +50 -4
  25. data/app/controllers/katello/api/v2/subscriptions_controller.rb +7 -1
  26. data/app/controllers/katello/concerns/api/api_controller.rb +10 -0
  27. data/app/controllers/katello/concerns/api/v2/registration_commands_controller_extensions.rb +46 -0
  28. data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +8 -0
  29. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +31 -22
  30. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +0 -8
  31. data/app/controllers/katello/concerns/organizations_controller_extensions.rb +1 -1
  32. data/app/controllers/katello/concerns/registration_commands_controller_extensions.rb +34 -0
  33. data/app/helpers/katello/katello_urls_helper.rb +23 -0
  34. data/app/lib/actions/candlepin/owner/import.rb +10 -3
  35. data/app/lib/actions/candlepin/product/content_update.rb +1 -1
  36. data/app/lib/actions/foreman/environment/destroy.rb +2 -2
  37. data/app/lib/actions/katello/agent_action.rb +1 -6
  38. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +0 -7
  39. data/app/lib/actions/katello/capsule_content/sync.rb +1 -1
  40. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -2
  41. data/app/lib/actions/katello/content_view/add_to_environment.rb +9 -7
  42. data/app/lib/actions/katello/content_view/incremental_updates.rb +3 -10
  43. data/app/lib/actions/katello/content_view/presenters/incremental_updates_presenter.rb +2 -3
  44. data/app/lib/actions/katello/content_view/promote_to_environment.rb +1 -4
  45. data/app/lib/actions/katello/content_view/publish.rb +21 -31
  46. data/app/lib/actions/katello/content_view_environment/destroy.rb +0 -5
  47. data/app/lib/actions/katello/content_view_version/auto_create_products.rb +22 -0
  48. data/app/lib/actions/katello/content_view_version/auto_create_repositories.rb +22 -0
  49. data/app/lib/actions/katello/content_view_version/destroy.rb +0 -10
  50. data/app/lib/actions/katello/content_view_version/export.rb +20 -22
  51. data/app/lib/actions/katello/content_view_version/import.rb +27 -13
  52. data/app/lib/actions/katello/content_view_version/import_library.rb +4 -2
  53. data/app/lib/actions/katello/content_view_version/incremental_update.rb +12 -67
  54. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +0 -4
  55. data/app/lib/actions/katello/content_view_version/reset_content_view_repositories_from_metadata.rb +11 -0
  56. data/app/lib/actions/katello/foreman/content_update.rb +0 -3
  57. data/app/lib/actions/katello/host/auto_attach_subscriptions.rb +0 -4
  58. data/app/lib/actions/katello/organization/manifest_import.rb +7 -1
  59. data/app/lib/actions/katello/organization/manifest_refresh.rb +28 -7
  60. data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +2 -2
  61. data/app/lib/actions/katello/product/create.rb +0 -1
  62. data/app/lib/actions/katello/repository/check_matching_content.rb +4 -3
  63. data/app/lib/actions/katello/repository/destroy.rb +1 -1
  64. data/app/lib/actions/katello/repository/discover.rb +1 -1
  65. data/app/lib/actions/katello/repository/filtered_index_content.rb +1 -4
  66. data/app/lib/actions/katello/repository/import_upload.rb +0 -1
  67. data/app/lib/actions/katello/repository/update.rb +0 -1
  68. data/app/lib/actions/middleware/record_smart_proxy_sync_history.rb +0 -5
  69. data/app/lib/actions/pulp/repository/create.rb +1 -7
  70. data/app/lib/actions/pulp/repository/distributor_publish.rb +2 -10
  71. data/app/lib/actions/pulp/repository/sync.rb +1 -3
  72. data/app/lib/actions/pulp3/capsule_content/refresh_content_guard.rb +17 -0
  73. data/app/lib/actions/pulp3/content_guard/refresh.rb +10 -6
  74. data/app/lib/actions/pulp3/content_view_version/create_export_history.rb +57 -0
  75. data/app/lib/actions/pulp3/content_view_version/create_import_history.rb +34 -0
  76. data/app/lib/actions/pulp3/orchestration/content_view_version/copy_version_units_to_library.rb +2 -3
  77. data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +34 -51
  78. data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +2 -2
  79. data/app/lib/actions/pulp3/orchestration/content_view_version/import.rb +13 -1
  80. data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +1 -1
  81. data/app/lib/actions/pulp3/orchestration/repository/sync.rb +1 -0
  82. data/app/lib/actions/pulp3/repository/refresh_remote.rb +17 -0
  83. data/app/lib/katello/agent/client_message_handler.rb +3 -11
  84. data/app/lib/katello/concerns/base_template_scope_extensions.rb +117 -3
  85. data/app/lib/katello/errors.rb +6 -11
  86. data/app/lib/katello/event_daemon/monitor.rb +0 -1
  87. data/app/lib/katello/event_daemon/runner.rb +2 -2
  88. data/app/lib/katello/event_daemon/services/agent_event_receiver.rb +10 -6
  89. data/app/lib/katello/http_resource.rb +1 -6
  90. data/app/lib/katello/logging.rb +11 -6
  91. data/app/lib/katello/qpid/connection.rb +1 -3
  92. data/app/lib/katello/repo_discovery.rb +15 -1
  93. data/app/lib/katello/resources/candlepin/owner.rb +3 -2
  94. data/app/lib/katello/resources/candlepin/pool.rb +6 -2
  95. data/app/lib/katello/resources/candlepin.rb +10 -0
  96. data/app/lib/katello/util/package.rb +1 -1
  97. data/app/lib/katello/util/pulpcore_content_filters.rb +1 -1
  98. data/app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb +0 -6
  99. data/app/models/katello/authorization/content_view.rb +8 -0
  100. data/app/models/katello/authorization/content_view_version_import_history.rb +11 -0
  101. data/app/models/katello/concerns/content_facet_host_extensions.rb +1 -1
  102. data/app/models/katello/concerns/content_view_filter_rule_common.rb +2 -2
  103. data/app/models/katello/concerns/host_managed_extensions.rb +1 -32
  104. data/app/models/katello/concerns/hostgroup_extensions.rb +2 -9
  105. data/app/models/katello/concerns/http_proxy_extensions.rb +2 -4
  106. data/app/models/katello/concerns/location_extensions.rb +2 -25
  107. data/app/models/katello/concerns/operatingsystem_extensions.rb +0 -2
  108. data/app/models/katello/concerns/organization_extensions.rb +4 -18
  109. data/app/models/katello/concerns/redhat_extensions.rb +10 -18
  110. data/app/models/katello/concerns/smart_proxy_extensions.rb +6 -31
  111. data/app/models/katello/content_view.rb +17 -113
  112. data/app/models/katello/content_view_component.rb +5 -0
  113. data/app/models/katello/content_view_docker_filter_rule.rb +1 -0
  114. data/app/models/katello/content_view_package_filter_rule.rb +4 -0
  115. data/app/models/katello/content_view_package_group_filter.rb +1 -0
  116. data/app/models/katello/content_view_repository.rb +4 -5
  117. data/app/models/katello/content_view_version.rb +9 -33
  118. data/app/models/katello/content_view_version_export_history.rb +18 -4
  119. data/app/models/katello/content_view_version_import_history.rb +42 -0
  120. data/app/models/katello/erratum.rb +1 -1
  121. data/app/models/katello/events/delete_pool.rb +19 -0
  122. data/app/models/katello/glue/candlepin/environment.rb +7 -0
  123. data/app/models/katello/glue/candlepin/owner.rb +12 -1
  124. data/app/models/katello/glue/candlepin/pool.rb +42 -25
  125. data/app/models/katello/glue/provider.rb +3 -6
  126. data/app/models/katello/glue/pulp/repo.rb +19 -9
  127. data/app/models/katello/host/content_facet.rb +1 -0
  128. data/app/models/katello/host/subscription_facet.rb +3 -1
  129. data/app/models/katello/kt_environment.rb +0 -6
  130. data/app/models/katello/package_group.rb +4 -0
  131. data/app/models/katello/ping.rb +15 -4
  132. data/app/models/katello/pool.rb +9 -0
  133. data/app/models/katello/product.rb +0 -6
  134. data/app/models/katello/product_content.rb +3 -1
  135. data/app/models/katello/pulp_sync_status.rb +0 -10
  136. data/app/models/katello/repository.rb +20 -35
  137. data/app/models/katello/root_repository.rb +0 -5
  138. data/app/models/katello/subscription.rb +10 -0
  139. data/app/models/katello/sync_plan.rb +7 -0
  140. data/app/models/setting/content.rb +7 -8
  141. data/app/presenters/katello/content_view_version_compare_presenter.rb +2 -6
  142. data/app/presenters/katello/product_content_presenter.rb +3 -5
  143. data/app/services/cert/certs.rb +3 -7
  144. data/app/services/katello/applicability/applicable_content_helper.rb +1 -2
  145. data/app/services/katello/candlepin/event_handler.rb +22 -22
  146. data/app/services/katello/candlepin/message_handler.rb +24 -15
  147. data/app/services/katello/content_view_manager.rb +24 -0
  148. data/app/services/katello/event_monitor/poller_thread.rb +25 -20
  149. data/app/services/katello/managed_content_medium_provider.rb +4 -0
  150. data/app/services/katello/organization_creator.rb +120 -0
  151. data/app/services/katello/product_content_finder.rb +5 -1
  152. data/app/services/katello/pulp/pulp_content_unit.rb +6 -6
  153. data/app/services/katello/pulp/smart_proxy_repository.rb +2 -17
  154. data/app/services/katello/pulp3/api/ansible_collection.rb +14 -2
  155. data/app/services/katello/pulp3/api/apt.rb +1 -1
  156. data/app/services/katello/pulp3/api/content_guard.rb +6 -40
  157. data/app/services/katello/pulp3/api/core.rb +27 -2
  158. data/app/services/katello/pulp3/api/docker.rb +1 -1
  159. data/app/services/katello/pulp3/api/file.rb +5 -1
  160. data/app/services/katello/pulp3/api/yum.rb +9 -1
  161. data/app/services/katello/pulp3/content_view_version/export.rb +18 -40
  162. data/app/services/katello/pulp3/content_view_version/import.rb +75 -30
  163. data/app/services/katello/pulp3/content_view_version/import_gpg_keys.rb +32 -0
  164. data/app/services/katello/pulp3/content_view_version/import_validator.rb +53 -21
  165. data/app/services/katello/pulp3/content_view_version/importable_products.rb +47 -0
  166. data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +52 -0
  167. data/app/services/katello/pulp3/content_view_version/metadata_generator.rb +99 -0
  168. data/app/services/katello/pulp3/pulp_content_unit.rb +1 -1
  169. data/app/services/katello/pulp3/repository/ansible_collection.rb +5 -1
  170. data/app/services/katello/pulp3/repository/apt.rb +2 -1
  171. data/app/services/katello/pulp3/repository/yum.rb +0 -16
  172. data/app/services/katello/pulp3/repository.rb +20 -1
  173. data/app/services/katello/pulp3/rpm.rb +5 -1
  174. data/app/services/katello/pulp3/task.rb +12 -5
  175. data/app/services/katello/pulp3/task_group.rb +10 -5
  176. data/app/services/katello/smart_proxy_helper.rb +1 -8
  177. data/app/services/katello/ui_notifications/pulp/proxy_disk_space.rb +0 -1
  178. data/app/services/katello/ui_notifications/system_error.rb +25 -0
  179. data/app/views/katello/api/v2/content_view_components/show.json.rabl +1 -1
  180. data/app/views/katello/api/v2/content_view_filters/show.json.rabl +0 -1
  181. data/app/views/katello/api/v2/{puppet_modules → content_view_version_import_histories}/index.json.rabl +1 -1
  182. data/app/views/katello/api/v2/content_view_version_import_histories/show.json.rabl +14 -0
  183. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +2 -2
  184. data/app/views/katello/api/v2/content_view_versions/show.json.rabl +0 -7
  185. data/app/views/katello/api/v2/content_views/base.json.rabl +20 -9
  186. data/app/views/katello/api/v2/environments/show.json.rabl +0 -1
  187. data/app/views/katello/api/v2/package_groups/index.json.rabl +4 -0
  188. data/app/views/katello/api/v2/repositories/base.json.rabl +0 -1
  189. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -1
  190. data/app/views/katello/api/v2/repository_sets/index.json.rabl +4 -1
  191. data/app/views/katello/api/v2/repository_sets/show.json.rabl +22 -0
  192. data/app/views/katello/api/v2/subscriptions/show.json.rabl +1 -1
  193. data/app/views/overrides/activation_keys/_host_media_type_select.html.erb +1 -1
  194. data/app/views/overrides/smart_proxies/_download_policy.erb +1 -1
  195. data/config/initializers/monkeys.rb +0 -1
  196. data/config/katello.yaml.example +0 -1
  197. data/config/routes/api/v2.rb +9 -21
  198. data/config/routes/overrides.rb +1 -2
  199. data/db/migrate/20140422000001_update_products_add_organization.rb +3 -2
  200. data/db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb +2 -0
  201. data/db/migrate/20200514092553_move_katello_fields_from_hostgroups.katello.rb +1 -1
  202. data/db/migrate/20210119162528_delete_puppet_and_ostree_repos.rb +14 -20
  203. data/db/migrate/20210224160921_remove_disabled_products_from_sync_plans.rb +6 -0
  204. data/db/migrate/20210302165636_remove_katello_puppet_modules.rb +62 -0
  205. data/db/migrate/20210309160925_create_katello_content_view_version_import_histories.rb +13 -0
  206. data/db/migrate/20210318204533_add_import_type_to_import_histories.rb +8 -0
  207. data/db/migrate/20210319123300_add_foreign_keys_to_import_export_histories.rb +6 -0
  208. data/db/migrate/20210322142311_add_auth_url_token_to_root_repositories.rb +6 -0
  209. data/db/migrate/20210331180353_katello_pool_organization_id_not_nullable.rb +16 -0
  210. data/db/migrate/20210409033915_add_created_in_katello_to_taxonomy.rb +9 -0
  211. data/db/seeds.d/101-locations.rb +0 -3
  212. data/db/seeds.d/102-organizations.rb +1 -5
  213. data/db/seeds.d/109-katello-notification-blueprints.rb +12 -0
  214. data/db/seeds.d/111-upgrade_tasks.rb +3 -2
  215. data/engines/bastion/vendor/assets/javascripts/bastion/angular/angular.js +325 -156
  216. data/engines/bastion/vendor/assets/javascripts/bastion/angular-animate/angular-animate.js +3 -3
  217. data/engines/bastion/vendor/assets/javascripts/bastion/angular-resource/angular-resource.js +3 -3
  218. data/engines/bastion/vendor/assets/javascripts/bastion/angular-route/angular-route.js +3 -3
  219. data/engines/bastion/vendor/assets/javascripts/bastion/angular-sanitize/angular-sanitize.js +21 -43
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +9 -10
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +2 -9
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +0 -1
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +0 -3
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +2 -0
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +2 -0
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +11 -4
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +18 -11
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-system-purpose-modal.html +10 -4
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +2 -0
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-actions.controller.js +5 -1
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +7 -2
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +7 -2
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +6 -6
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +7 -7
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +14 -6
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +5 -5
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +0 -14
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-repository-sets.controller.js +9 -11
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-repository-sets.html +2 -8
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +3 -6
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register.html +5 -0
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-view.factory.js +0 -6
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +0 -56
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +0 -5
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +0 -5
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +2 -9
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +0 -12
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +0 -3
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +2 -6
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +0 -1
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +0 -7
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/content.service.js +0 -5
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.module.js +0 -1
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +0 -11
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/environments.html +0 -3
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +21 -6
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +9 -0
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +71 -311
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +0 -10
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +0 -1
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +2 -4
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +13 -15
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +21 -7
  265. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +0 -9
  266. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +0 -6
  267. data/engines/bastion_katello/lib/bastion_katello/engine.rb +3 -3
  268. data/lib/katello/engine.rb +16 -15
  269. data/lib/katello/middleware/organization_created_enforcer.rb +22 -0
  270. data/lib/katello/permission_creator.rb +12 -28
  271. data/lib/katello/permissions/host_permissions.rb +3 -2
  272. data/lib/katello/plugin.rb +6 -19
  273. data/lib/katello/repository_types/ansible_collection.rb +1 -1
  274. data/lib/katello/repository_types/deb.rb +1 -1
  275. data/lib/katello/repository_types/docker.rb +1 -1
  276. data/lib/katello/repository_types/file.rb +1 -1
  277. data/lib/katello/repository_types/yum.rb +1 -1
  278. data/lib/katello/tasks/clean_backend_objects.rake +25 -0
  279. data/lib/katello/tasks/jenkins.rake +6 -0
  280. data/lib/katello/tasks/receptor/extract_orgs.rake +1 -3
  281. data/lib/katello/tasks/reimport.rake +0 -1
  282. data/lib/katello/tasks/repository.rake +0 -30
  283. data/lib/katello/tasks/update_subscription_facet_backend_data.rake +3 -3
  284. data/lib/katello/tasks/upgrades/4.0/remove_ostree_puppet_content.rake +2 -4
  285. data/lib/katello/tasks/upgrades/4.1/fix_invalid_pools.rake +62 -0
  286. data/lib/katello/tasks/upgrades/4.1/sync_noarch_content.rake +15 -0
  287. data/lib/katello/version.rb +1 -1
  288. data/lib/katello.rb +1 -1
  289. data/locale/action_names.rb +65 -63
  290. data/locale/bn/katello.edit.po +1357 -1606
  291. data/locale/bn/katello.po +465 -744
  292. data/locale/cs/katello.edit.po +1213 -1087
  293. data/locale/cs/katello.po +307 -219
  294. data/locale/de/katello.edit.po +1498 -1520
  295. data/locale/de/katello.po +589 -625
  296. data/locale/en/katello.edit.po +1198 -1074
  297. data/locale/en/katello.po +304 -213
  298. data/locale/es/katello.edit.po +2344 -2304
  299. data/locale/es/katello.po +1407 -1407
  300. data/locale/fr/katello.edit.po +2720 -2642
  301. data/locale/fr/katello.po +1703 -1750
  302. data/locale/gu/katello.edit.po +1546 -1797
  303. data/locale/gu/katello.po +654 -935
  304. data/locale/hi/katello.edit.po +1545 -1793
  305. data/locale/hi/katello.po +653 -931
  306. data/locale/it/katello.edit.po +1323 -1310
  307. data/locale/it/katello.po +407 -409
  308. data/locale/ja/katello.edit.po +2645 -2557
  309. data/locale/ja/katello.po +1646 -1664
  310. data/locale/katello.pot +1435 -1289
  311. data/locale/kn/katello.edit.po +1546 -1795
  312. data/locale/kn/katello.po +654 -933
  313. data/locale/ko/katello.edit.po +1464 -1449
  314. data/locale/ko/katello.po +554 -554
  315. data/locale/mr/katello.edit.po +1545 -1758
  316. data/locale/mr/katello.po +653 -896
  317. data/locale/or/katello.edit.po +1546 -1795
  318. data/locale/or/katello.po +654 -933
  319. data/locale/pa/katello.edit.po +1541 -1775
  320. data/locale/pa/katello.po +649 -913
  321. data/locale/pt/katello.edit.po +1289 -1255
  322. data/locale/pt/katello.po +398 -394
  323. data/locale/pt_BR/katello.edit.po +2370 -2315
  324. data/locale/pt_BR/katello.po +1435 -1421
  325. data/locale/ru/katello.edit.po +1611 -1608
  326. data/locale/ru/katello.po +704 -716
  327. data/locale/ta/katello.edit.po +1358 -1605
  328. data/locale/ta/katello.po +465 -742
  329. data/locale/te/katello.edit.po +1545 -1792
  330. data/locale/te/katello.po +653 -930
  331. data/locale/zh_CN/katello.edit.po +3052 -2930
  332. data/locale/zh_CN/katello.po +2055 -2039
  333. data/locale/zh_TW/katello.edit.po +1571 -1669
  334. data/locale/zh_TW/katello.po +649 -777
  335. data/package.json +2 -2
  336. data/webpack/{scenes/ContentViews/Details/Repositories/RepoAddedStatus.js → components/AddedStatusLabel.js} +5 -5
  337. data/webpack/components/RoutedTabs/RoutedTabs.js +91 -0
  338. data/webpack/components/RoutedTabs/__tests__/RoutedTabs.test.js +32 -0
  339. data/webpack/components/RoutedTabs/index.js +4 -0
  340. data/webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageConstants.js +2 -0
  341. data/webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageHelpers.js +21 -0
  342. data/webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageSelectors.js +21 -0
  343. data/webpack/components/extensions/RegistrationCommands/__tests__/ActivationKeys.test.js +18 -0
  344. data/webpack/components/extensions/RegistrationCommands/__tests__/Force.test.js +9 -0
  345. data/webpack/components/extensions/RegistrationCommands/__tests__/IgnoreSubmanErrors.test.js +9 -0
  346. data/webpack/components/extensions/RegistrationCommands/__tests__/LifeCycleEnvironment.test.js +11 -0
  347. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +58 -0
  348. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +25 -0
  349. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +25 -0
  350. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/LifeCycleEnvironment.test.js.snap +27 -0
  351. data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +99 -0
  352. data/webpack/components/extensions/RegistrationCommands/fields/Force.js +38 -0
  353. data/webpack/components/extensions/RegistrationCommands/fields/IgnoreSubmanErrors.js +38 -0
  354. data/webpack/components/extensions/RegistrationCommands/fields/LifecycleEnvironment.js +56 -0
  355. data/webpack/components/extensions/RegistrationCommands/index.js +81 -0
  356. data/webpack/components/pf3Table/formatters/EntitlementsInlineEditFormatter.js +23 -24
  357. data/webpack/components/pf3Table/formatters/__tests__/__snapshots__/EntitlementsInlineEditFormatter.test.js.snap +3 -1
  358. data/webpack/components/pf3Table/formatters/entitlementsValueFormatter.js +16 -0
  359. data/webpack/containers/Application/overrides.scss +3 -0
  360. data/webpack/fills_index.js +3 -0
  361. data/webpack/redux/reducers/RedHatRepositories/enabled.fixtures.js +0 -2
  362. data/webpack/scenes/ContentViews/ContentViewsConstants.js +8 -1
  363. data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +1 -3
  364. data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -3
  365. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +28 -0
  366. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js +45 -0
  367. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +124 -0
  368. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.fixtures.json +161 -0
  369. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +163 -0
  370. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/unpublishedCVComponents.fixtures.json +64 -0
  371. data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +67 -7
  372. data/webpack/scenes/ContentViews/Details/ContentViewDetailSelectors.js +61 -4
  373. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +34 -11
  374. data/webpack/scenes/ContentViews/Details/Filters/CVFilterDetailType.js +33 -0
  375. data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +117 -0
  376. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +115 -0
  377. data/webpack/scenes/ContentViews/Details/Filters/ContentType.js +7 -10
  378. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetails.js +49 -0
  379. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +56 -0
  380. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +3 -17
  381. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +116 -0
  382. data/webpack/scenes/ContentViews/Details/Filters/__tests__/allFilterPackageGroups.fixtures.json +69 -0
  383. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetail.fixtures.json +103 -0
  384. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +116 -0
  385. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +147 -0
  386. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterRules.fixtures.json +30 -0
  387. data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +136 -0
  388. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.fixtures.json +370 -0
  389. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +94 -0
  390. data/webpack/scenes/ContentViews/Details/Repositories/ContentCounts.js +0 -1
  391. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +106 -13
  392. data/webpack/scenes/ContentViews/Details/Repositories/LastSync.js +11 -5
  393. data/webpack/scenes/ContentViews/Details/Repositories/RepoIcon.js +5 -1
  394. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +138 -0
  395. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.fixtures.json +0 -2
  396. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.test.js +1 -1
  397. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +57 -0
  398. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionContent.js +73 -0
  399. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +31 -0
  400. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.js +64 -0
  401. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.scss +8 -0
  402. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionPackages.js +0 -0
  403. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +105 -0
  404. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +728 -0
  405. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +154 -0
  406. data/webpack/scenes/ContentViews/Details/Versions/__tests__/emptyCVVersion.fixtures.json +13 -0
  407. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +3 -1
  408. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +0 -2
  409. data/webpack/scenes/ContentViews/Table/ContentViewVersionCell.js +33 -0
  410. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +17 -22
  411. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +51 -102
  412. data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +5 -3
  413. data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +30 -5
  414. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +95 -0
  415. data/webpack/scenes/ContentViews/components/ContentViewIcon.js +11 -5
  416. data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +16 -0
  417. data/webpack/scenes/ContentViews/components/IconWithCount.js +1 -1
  418. data/webpack/scenes/ContentViews/components/InactiveText.js +15 -0
  419. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +19 -1
  420. data/webpack/scenes/Subscriptions/Details/SubscriptionPurposeAttributes.js +1 -1
  421. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +1 -1
  422. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +3 -3
  423. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +1 -1
  424. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +17 -0
  425. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +2 -1
  426. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +1 -1
  427. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +144 -0
  428. data/webpack/scenes/Tasks/helpers.js +2 -2
  429. data/webpack/test-utils/react-testing-lib-wrapper.js +11 -3
  430. data/webpack/utils/__tests__/useParamsWithHash.test.js +22 -0
  431. data/webpack/utils/helpers.js +2 -0
  432. data/webpack/utils/paramsFromHash.js +16 -0
  433. data/webpack/utils/useUrlParams.js +14 -0
  434. metadata +122 -206
  435. data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +0 -82
  436. data/app/controllers/katello/api/v2/puppet_modules_controller.rb +0 -19
  437. data/app/controllers/katello/concerns/registration_controller_extensions.rb +0 -16
  438. data/app/helpers/katello/concerns/hosts_and_hostgroups_helper_extensions.rb +0 -20
  439. data/app/lib/actions/candlepin/owner/create.rb +0 -16
  440. data/app/lib/actions/katello/content_view_puppet_environment/clear.rb +0 -11
  441. data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +0 -78
  442. data/app/lib/actions/katello/content_view_puppet_environment/clone_content_for_version.rb +0 -20
  443. data/app/lib/actions/katello/content_view_puppet_environment/create.rb +0 -34
  444. data/app/lib/actions/katello/content_view_puppet_environment/create_for_version.rb +0 -23
  445. data/app/lib/actions/katello/content_view_puppet_environment/destroy.rb +0 -28
  446. data/app/lib/actions/katello/content_view_puppet_module/destroy.rb +0 -46
  447. data/app/lib/actions/katello/environment/library_create.rb +0 -35
  448. data/app/lib/actions/katello/organization/create.rb +0 -38
  449. data/app/lib/actions/pulp/content_view_puppet_environment/copy_contents.rb +0 -36
  450. data/app/lib/actions/pulp/content_view_puppet_environment/index_content.rb +0 -19
  451. data/app/lib/actions/pulp/repository/presenters/puppet_presenter.rb +0 -54
  452. data/app/lib/actions/pulp3/content_migration.rb +0 -31
  453. data/app/lib/actions/pulp3/content_migration_presenter.rb +0 -59
  454. data/app/lib/actions/pulp3/content_migration_reset.rb +0 -22
  455. data/app/lib/katello/foreman.rb +0 -32
  456. data/app/lib/katello/mapping.rb +0 -31
  457. data/app/lib/katello/util/hostgroup_facets_helper.rb +0 -126
  458. data/app/lib/katello/validators/content_view_puppet_module_validator.rb +0 -32
  459. data/app/models/katello/concerns/environment_extensions.rb +0 -74
  460. data/app/models/katello/content_view_puppet_environment.rb +0 -116
  461. data/app/models/katello/content_view_puppet_environment_puppet_module.rb +0 -11
  462. data/app/models/katello/content_view_puppet_module.rb +0 -63
  463. data/app/models/katello/puppet_module.rb +0 -77
  464. data/app/models/katello/repository_puppet_module.rb +0 -7
  465. data/app/services/katello/pulp/puppet_module.rb +0 -21
  466. data/app/services/katello/pulp/repository/puppet.rb +0 -68
  467. data/app/services/katello/pulp3/migration.rb +0 -329
  468. data/app/services/katello/pulp3/migration_plan.rb +0 -178
  469. data/app/services/katello/pulp3/migration_switchover.rb +0 -126
  470. data/app/services/katello/puppet_class_importer_extensions.rb +0 -32
  471. data/app/views/foreman/hosts/_registration.html.erb +0 -12
  472. data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +0 -30
  473. data/app/views/katello/api/v2/content_view_puppet_modules/create.json.rabl +0 -3
  474. data/app/views/katello/api/v2/content_view_puppet_modules/index.json.rabl +0 -7
  475. data/app/views/katello/api/v2/content_view_puppet_modules/show.json.rabl +0 -9
  476. data/app/views/katello/api/v2/content_views/puppet_modules.json.rabl +0 -7
  477. data/app/views/katello/api/v2/host_subscriptions/content_override.json.rabl +0 -3
  478. data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +0 -29
  479. data/app/views/katello/api/v2/puppet_modules/backend.json.rabl +0 -7
  480. data/app/views/katello/api/v2/puppet_modules/base.json.rabl +0 -9
  481. data/app/views/katello/api/v2/puppet_modules/compare.json.rabl +0 -10
  482. data/app/views/katello/api/v2/puppet_modules/name.json.rabl +0 -3
  483. data/app/views/katello/api/v2/puppet_modules/names.json.rabl +0 -7
  484. data/app/views/katello/api/v2/puppet_modules/show.json.rabl +0 -4
  485. data/db/migrate/20210512192745_fix_red_hat_root_repository_arch.rb +0 -11
  486. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register-client.directive.js +0 -6
  487. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register-os-client.directive.js +0 -17
  488. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register.controller.js +0 -44
  489. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-client.html +0 -28
  490. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-deb-client.html +0 -38
  491. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-oracle-client.html +0 -5
  492. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-sles-client.html +0 -28
  493. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-puppet-modules.controller.js +0 -9
  494. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +0 -45
  495. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +0 -61
  496. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module.factory.js +0 -23
  497. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +0 -74
  498. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-names.html +0 -57
  499. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-versions.html +0 -64
  500. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-modules.html +0 -54
  501. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-puppet-modules.html +0 -19
  502. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-puppet-modules.html +0 -25
  503. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +0 -6903
  504. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +0 -7094
  505. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +0 -7303
  506. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +0 -6895
  507. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +0 -6865
  508. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +0 -6720
  509. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +0 -7077
  510. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +0 -6832
  511. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +0 -6766
  512. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +0 -6703
  513. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +0 -66
  514. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-content-views.controller.js +0 -44
  515. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-repositories.controller.js +0 -36
  516. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module.controller.js +0 -34
  517. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-content-views.html +0 -41
  518. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-info.html +0 -32
  519. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-repositories.html +0 -52
  520. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module.html +0 -37
  521. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-module.factory.js +0 -28
  522. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.controller.js +0 -35
  523. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.module.js +0 -20
  524. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.routes.js +0 -71
  525. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules.html +0 -47
  526. data/lib/katello/repository_types/puppet.rb +0 -5
  527. data/lib/katello/tasks/fix_hostgroup_facets.rake +0 -8
  528. data/lib/katello/tasks/pulp3_content_switchover.rake +0 -32
  529. data/lib/katello/tasks/pulp3_migration.rake +0 -41
  530. data/lib/katello/tasks/pulp3_migration_abort.rake +0 -22
  531. data/lib/katello/tasks/pulp3_migration_reset.rake +0 -26
  532. data/lib/katello/tasks/pulp3_migration_stats.rake +0 -41
  533. data/lib/katello/tasks/pulp3_post_migration_check.rake +0 -51
  534. data/lib/monkeys/passenger_tee_input.rb +0 -20
  535. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  536. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  537. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  538. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  539. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  540. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  541. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  542. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  543. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  544. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  545. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  546. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  547. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  548. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  549. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  550. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  551. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  552. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  553. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  554. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  555. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  556. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  557. data/webpack/components/TabWrapper/TabWrapper.js +0 -26
  558. data/webpack/components/TabWrapper/index.js +0 -3
  559. data/webpack/components/TabbedView/TabbedView.js +0 -38
  560. data/webpack/components/TabbedView/TabbedView.scss +0 -3
  561. data/webpack/components/TabbedView/index.js +0 -3
  562. data/webpack/scenes/ContentViews/expansions/EnvironmentsExpansion.js +0 -19
  563. data/webpack/scenes/ContentViews/expansions/VersionsExpansion.js +0 -11
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license AngularJS v1.7.9
3
- * (c) 2010-2018 Google, Inc. http://angularjs.org
2
+ * @license AngularJS v1.8.2
3
+ * (c) 2010-2020 Google LLC. http://angularjs.org
4
4
  * License: MIT
5
5
  */
6
6
  (function(window, angular) {'use strict';
@@ -4252,7 +4252,7 @@ angular.module('ngAnimate', [], function initAngularHelpers() {
4252
4252
  isFunction = angular.isFunction;
4253
4253
  isElement = angular.isElement;
4254
4254
  })
4255
- .info({ angularVersion: '1.7.9' })
4255
+ .info({ angularVersion: '1.8.2' })
4256
4256
  .directive('ngAnimateSwap', ngAnimateSwapDirective)
4257
4257
 
4258
4258
  .directive('ngAnimateChildren', $$AnimateChildrenDirective)
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license AngularJS v1.7.9
3
- * (c) 2010-2018 Google, Inc. http://angularjs.org
2
+ * @license AngularJS v1.8.2
3
+ * (c) 2010-2020 Google LLC. http://angularjs.org
4
4
  * License: MIT
5
5
  */
6
6
  (function(window, angular) {'use strict';
@@ -497,7 +497,7 @@ function shallowClearAndCopy(src, dst) {
497
497
  *
498
498
  */
499
499
  angular.module('ngResource', ['ng']).
500
- info({ angularVersion: '1.7.9' }).
500
+ info({ angularVersion: '1.8.2' }).
501
501
  provider('$resource', function ResourceProvider() {
502
502
  var PROTOCOL_AND_IPV6_REGEX = /^https?:\/\/\[[^\]]*][^/]*/;
503
503
 
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license AngularJS v1.7.9
3
- * (c) 2010-2018 Google, Inc. http://angularjs.org
2
+ * @license AngularJS v1.8.2
3
+ * (c) 2010-2020 Google LLC. http://angularjs.org
4
4
  * License: MIT
5
5
  */
6
6
  (function(window, angular) {'use strict';
@@ -101,7 +101,7 @@ var noop;
101
101
  /* global -ngRouteModule */
102
102
  var ngRouteModule = angular.
103
103
  module('ngRoute', []).
104
- info({ angularVersion: '1.7.9' }).
104
+ info({ angularVersion: '1.8.2' }).
105
105
  provider('$route', $RouteProvider).
106
106
  // Ensure `$route` will be instantiated in time to capture the initial `$locationChangeSuccess`
107
107
  // event (unless explicitly disabled). This is necessary in case `ngView` is included in an
@@ -1,6 +1,6 @@
1
1
  /**
2
- * @license AngularJS v1.7.9
3
- * (c) 2010-2018 Google, Inc. http://angularjs.org
2
+ * @license AngularJS v1.8.2
3
+ * (c) 2010-2020 Google LLC. http://angularjs.org
4
4
  * License: MIT
5
5
  */
6
6
  (function(window, angular) {'use strict';
@@ -46,12 +46,12 @@ var htmlSanitizeWriter;
46
46
  * @description
47
47
  * Sanitizes an html string by stripping all potentially dangerous tokens.
48
48
  *
49
- * The input is sanitized by parsing the HTML into tokens. All safe tokens (from a whitelist) are
49
+ * The input is sanitized by parsing the HTML into tokens. All safe tokens (from a trusted URI list) are
50
50
  * then serialized back to a properly escaped HTML string. This means that no unsafe input can make
51
51
  * it into the returned string.
52
52
  *
53
- * The whitelist for URL sanitization of attribute values is configured using the functions
54
- * `aHrefSanitizationWhitelist` and `imgSrcSanitizationWhitelist` of {@link $compileProvider}.
53
+ * The trusted URIs for URL sanitization of attribute values is configured using the functions
54
+ * `aHrefSanitizationTrustedUrlList` and `imgSrcSanitizationTrustedUrlList` of {@link $compileProvider}.
55
55
  *
56
56
  * The input may also contain SVG markup if this is enabled via {@link $sanitizeProvider}.
57
57
  *
@@ -282,8 +282,8 @@ function $SanitizeProvider() {
282
282
  * **Note**:
283
283
  * The new attributes will not be treated as URI attributes, which means their values will not be
284
284
  * sanitized as URIs using `$compileProvider`'s
285
- * {@link ng.$compileProvider#aHrefSanitizationWhitelist aHrefSanitizationWhitelist} and
286
- * {@link ng.$compileProvider#imgSrcSanitizationWhitelist imgSrcSanitizationWhitelist}.
285
+ * {@link ng.$compileProvider#aHrefSanitizationTrustedUrlList aHrefSanitizationTrustedUrlList} and
286
+ * {@link ng.$compileProvider#imgSrcSanitizationTrustedUrlList imgSrcSanitizationTrustedUrlList}.
287
287
  *
288
288
  * <div class="alert alert-info">
289
289
  * This method must be called during the {@link angular.Module#config config} phase. Once the
@@ -426,50 +426,28 @@ function $SanitizeProvider() {
426
426
  }
427
427
 
428
428
  /**
429
- * Create an inert document that contains the dirty HTML that needs sanitizing
430
- * Depending upon browser support we use one of three strategies for doing this.
431
- * Support: Safari 10.x -> XHR strategy
432
- * Support: Firefox -> DomParser strategy
429
+ * Create an inert document that contains the dirty HTML that needs sanitizing.
430
+ * We use the DOMParser API by default and fall back to createHTMLDocument if DOMParser is not
431
+ * available.
433
432
  */
434
433
  var getInertBodyElement /* function(html: string): HTMLBodyElement */ = (function(window, document) {
435
- var inertDocument;
436
- if (document && document.implementation) {
437
- inertDocument = document.implementation.createHTMLDocument('inert');
438
- } else {
439
- throw $sanitizeMinErr('noinert', 'Can\'t create an inert html document');
434
+ if (isDOMParserAvailable()) {
435
+ return getInertBodyElement_DOMParser;
440
436
  }
441
- var inertBodyElement = (inertDocument.documentElement || inertDocument.getDocumentElement()).querySelector('body');
442
437
 
443
- // Check for the Safari 10.1 bug - which allows JS to run inside the SVG G element
444
- inertBodyElement.innerHTML = '<svg><g onload="this.parentNode.remove()"></g></svg>';
445
- if (!inertBodyElement.querySelector('svg')) {
446
- return getInertBodyElement_XHR;
447
- } else {
448
- // Check for the Firefox bug - which prevents the inner img JS from being sanitized
449
- inertBodyElement.innerHTML = '<svg><p><style><img src="</style><img src=x onerror=alert(1)//">';
450
- if (inertBodyElement.querySelector('svg img')) {
451
- return getInertBodyElement_DOMParser;
452
- } else {
453
- return getInertBodyElement_InertDocument;
454
- }
438
+ if (!document || !document.implementation) {
439
+ throw $sanitizeMinErr('noinert', 'Can\'t create an inert html document');
455
440
  }
441
+ var inertDocument = document.implementation.createHTMLDocument('inert');
442
+ var inertBodyElement = (inertDocument.documentElement || inertDocument.getDocumentElement()).querySelector('body');
443
+ return getInertBodyElement_InertDocument;
456
444
 
457
- function getInertBodyElement_XHR(html) {
458
- // We add this dummy element to ensure that the rest of the content is parsed as expected
459
- // e.g. leading whitespace is maintained and tags like `<meta>` do not get hoisted to the `<head>` tag.
460
- html = '<remove></remove>' + html;
445
+ function isDOMParserAvailable() {
461
446
  try {
462
- html = encodeURI(html);
447
+ return !!getInertBodyElement_DOMParser('');
463
448
  } catch (e) {
464
- return undefined;
449
+ return false;
465
450
  }
466
- var xhr = new window.XMLHttpRequest();
467
- xhr.responseType = 'document';
468
- xhr.open('GET', 'data:text/html;charset=utf-8,' + html, false);
469
- xhr.send(null);
470
- var body = xhr.response.body;
471
- body.firstChild.remove();
472
- return body;
473
451
  }
474
452
 
475
453
  function getInertBodyElement_DOMParser(html) {
@@ -711,7 +689,7 @@ function sanitizeText(chars) {
711
689
  // define ngSanitize module and register $sanitize service
712
690
  angular.module('ngSanitize', [])
713
691
  .provider('$sanitize', $SanitizeProvider)
714
- .info({ angularVersion: '1.7.9' });
692
+ .info({ angularVersion: '1.8.2' });
715
693
 
716
694
  /**
717
695
  * @ngdoc filter
@@ -6,28 +6,27 @@
6
6
  * @requires translate
7
7
  * @requires Nutupane
8
8
  * @requires ActivationKey
9
+ * @requires RepositorySet
9
10
  * @requires ContentOverrideHelper
10
11
  * @requires Notification
11
- * @requires CurrentOrganization
12
12
  *
13
13
  * @description
14
14
  * Provides the functionality for the activation-key products action pane.
15
15
  */
16
16
  angular.module('Bastion.activation-keys').controller('ActivationKeyRepositorySetsController',
17
- ['$scope', 'translate', 'Nutupane', 'ActivationKey', 'ContentOverrideHelper', 'Notification', 'CurrentOrganization',
18
- function ($scope, translate, Nutupane, ActivationKey, ContentOverrideHelper, Notification, CurrentOrganization) {
17
+ ['$scope', 'translate', 'Nutupane', 'ActivationKey', 'RepositorySet', 'ContentOverrideHelper', 'Notification',
18
+ function ($scope, translate, Nutupane, ActivationKey, RepositorySet, ContentOverrideHelper, Notification) {
19
19
  var params, saveContentOverride, success, error;
20
20
 
21
21
  params = {
22
- id: $scope.$stateParams.activationKeyId,
23
- 'organization_id': CurrentOrganization,
24
- 'content_access_mode_all': $scope.simpleContentAccessEnabled
22
+ 'activation_key_id': $scope.$stateParams.activationKeyId,
23
+ 'content_access_mode_all': $scope.simpleContentAccessEnabled,
24
+ 'sort_order': 'ASC',
25
+ 'paged': true
25
26
  };
26
-
27
- $scope.controllerName = 'katello_products';
28
- $scope.nutupane = new Nutupane(ActivationKey, params, 'repositorySets');
27
+ $scope.nutupane = new Nutupane(RepositorySet, params);
28
+ $scope.nutupane.primaryOnly = true;
29
29
  $scope.table = $scope.nutupane.table;
30
-
31
30
  $scope.contentAccessModes = {
32
31
  contentAccessModeAll: $scope.simpleContentAccessEnabled,
33
32
  contentAccessModeEnv: false
@@ -10,12 +10,6 @@
10
10
  </div>
11
11
 
12
12
  <div data-extend-template="layouts/partials/table.html">
13
- <div data-block="search">
14
- <input type="text" class="form-control" stop-event="click"
15
- placeholder="{{ 'Filter...' | translate }}"
16
- ng-model="repositorySetFilter"/>
17
- </div>
18
-
19
13
  <div data-block="filters">
20
14
  <label class="checkbox-inline" title="{{ 'Show all Repository Sets in Organization' | translate }}" ng-if="!simpleContentAccessEnabled">
21
15
  <input type="checkbox" ng-model="contentAccessModes.contentAccessModeAll" ng-change="toggleFilters()"/>
@@ -27,7 +21,6 @@
27
21
  </label>
28
22
  </div>
29
23
 
30
-
31
24
  <div data-block="list-actions">
32
25
  <div class="btn-group" select-action-dropdown>
33
26
  <ul class="dropdown-menu-right" uib-dropdown-menu role="menu" aria-labelledby="split-button">
@@ -73,13 +66,13 @@
73
66
 
74
67
  <tbody>
75
68
  <tr class="grey-table-row" bst-table-row ng-repeat-end ng-repeat="productRepoSet in table.rows | filter:repositorySetFilter" row-select="productRepoSet">
76
- <td bst-table-cell>{{ productRepoSet.content.name }}</td>
69
+ <td bst-table-cell>{{ productRepoSet.name }}</td>
77
70
  <td bst-table-cell>
78
71
  <a ui-sref="product.info({productId: productRepoSet.product.id})">
79
72
  {{ productRepoSet.product.name }}
80
73
  </a>
81
74
  </td>
82
- <td bst-table-cell>{{ productRepoSet.content.content_url }}</td>
75
+ <td bst-table-cell>{{ productRepoSet.contentUrl }}</td>
83
76
  <td bst-table-cell>{{ productRepoSet | repositorySetsEnabled }}</td>
84
77
  </tr>
85
78
  </tbody>
@@ -11,7 +11,6 @@ BASTION_MODULES.push(
11
11
  'Bastion.ansible-collections',
12
12
  'Bastion.ostree-branches',
13
13
  'Bastion.hosts',
14
- 'Bastion.puppet-modules',
15
14
  'Bastion.ostree-branches',
16
15
  'Bastion.module-streams',
17
16
  'Bastion.environments',
@@ -67,9 +67,6 @@
67
67
  //= require "bastion_katello/package-groups/package-groups.module.js"
68
68
  //= require_tree "./package-groups"
69
69
 
70
- //= require "bastion_katello/puppet-modules/puppet-modules.module.js"
71
- //= require_tree "./puppet-modules"
72
-
73
70
  //= require "bastion_katello/products/details/repositories/repositories.module.js"
74
71
  //= require_tree "./products/details/repositories"
75
72
 
@@ -57,7 +57,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
57
57
  $scope.initialLoad = true;
58
58
  $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
59
59
  $scope.remoteExecutionByDefault = BastionConfig.remoteExecutionByDefault;
60
+ $scope.katelloAgentPresent = BastionConfig.katelloAgentPresent;
60
61
  $scope.allHostsSelected = hostIds.allResultsSelected;
62
+ $scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
61
63
 
62
64
  $scope.errataActionFormValues = {
63
65
  authenticityToken: $window.AUTH_TOKEN.replace(/&quot;/g, '')
@@ -46,6 +46,8 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkPackagesModa
46
46
 
47
47
  $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
48
48
  $scope.remoteExecutionByDefault = BastionConfig.remoteExecutionByDefault;
49
+ $scope.katelloAgentPresent = BastionConfig.katelloAgentPresent;
50
+ $scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
49
51
 
50
52
  $scope.packageActionFormValues = {
51
53
  authenticityToken: $window.AUTH_TOKEN.replace(/&quot;/g, '')
@@ -27,7 +27,14 @@
27
27
  </div>
28
28
  </div>
29
29
 
30
- <div data-extend-template="common/views/katello-agent-notice.html"></div>
30
+ <div ng-show="katelloAgentPresent" data-extend-template="common/views/katello-agent-notice.html"></div>
31
+ <div bst-feature-flag="remote_actions">
32
+ <p bst-alert="warning" ng-hide="hostToolingEnabled">
33
+ <span translate>
34
+ Performing host package actions is disabled because Katello is not configured for Remote Execution or Katello Agent.
35
+ </span>
36
+ </p>
37
+ </div>
31
38
 
32
39
  <div ng-show="showTable()" data-extend-template="layouts/partials/table.html">
33
40
  <div data-block="list-actions">
@@ -39,19 +46,19 @@
39
46
 
40
47
  <span uib-dropdown class="btn-group">
41
48
  <button class="btn btn-primary" type="button"
42
- ng-disabled="table.numSelected === 0 || table.working || table.numSelected === 0"
49
+ ng-disabled="table.numSelected === 0 || table.working || table.numSelected === 0 || !hostToolingEnabled"
43
50
  ng-click="showConfirm = true;">
44
51
  <span translate>Install Selected</span>
45
52
  </button>
46
53
  <button uib-dropdown-toggle class="btn btn-primary" type="button"
47
- ng-hide="!remoteExecutionPresent"
54
+ ng-show="remoteExecutionPresent"
48
55
  ng-disabled="table.numSelected === 0 || table.working || table.numSelected === 0"
49
56
  type="button" id="use-remote-execution">
50
57
  <span class="caret"></span>
51
58
  </button>
52
59
 
53
60
  <ul uib-dropdown-menu class="dropdown-menu-right" role="menu" aria-labelledby="use-remote-execution">
54
- <li role="presentation"><a ng-click="installErrataViaKatelloAgent()" role="menuitem" translate>via Katello agent</a></li>
61
+ <li ng-show="katelloAgentPresent" role="presentation"><a ng-click="installErrataViaKatelloAgent()" role="menuitem" translate>via Katello agent</a></li>
55
62
  <li role="presentation"><a ng-click="installErrataViaRemoteExecution(false)" role="menuitem" translate>via remote execution</a></li>
56
63
  <li role="presentation"><a ng-click="installErrataViaRemoteExecution(true)" role="menuitem" translate>via remote execution - customize first</a></li>
57
64
  </ul>
@@ -8,7 +8,14 @@
8
8
  </div>
9
9
  </div>
10
10
 
11
- <div data-extend-template="common/views/katello-agent-notice.html"></div>
11
+ <div ng-show="katelloAgentPresent" data-extend-template="common/views/katello-agent-notice.html"></div>
12
+ <div bst-feature-flag="remote_actions">
13
+ <p bst-alert="warning" ng-hide="hostToolingEnabled">
14
+ <span translate>
15
+ Performing host package actions is disabled because Katello is not configured for Remote Execution or Katello Agent.
16
+ </span>
17
+ </p>
18
+ </div>
12
19
 
13
20
  <span uib-dropdown class="input-group-btn">
14
21
  <button class="btn btn-default"
@@ -16,17 +23,17 @@
16
23
  translate
17
24
  ng-hide="denied('edit_hosts')"
18
25
  ng-click="confirmContentAction('update all', content)"
19
- ng-disabled="(table.numSelected === 0)">
26
+ ng-disabled="(table.numSelected === 0) || !hostToolingEnabled">
20
27
  Update All Packages
21
28
  </button>
22
29
  <button uib-dropdown-toggle class="btn btn-default"
23
- ng-hide="!remoteExecutionPresent"
30
+ ng-show="remoteExecutionPresent"
24
31
  ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm"
25
32
  type="button" id="update-all-use-remote-execution">
26
33
  <span class="caret"></span>
27
34
  </button>
28
35
  <ul uib-dropdown-menu role="menu" aria-labelledby="install-use-remote-execution">
29
- <li role="presentation"><a ng-click="performViaKatelloAgent('update all', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
36
+ <li ng-show="katelloAgentPresent" role="presentation"><a ng-click="performViaKatelloAgent('update all', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
30
37
  <li role="presentation"><a ng-click="performViaRemoteExecution('update all', false)" role="menuitem" tabindex="-1" href="#" translate>via remote execution</a></li>
31
38
  <li role="presentation"><a ng-click="performViaRemoteExecution('update all', true)" role="menuitem" tabindex="-1" href="#" translate>via remote execution - customize first</a></li>
32
39
  </ul>
@@ -77,17 +84,17 @@
77
84
  translate
78
85
  ng-hide="denied('edit_hosts')"
79
86
  ng-click="confirmContentAction('install', content)"
80
- ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm">
87
+ ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm || !hostToolingEnabled">
81
88
  Install
82
89
  </button>
83
90
  <button uib-dropdown-toggle class="btn btn-default"
84
- ng-hide="!remoteExecutionPresent"
91
+ ng-show="remoteExecutionPresent"
85
92
  ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm"
86
93
  type="button" id="install-use-remote-execution">
87
94
  <span class="caret"></span>
88
95
  </button>
89
96
  <ul uib-dropdown-menu role="menu" aria-labelledby="install-use-remote-execution">
90
- <li role="presentation"><a ng-click="performViaKatelloAgent('install', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
97
+ <li ng-show="katelloAgentPresent" role="presentation"><a ng-click="performViaKatelloAgent('install', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
91
98
  <li role="presentation"><a ng-click="performViaRemoteExecution('install', false)" role="menuitem" tabindex="-1" href="#" translate>via remote execution</a></li>
92
99
  <li role="presentation"><a ng-click="performViaRemoteExecution('install', true)" role="menuitem" tabindex="-1" href="#" translate>via remote execution - customize first</a></li>
93
100
  </ul>
@@ -98,7 +105,7 @@
98
105
  translate
99
106
  ng-hide="denied('edit_hosts')"
100
107
  ng-click="confirmContentAction('update', content)"
101
- ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm"
108
+ ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm || !hostToolingEnabled"
102
109
  ng-hide="content.contentType == 'errata'">
103
110
  Update
104
111
  </button>
@@ -109,7 +116,7 @@
109
116
  <span class="caret"></span>
110
117
  </button>
111
118
  <ul uib-dropdown-menu role="menu" aria-labelledby="update-use-remote-execution">
112
- <li role="presentation"><a ng-click="performViaKatelloAgent('update', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
119
+ <li ng-show="katelloAgentPresent" role="presentation"><a ng-click="performViaKatelloAgent('update', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
113
120
  <li role="presentation"><a ng-click="performViaRemoteExecution('update', false)" role="menuitem" tabindex="-1" href="#" translate>via remote execution</a></li>
114
121
  <li role="presentation"><a ng-click="performViaRemoteExecution('update', true)" role="menuitem" tabindex="-1" href="#" translate>via remote execution - customize first</a></li>
115
122
  </ul>
@@ -120,7 +127,7 @@
120
127
  translate
121
128
  ng-hide="content.contentType == 'errata' || denied('edit_hosts')"
122
129
  ng-click="confirmContentAction('remove', content)"
123
- ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm">
130
+ ng-disabled="(table.numSelected === 0) || !packageActionForm.$valid || content.confirm || !hostToolingEnabled">
124
131
  Remove
125
132
  </button>
126
133
  <button uib-dropdown-toggle class="btn btn-default"
@@ -130,7 +137,7 @@
130
137
  <span class="caret"></span>
131
138
  </button>
132
139
  <ul uib-dropdown-menu role="menu" aria-labelledby="remove-use-remote-execution">
133
- <li role="presentation"><a ng-click="performViaKatelloAgent('remove', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
140
+ <li ng-show="katelloAgentPresent" role="presentation"><a ng-click="performViaKatelloAgent('remove', content)" role="menuitem" tabindex="-1" href="#" translate>via Katello Agent</a></li>
134
141
  <li role="presentation"><a ng-click="performViaRemoteExecution('remove', false)" role="menuitem" tabindex="-1" href="#" translate>via remote execution</a></li>
135
142
  <li role="presentation"><a ng-click="performViaRemoteExecution('remove', true)" role="menuitem" tabindex="-1" href="#" translate>via remote execution - customize first</a></li>
136
143
  </ul>
@@ -23,7 +23,9 @@
23
23
 
24
24
  <dd><select type="select"
25
25
  ng-options="item for item in defaultServiceLevels"
26
- ng-model="selectedServiceLevels">
26
+ ng-model="selectedServiceLevels"
27
+ id="selectedServiceLevels"
28
+ >
27
29
  </select></dd>
28
30
  <br /><br />
29
31
 
@@ -31,7 +33,9 @@
31
33
 
32
34
  <dd><select type="select"
33
35
  ng-options="item for item in defaultUsages"
34
- ng-model="selectedRoles">
36
+ ng-model="selectedUsages"
37
+ id="selectedUsages"
38
+ >
35
39
  </select></dd>
36
40
  <br /><br />
37
41
 
@@ -39,7 +43,9 @@
39
43
 
40
44
  <dd><select type="select"
41
45
  ng-options="item for item in defaultRoles"
42
- ng-model="selectedUsages">
46
+ ng-model="selectedRoles"
47
+ id="selectedRoles"
48
+ >
43
49
  </select></dd>
44
50
  <br /><br />
45
51
 
@@ -70,4 +76,4 @@
70
76
  Cancel
71
77
  </button>
72
78
  </div>
73
- </div>
79
+ </div>
@@ -43,6 +43,8 @@ angular.module('Bastion.content-hosts').controller('ContentHostErrataController'
43
43
 
44
44
  $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
45
45
  $scope.remoteExecutionByDefault = BastionConfig.remoteExecutionByDefault;
46
+ $scope.katelloAgentPresent = BastionConfig.katelloAgentPresent;
47
+ $scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
46
48
  $scope.errataActionFormValues = {
47
49
  authenticityToken: $window.AUTH_TOKEN.replace(/&quot;/g, '')
48
50
  };
@@ -4,13 +4,17 @@
4
4
  *
5
5
  * @requires $scope
6
6
  * @requires $location
7
+ * @requires BastionConfig
7
8
  *
8
9
  * @description
9
10
  * Provides the functionality for the content host package actions.
10
11
  */
11
12
  angular.module('Bastion.content-hosts').controller('ContentHostPackagesActionsController',
12
- ['$scope', '$location', function ($scope, $location) {
13
+ ['$scope', '$location', 'BastionConfig', function ($scope, $location, BastionConfig) {
13
14
  var packageName = $location.search().package_name;
15
+ $scope.katelloAgentPresent = BastionConfig.katelloAgentPresent;
16
+ $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
17
+ $scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
14
18
 
15
19
  $scope.packageAction = {actionType: 'packageInstall'}; //default to packageInstall
16
20
 
@@ -9,15 +9,20 @@
9
9
  * @requires HostPackage
10
10
  * @requires translate
11
11
  * @requires Nutupane
12
+ * @requires BastionConfig
12
13
  *
13
14
  * @description
14
15
  * Provides the functionality for the content host packages list and actions.
15
16
  */
16
17
  angular.module('Bastion.content-hosts').controller('ContentHostPackagesApplicableController',
17
- ['$scope', '$timeout', '$window', 'Package', 'HostPackage', 'translate', 'Nutupane',
18
- function ($scope, $timeout, $window, Package, HostPackage, translate, Nutupane) {
18
+ ['$scope', '$timeout', '$window', 'Package', 'HostPackage', 'translate', 'Nutupane', 'BastionConfig',
19
+ function ($scope, $timeout, $window, Package, HostPackage, translate, Nutupane, BastionConfig) {
19
20
  var packagesNutupane, openEventInfo;
20
21
 
22
+ $scope.katelloAgentPresent = BastionConfig.katelloAgentPresent;
23
+ $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
24
+ $scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
25
+
21
26
  $scope.getSelectedPackages = function () {
22
27
  var selected = $scope.table.getSelected();
23
28
  selected = _.map(selected, function(pkg) {
@@ -8,15 +8,20 @@
8
8
  * @requires HostPackage
9
9
  * @requires translate
10
10
  * @requires Nutupane
11
+ * @requires BastionConfig
11
12
  *
12
13
  * @description
13
14
  * Provides the functionality for the content host packages list and actions.
14
15
  */
15
16
  angular.module('Bastion.content-hosts').controller('ContentHostPackagesInstalledController',
16
- ['$scope', '$timeout', '$window', 'HostPackage', 'translate', 'Nutupane',
17
- function ($scope, $timeout, $window, HostPackage, translate, Nutupane) {
17
+ ['$scope', '$timeout', '$window', 'HostPackage', 'translate', 'Nutupane', 'BastionConfig',
18
+ function ($scope, $timeout, $window, HostPackage, translate, Nutupane, BastionConfig) {
18
19
  var packagesNutupane;
19
20
 
21
+ $scope.katelloAgentPresent = BastionConfig.katelloAgentPresent;
22
+ $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
23
+ $scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
24
+
20
25
  $scope.removeSelectedPackages = function () {
21
26
  var selected = _.map($scope.table.getSelected(), 'name');
22
27
 
@@ -5,7 +5,7 @@
5
5
  <h3 translate ng-show="selectedErrataOption === 'current'">Installable Errata</h3>
6
6
  </div>
7
7
 
8
- <div data-extend-template="common/views/katello-agent-notice.html"></div>
8
+ <div ng-show="katelloAgentPresent" data-extend-template="common/views/katello-agent-notice.html"></div>
9
9
 
10
10
  <div ng-hide="host.hasContent()">
11
11
  <div data-extend-template="common/views/registration.html"></div>
@@ -24,10 +24,10 @@
24
24
  </div>
25
25
 
26
26
  <div bst-feature-flag="remote_actions">
27
- <p bst-alert="info" ng-hide="host.content_facet_attributes.katello_agent_installed">
27
+ <p bst-alert="warning" ng-hide="hostToolingEnabled">
28
28
  <span translate>
29
- If you are not using Remote Execution to manage content on this host, ensure that it has the katello-agent package installed.
30
- </span>
29
+ Performing host package actions is disabled because Katello is not configured for Remote Execution or Katello Agent.
30
+ </span>
31
31
  </p>
32
32
  </div>
33
33
 
@@ -69,7 +69,7 @@
69
69
  <button class="btn btn-default" type="button"
70
70
  translate
71
71
  ng-hide="denied('edit_hosts', host)"
72
- ng-disabled="table.getSelected().length == 0"
72
+ ng-disabled="table.getSelected().length == 0 || !hostToolingEnabled"
73
73
  ng-click="openModal()">
74
74
  Apply Selected
75
75
  </button>
@@ -80,7 +80,7 @@
80
80
  <span class="caret"></span>
81
81
  </button>
82
82
  <ul uib-dropdown-menu role="menu" aria-labelledby="use-remote-execution">
83
- <li role="presentation"><a ng-click="performViaKatelloAgent()" role="menuitem" tabindex="-1" href="#" translate>via Katello agent</a></li>
83
+ <li ng-show="katelloAgentPresent" role="presentation"><a ng-click="performViaKatelloAgent()" role="menuitem" tabindex="-1" href="#" translate>via Katello agent</a></li>
84
84
  <li role="presentation"><a ng-click="performViaRemoteExecution(false)" role="menuitem" tabindex="-1" href="#" translate>via remote execution</a></li>
85
85
  <li role="presentation"><a ng-click="performViaRemoteExecution(true)" role="menuitem" tabindex="-1" href="#" translate>via remote execution - customize first</a></li>
86
86
  </ul>
@@ -2,11 +2,11 @@
2
2
 
3
3
  <section ng-hide="denied('edit_hosts', host)" bst-feature-flag="remote_actions">
4
4
  <h4 translate>Package Actions</h4>
5
- <div data-extend-template="common/views/katello-agent-notice.html"></div>
6
- <p bst-alert="info" ng-hide="host.content_facet_attributes.katello_agent_installed">
5
+ <div ng-show="katelloAgentPresent" data-extend-template="common/views/katello-agent-notice.html"></div>
6
+ <p bst-alert="warning" ng-hide="hostToolingEnabled">
7
7
  <span translate>
8
- If you are not using Remote Execution to manage content on this host, ensure that it has the katello-agent package installed.
9
- </span>
8
+ Performing host package actions is disabled because Katello is not configured for Remote Execution or Katello Agent.
9
+ </span>
10
10
  </p>
11
11
  <section>
12
12
  <div class="row">
@@ -33,7 +33,7 @@
33
33
  <button class="btn btn-primary" type="button"
34
34
  ng-click="performPackageAction(packageAction.actionType, packageAction.term)"
35
35
  ng-hide="denied('edit_hosts', host)"
36
- ng-disabled="working || packageAction.term === undefined || packageAction.term.length === 0"
36
+ ng-disabled="working || packageAction.term === undefined || packageAction.term.length === 0 || !hostToolingEnabled"
37
37
  translate>
38
38
  Perform
39
39
  </button>
@@ -44,7 +44,7 @@
44
44
  <span class="caret"></span>
45
45
  </button>
46
46
  <ul uib-dropdown-menu role="menu" aria-labelledby="use-remote-execution">
47
- <li role="presentation"><a ng-click="performViaKatelloAgent(packageAction.actionType, packageAction.term)" role="menuitem" tabindex="-1" href="#" translate>via Katello agent</a></li>
47
+ <li ng-show="katelloAgentPresent" role="presentation"><a ng-click="performViaKatelloAgent(packageAction.actionType, packageAction.term)" role="menuitem" tabindex="-1" href="#" translate>via Katello agent</a></li>
48
48
  <li role="presentation"><a ng-click="performViaRemoteExecution(packageAction.actionType, packageAction.term, false)" role="menuitem" tabindex="-1" href="#" translate>via remote execution</a></li>
49
49
  <li role="presentation"><a ng-click="performViaRemoteExecution(packageAction.actionType, packageAction.term, true)" role="menuitem" tabindex="-1" href="#" translate>via remote execution - customize first</a></li>
50
50
  </ul>
@@ -55,7 +55,7 @@
55
55
  <div class="form-group">
56
56
  <button class="btn btn-default" type="button"
57
57
  translate
58
- ng-disabled="working"
58
+ ng-disabled="!katelloAgentPresent || working"
59
59
  ng-click="updateAll()">
60
60
  Update All Packages
61
61
  </button>