katello 3.16.2 → 3.17.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 (381) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/katello/katello.scss +3 -7
  3. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  4. data/app/controllers/katello/api/v2/activation_keys_controller.rb +8 -0
  5. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +10 -4
  6. data/app/controllers/katello/api/v2/host_tracer_controller.rb +33 -8
  7. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +11 -11
  8. data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +0 -15
  9. data/app/controllers/katello/api/v2/repositories_controller.rb +5 -11
  10. data/app/controllers/katello/api/v2/upstream_subscriptions_controller.rb +16 -0
  11. data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +4 -4
  12. data/app/controllers/katello/concerns/api/v2/hostgroups_controller_extensions.rb +1 -1
  13. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +5 -11
  14. data/app/helpers/katello/concerns/dashboard_helper_extensions.rb +10 -0
  15. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +6 -7
  16. data/app/lib/actions/candlepin/product/content_add.rb +2 -1
  17. data/app/lib/actions/candlepin/product/content_update_enablement.rb +18 -0
  18. data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +2 -6
  19. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
  20. data/app/lib/actions/katello/capsule_content/sync.rb +1 -1
  21. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +3 -17
  22. data/app/lib/actions/katello/content_view_version/incremental_update.rb +2 -3
  23. data/app/lib/actions/katello/organization/simple_content_access/disable.rb +17 -0
  24. data/app/lib/actions/katello/organization/simple_content_access/enable.rb +17 -0
  25. data/app/lib/actions/katello/organization/simple_content_access/toggle.rb +36 -0
  26. data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +13 -0
  27. data/app/lib/actions/katello/product/content_create.rb +3 -3
  28. data/app/lib/actions/katello/product/destroy.rb +4 -25
  29. data/app/lib/actions/katello/repository/content_update.rb +41 -0
  30. data/app/lib/actions/katello/repository/destroy.rb +1 -5
  31. data/app/lib/actions/katello/repository/export.rb +1 -1
  32. data/app/lib/actions/katello/repository/multi_clone_contents.rb +15 -13
  33. data/app/lib/actions/katello/repository/sync.rb +25 -35
  34. data/app/lib/actions/katello/repository/update.rb +19 -30
  35. data/app/lib/actions/katello/repository/update_cv_repo_cert_guard.rb +17 -0
  36. data/app/lib/actions/pulp/orchestration/repository/smart_proxy_sync.rb +1 -0
  37. data/app/lib/actions/pulp/orchestration/repository/sync.rb +1 -2
  38. data/app/lib/actions/pulp/repository/sync.rb +1 -2
  39. data/app/lib/actions/pulp3/abstract_async_task.rb +0 -1
  40. data/app/lib/actions/pulp3/capsule_content/sync.rb +1 -3
  41. data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -1
  42. data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +2 -1
  43. data/app/lib/actions/pulp3/orchestration/repository/sync.rb +1 -3
  44. data/app/lib/actions/pulp3/repository/copy_content.rb +1 -0
  45. data/app/lib/actions/pulp3/repository/delete.rb +1 -1
  46. data/app/lib/actions/pulp3/repository/multi_copy_content.rb +1 -1
  47. data/app/lib/actions/pulp3/repository/save_version.rb +16 -20
  48. data/app/lib/actions/pulp3/repository/sync.rb +1 -1
  49. data/app/lib/actions/pulp3/repository/update_cv_repository_cert_guard.rb +2 -6
  50. data/app/lib/actions/pulp3/repository/upload_file.rb +1 -1
  51. data/app/lib/katello/resources/candlepin/product.rb +11 -0
  52. data/app/lib/katello/resources/cdn.rb +2 -3
  53. data/app/lib/katello/util/cdn_var_substitutor.rb +7 -9
  54. data/app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb +11 -11
  55. data/app/models/katello/activation_key.rb +1 -1
  56. data/app/models/katello/concerns/content_facet_host_extensions.rb +7 -0
  57. data/app/models/katello/concerns/host_managed_extensions.rb +39 -0
  58. data/app/models/katello/concerns/hostgroup_extensions.rb +46 -24
  59. data/app/models/katello/concerns/smart_proxy_extensions.rb +5 -19
  60. data/app/models/katello/concerns/widget_extensions.rb +23 -0
  61. data/app/models/katello/content_view.rb +9 -1
  62. data/app/models/katello/content_view_package_filter.rb +1 -1
  63. data/app/models/katello/content_view_version.rb +7 -0
  64. data/app/models/katello/erratum.rb +13 -0
  65. data/app/models/katello/erratum_cve.rb +8 -0
  66. data/app/models/katello/glue/pulp/repo.rb +1 -1
  67. data/app/models/katello/host/content_facet.rb +18 -1
  68. data/app/models/katello/host_collection.rb +6 -0
  69. data/app/models/katello/hostgroup/content_facet.rb +18 -0
  70. data/app/models/katello/installed_package.rb +8 -0
  71. data/app/models/katello/kt_environment.rb +9 -1
  72. data/app/models/katello/model.rb +16 -0
  73. data/app/models/katello/pool.rb +17 -0
  74. data/app/models/katello/product.rb +6 -0
  75. data/app/models/katello/purpose_addons_status.rb +1 -0
  76. data/app/models/katello/purpose_role_status.rb +1 -0
  77. data/app/models/katello/purpose_sla_status.rb +1 -0
  78. data/app/models/katello/purpose_usage_status.rb +1 -0
  79. data/app/models/katello/repository.rb +3 -6
  80. data/app/models/katello/root_repository.rb +24 -16
  81. data/app/models/katello/subscription_status.rb +1 -1
  82. data/app/models/katello/trace_status.rb +1 -1
  83. data/app/models/setting/content.rb +6 -2
  84. data/app/services/cert/certs.rb +2 -10
  85. data/app/services/katello/event_daemon.rb +7 -8
  86. data/app/services/katello/host_status_manager.rb +13 -0
  87. data/app/services/katello/pulp3/migration.rb +1 -1
  88. data/app/services/katello/pulp3/repository/yum.rb +6 -72
  89. data/app/services/katello/pulp3/repository.rb +11 -10
  90. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +1 -1
  91. data/app/services/katello/pulp3/task.rb +3 -3
  92. data/app/services/katello/pulp3/task_group.rb +0 -6
  93. data/app/services/katello/smart_proxy_helper.rb +16 -13
  94. data/app/views/foreman/smart_proxies/_content_sync.html.erb +1 -1
  95. data/app/views/katello/api/v2/repositories/base.json.rabl +1 -1
  96. data/config/routes/api/rhsm.rb +0 -1
  97. data/config/routes/api/v2.rb +8 -2
  98. data/config/routes/overrides.rb +0 -4
  99. data/db/migrate/20141222151001_add_host_content_view_environment.rb +1 -1
  100. data/db/migrate/20180904122343_create_hostgroup_content_facet.katello.rb +16 -0
  101. data/db/migrate/20200514092553_move_katello_fields_from_hostgroups.katello.rb +53 -0
  102. data/db/migrate/20200610112009_remove_audits_of_root_repo_with_content_id.rb +9 -0
  103. data/db/migrate/20200701150946_add_auto_enabled_to_root_repository.rb +5 -0
  104. data/db/seeds.d/75-job_templates.rb +2 -2
  105. data/engines/bastion/app/assets/javascripts/bastion/components/nutupane.factory.js +3 -1
  106. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +5 -2
  107. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +4 -2
  108. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html +1 -1
  109. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +2 -2
  110. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +1 -1
  111. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +4 -1
  112. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +4 -1
  113. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +1 -0
  114. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +4 -3
  115. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-environment-modal.html +7 -1
  116. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +1 -0
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +1 -0
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +4 -2
  119. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +1 -1
  120. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +7 -1
  121. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +4 -2
  122. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html +1 -1
  123. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +1 -0
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +14 -6
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions-list.html +1 -1
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +6 -6
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-details.controller.js +5 -2
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-info.html +1 -1
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +1 -2
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces-resolve.factory.js +18 -0
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +45 -4
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +1 -1
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +1 -1
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +1 -1
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +1 -1
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +1 -1
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +1 -1
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +1 -1
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +1 -1
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +1 -1
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +1 -1
  142. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +0 -1
  143. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +0 -6
  144. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +1 -7
  145. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +11 -1
  146. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +1 -1
  147. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +16 -4
  148. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +0 -1
  149. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +0 -15
  150. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +0 -6
  151. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +1 -1
  152. data/lib/katello/engine.rb +6 -5
  153. data/lib/katello/permission_creator.rb +3 -3
  154. data/lib/katello/permissions/host_permissions.rb +0 -1
  155. data/lib/katello/plugin.rb +20 -16
  156. data/lib/katello/tasks/pulp3_post_migration_check.rake +1 -2
  157. data/lib/katello/tasks/reimport.rake +1 -1
  158. data/lib/katello/tasks/reports.rake +0 -12
  159. data/lib/katello/tasks/test.rake +15 -0
  160. data/lib/katello/version.rb +1 -1
  161. data/locale/action_names.rb +48 -48
  162. data/locale/bn/katello.po +137 -14
  163. data/locale/cs/katello.po +137 -14
  164. data/locale/de/katello.po +138 -15
  165. data/locale/en/katello.po +137 -14
  166. data/locale/es/katello.po +138 -15
  167. data/locale/fr/katello.po +138 -15
  168. data/locale/gu/katello.po +137 -14
  169. data/locale/hi/katello.po +137 -14
  170. data/locale/it/katello.po +138 -15
  171. data/locale/ja/katello.po +138 -15
  172. data/locale/katello.pot +969 -769
  173. data/locale/kn/katello.po +137 -14
  174. data/locale/ko/katello.po +138 -15
  175. data/locale/mr/katello.po +137 -14
  176. data/locale/or/katello.po +137 -14
  177. data/locale/pa/katello.po +137 -14
  178. data/locale/pt/katello.po +137 -14
  179. data/locale/pt_BR/katello.po +138 -15
  180. data/locale/ru/katello.po +138 -15
  181. data/locale/ta/katello.po +137 -14
  182. data/locale/te/katello.po +137 -14
  183. data/locale/zh_CN/katello.po +138 -15
  184. data/locale/zh_TW/katello.po +138 -15
  185. data/package.json +8 -25
  186. data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js +3 -0
  187. data/webpack/components/ActionableDetail.js +63 -0
  188. data/webpack/components/Content/ContentTable.js +2 -2
  189. data/webpack/components/Content/Details/ContentDetailRepositoryTableSchema.js +1 -1
  190. data/webpack/components/Content/Details/ContentDetails.js +1 -1
  191. data/webpack/components/Content/__tests__/ContentTable.test.js +2 -2
  192. data/webpack/components/Content/__tests__/__snapshots__/ContentPage.test.js.snap +1 -1
  193. data/webpack/components/EditableSwitch.js +30 -0
  194. data/webpack/components/EditableTextInput/EditableTextInput.js +120 -0
  195. data/webpack/components/EditableTextInput/__tests__/editableTextInput.test.js +52 -0
  196. data/webpack/components/EditableTextInput/editableTextInput.scss +14 -0
  197. data/webpack/components/EditableTextInput/index.js +3 -0
  198. data/webpack/{scenes/ContentViews/components → components}/Loading.js +8 -5
  199. data/webpack/{move_to_pf → components}/LoadingState/LoadingState.js +0 -0
  200. data/webpack/{move_to_pf → components}/LoadingState/LoadingState.scss +0 -0
  201. data/webpack/{move_to_pf → components}/LoadingState/LoadingState.test.js +0 -0
  202. data/webpack/{move_to_pf → components}/LoadingState/__snapshots__/LoadingState.test.js.snap +0 -0
  203. data/webpack/{move_to_pf → components}/LoadingState/index.js +0 -0
  204. data/webpack/components/MultiSelect/index.js +1 -1
  205. data/webpack/{move_to_pf → components}/OptionTooltip/OptionTooltip.scss +0 -0
  206. data/webpack/{move_to_pf → components}/OptionTooltip/__tests__/OptionTooltip.test.js +0 -0
  207. data/webpack/{move_to_pf → components}/OptionTooltip/__tests__/__snapshots__/OptionTooltip.test.js.snap +0 -0
  208. data/webpack/{move_to_pf → components}/OptionTooltip/index.js +0 -0
  209. data/webpack/components/Search/Search.js +124 -0
  210. data/webpack/components/Search/Search.test.js +2 -1
  211. data/webpack/components/Search/__snapshots__/Search.test.js.snap +2 -0
  212. data/webpack/components/Search/__tests__/search.test.js +124 -0
  213. data/webpack/components/Search/index.js +11 -87
  214. data/webpack/{move_to_pf → components}/Select/Select.js +0 -0
  215. data/webpack/components/SelectOrg/SetOrganization.js +2 -2
  216. data/webpack/components/TabWrapper/TabWrapper.js +26 -0
  217. data/webpack/components/TabWrapper/index.js +3 -0
  218. data/webpack/components/TabbedView/TabbedView.js +38 -0
  219. data/webpack/components/TabbedView/TabbedView.scss +3 -0
  220. data/webpack/components/TabbedView/index.js +3 -0
  221. data/webpack/components/Table/EmptyStateMessage.js +61 -0
  222. data/webpack/{scenes/ContentViews/Table/TableWrapper.js → components/Table/MainTable.js} +23 -12
  223. data/webpack/components/Table/TableWrapper.js +94 -0
  224. data/webpack/{move_to_pf → components}/TooltipButton/TooltipButton.js +0 -0
  225. data/webpack/{move_to_pf → components}/TooltipButton/TooltipButton.scss +0 -0
  226. data/webpack/{move_to_pf → components}/TooltipButton/TooltipButton.test.js +0 -0
  227. data/webpack/{move_to_pf → components}/TooltipButton/__snapshots__/TooltipButton.test.js.snap +0 -0
  228. data/webpack/{move_to_pf → components}/TooltipButton/index.js +0 -0
  229. data/webpack/components/TypeAhead/TypeAhead.js +109 -0
  230. data/webpack/{move_to_pf → components}/TypeAhead/TypeAhead.scss +0 -0
  231. data/webpack/components/TypeAhead/helpers/commonPropTypes.js +35 -0
  232. data/webpack/components/TypeAhead/helpers/helpers.js +32 -0
  233. data/webpack/components/TypeAhead/index.js +3 -0
  234. data/webpack/{move_to_pf/TypeAhead → components/TypeAhead/pf3Search}/TypeAheadInput.js +3 -6
  235. data/webpack/{move_to_pf/TypeAhead → components/TypeAhead/pf3Search}/TypeAheadItems.js +3 -7
  236. data/webpack/components/TypeAhead/pf3Search/TypeAheadSearch.js +52 -0
  237. data/webpack/components/TypeAhead/pf4Search/TypeAheadInput.js +44 -0
  238. data/webpack/components/TypeAhead/pf4Search/TypeAheadInput.scss +11 -0
  239. data/webpack/components/TypeAhead/pf4Search/TypeAheadItems.js +57 -0
  240. data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.js +66 -0
  241. data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.scss +5 -0
  242. data/webpack/components/extensions/about/__tests__/SystemStatuses.test.js +1 -1
  243. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/CollapseSubscriptionGroupButton.js +0 -0
  244. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/CollapseSubscriptionGroupButton.test.js +0 -0
  245. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/Table.js +0 -0
  246. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/Table.test.js +0 -0
  247. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBody.js +0 -0
  248. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBody.test.js +0 -0
  249. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBodyMessage.js +0 -0
  250. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableBodyMessage.test.js +0 -0
  251. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableFixtures.js +0 -0
  252. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionCell.js +0 -0
  253. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionCell.test.js +0 -0
  254. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionHeaderCell.js +0 -0
  255. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/TableSelectionHeaderCell.test.js +0 -0
  256. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/CollapseSubscriptionGroupButton.test.js.snap +0 -0
  257. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/Table.test.js.snap +0 -0
  258. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableBody.test.js.snap +0 -0
  259. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableBodyMessage.test.js.snap +0 -0
  260. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableSelectionCell.test.js.snap +0 -0
  261. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/__snapshots__/TableSelectionHeaderCell.test.js.snap +0 -0
  262. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/components/index.js +0 -0
  263. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/EntitlementsInlineEditFormatter.js +1 -1
  264. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/__tests__/EntitlementsInlineEditFormatter.test.js +0 -0
  265. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/__tests__/__snapshots__/EntitlementsInlineEditFormatter.test.js.snap +0 -0
  266. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/cellFormatter.js +0 -0
  267. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/collapseableAndSelectionCellFormatter.js +0 -0
  268. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/ellipsisCellFormatter.js +0 -0
  269. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/headerFormatter.js +0 -0
  270. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/index.js +0 -0
  271. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/selectionCellFormatter.js +0 -0
  272. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/formatters/selectionHeaderCellFormatter.js +0 -0
  273. data/webpack/{move_to_foreman/components/common/table → components/pf3Table}/index.js +0 -0
  274. data/webpack/{move_to_pf → components}/react-bootstrap-select/index.js +0 -0
  275. data/webpack/containers/Application/config.js +5 -0
  276. data/webpack/containers/Application/overrides.scss +5 -0
  277. data/webpack/global_test_setup.js +3 -1
  278. data/webpack/redux/OrganizationProducts/OrganizationProductsActions.js +1 -1
  279. data/webpack/redux/OrganizationProducts/__tests__/OrganizationProductsActions.test.js +2 -2
  280. data/webpack/redux/actions/RedHatRepositories/enabled.js +1 -1
  281. data/webpack/redux/actions/RedHatRepositories/helpers.js +1 -1
  282. data/webpack/redux/actions/RedHatRepositories/repositorySetRepositories.js +1 -1
  283. data/webpack/redux/reducers/index.js +2 -0
  284. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsActions.js +1 -1
  285. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsTableSchema.js +1 -1
  286. data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsActions.js +1 -1
  287. data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailsActions.test.js +2 -2
  288. data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsTable.test.js +1 -1
  289. data/webpack/scenes/ContentViews/ContentViewSelectors.js +1 -2
  290. data/webpack/scenes/ContentViews/ContentViewsActions.js +4 -4
  291. data/webpack/scenes/ContentViews/ContentViewsConstants.js +4 -1
  292. data/webpack/scenes/ContentViews/ContentViewsPage.js +12 -6
  293. data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +44 -0
  294. data/webpack/scenes/ContentViews/Details/ContentViewDetailReducer.js +23 -0
  295. data/webpack/scenes/ContentViews/{details → Details}/ContentViewDetailSelectors.js +3 -0
  296. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +70 -0
  297. data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +116 -0
  298. data/webpack/scenes/ContentViews/{details → Details}/DetailsContainer.js +8 -4
  299. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +101 -0
  300. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +106 -0
  301. data/webpack/scenes/ContentViews/Details/contentViewInfo.scss +8 -0
  302. data/webpack/scenes/ContentViews/Details/index.js +7 -0
  303. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +51 -36
  304. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +47 -44
  305. data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +31 -0
  306. data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +2 -1
  307. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +173 -23
  308. data/webpack/scenes/ContentViews/components/ContentViewIcon.js +26 -0
  309. data/webpack/scenes/ContentViews/components/{contentViewName.scss → contentViewIcon.scss} +0 -0
  310. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsActions.js +1 -1
  311. data/webpack/scenes/ModuleStreams/Details/Profiles/TableSchema.js +1 -1
  312. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailsActions.test.js +2 -2
  313. data/webpack/scenes/ModuleStreams/ModuleStreamsActions.js +1 -1
  314. data/webpack/scenes/ModuleStreams/ModuleStreamsTableSchema.js +1 -1
  315. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsTable.test.js +1 -1
  316. data/webpack/scenes/Organizations/OrganizationSelectors.js +14 -0
  317. data/webpack/scenes/Products/ProductActions.js +1 -1
  318. data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +1 -1
  319. data/webpack/scenes/Settings/SettingsConstants.js +3 -0
  320. data/webpack/scenes/Settings/SettingsReducer.js +33 -0
  321. data/webpack/scenes/Settings/SettingsSelectors.js +4 -0
  322. data/webpack/scenes/Settings/index.js +2 -1
  323. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailActions.js +1 -1
  324. data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +1 -1
  325. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +59 -73
  326. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss +15 -0
  327. data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +43 -1
  328. data/webpack/scenes/Subscriptions/Manifest/ManifestConstants.js +8 -0
  329. data/webpack/scenes/Subscriptions/Manifest/ManifestHistoryTableSchema.js +1 -1
  330. data/webpack/scenes/Subscriptions/Manifest/SimpleContentAccess.js +78 -0
  331. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManageManifestModal.test.js +2 -0
  332. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +56 -1
  333. data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +114 -0
  334. data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +6 -6
  335. data/webpack/scenes/Subscriptions/Manifest/__tests__/manifest.fixtures.js +36 -0
  336. data/webpack/scenes/Subscriptions/Manifest/index.js +3 -1
  337. data/webpack/scenes/Subscriptions/SubscriptionActions.js +1 -1
  338. data/webpack/scenes/Subscriptions/SubscriptionConstants.js +4 -0
  339. data/webpack/scenes/Subscriptions/SubscriptionHelpers.js +0 -3
  340. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +38 -11
  341. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +30 -18
  342. data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +0 -3
  343. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js +1 -1
  344. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +2 -2
  345. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsTableSchema.js +1 -1
  346. data/webpack/scenes/Subscriptions/__tests__/SubscriptionHelpers.test.js +0 -11
  347. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +2 -2
  348. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +4 -4
  349. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +26 -1
  350. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionTypeFormatter.js +2 -2
  351. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +27 -21
  352. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +6 -2
  353. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +2 -2
  354. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionTypeFormatter.test.js.snap +3 -3
  355. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +1 -1
  356. data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +28 -3
  357. data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +5 -10
  358. data/webpack/scenes/Subscriptions/index.js +6 -2
  359. data/webpack/test-utils/nockWrapper.js +39 -5
  360. data/webpack/test-utils/react-testing-lib-wrapper.js +35 -9
  361. data/webpack/{move_to_foreman/common → utils}/helpers.js +12 -8
  362. data/webpack/utils/useEventListener.js +37 -0
  363. metadata +143 -83
  364. data/app/lib/actions/katello/repository/verify_checksum.rb +0 -28
  365. data/app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb +0 -22
  366. data/app/lib/actions/pulp3/repository/presenters/repair_presenter.rb +0 -85
  367. data/app/lib/actions/pulp3/repository/repair.rb +0 -29
  368. data/app/services/katello/host_trace_manager.rb +0 -38
  369. data/vendor/assets/stylesheets/katello/jquery.loadmask.css.scss +0 -40
  370. data/vendor/assets/stylesheets/katello/ui.spinner.css.scss +0 -3
  371. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js +0 -2
  372. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalSelectors.js +0 -2
  373. data/webpack/__mocks__/foremanReact/components/ForemanModal/index.js +0 -4
  374. data/webpack/__mocks__/foremanReact/components/Settings/SettingsActions.js +0 -4
  375. data/webpack/__mocks__/foremanReact/components/Settings/SettingsConstants.js +0 -2
  376. data/webpack/move_to_pf/TypeAhead/TypeAhead.js +0 -138
  377. data/webpack/move_to_pf/TypeAhead/helpers.js +0 -5
  378. data/webpack/scenes/ContentViews/components/ContentViewName.js +0 -33
  379. data/webpack/scenes/ContentViews/components/EmptyStateMessage.js +0 -43
  380. data/webpack/scenes/ContentViews/details/ContentViewDetailActions.js +0 -12
  381. data/webpack/scenes/ContentViews/expansions/RepositoriesExpansion.js +0 -12
@@ -695,6 +695,7 @@ msgid "An error occurred saving the Environment:"
695
695
  msgstr ""
696
696
 
697
697
  #: app/assets/javascripts/bastion_katello/content-views/details/filters/edit-filter.controller.js
698
+ #: app/assets/javascripts/bastion_katello/content-views/details/filters/filter-details.controller.js
698
699
  msgid "An error occurred saving the Filter:"
699
700
  msgstr ""
700
701
 
@@ -1258,6 +1259,18 @@ msgstr ""
1258
1259
  msgid "Changing default settings requires subscription-manager version 1.10 or newer to be installed on this host."
1259
1260
  msgstr ""
1260
1261
 
1262
+ #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html
1263
+ msgid ""
1264
+ "Changing the Content View will not affect the Content Host until its next checkin.\n"
1265
+ " To update the Content Host immediately run the following command:"
1266
+ msgstr ""
1267
+
1268
+ #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-environment-modal.html
1269
+ msgid ""
1270
+ "Changing the Content View will not affect the Content Hosts until their next checkin.\n"
1271
+ " To update the Content Hosts immediately run the following command:"
1272
+ msgstr ""
1273
+
1261
1274
  #: app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html
1262
1275
  #: app/assets/javascripts/bastion_katello/files/details/views/file-info.html
1263
1276
  #: app/assets/javascripts/bastion_katello/packages/details/views/package-info.html
@@ -2070,6 +2083,11 @@ msgstr ""
2070
2083
  msgid "Enable"
2071
2084
  msgstr ""
2072
2085
 
2086
+ #: app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html
2087
+ #: app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html
2088
+ msgid "Enable on Registration"
2089
+ msgstr ""
2090
+
2073
2091
  #: app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-traces.html
2074
2092
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html
2075
2093
  msgid "Enable Traces"
@@ -2241,6 +2259,10 @@ msgstr ""
2241
2259
  msgid "Exclude"
2242
2260
  msgstr ""
2243
2261
 
2262
+ #: app/assets/javascripts/bastion_katello/content-views/details/filters/views/module-stream-filter-details.html
2263
+ msgid "Exclude all Module Streams with no errata."
2264
+ msgstr ""
2265
+
2244
2266
  #: app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html
2245
2267
  msgid "Exclude all RPMs with no errata."
2246
2268
  msgstr ""
@@ -2338,6 +2360,10 @@ msgstr ""
2338
2360
  msgid "Filter Saved"
2339
2361
  msgstr ""
2340
2362
 
2363
+ #: app/assets/javascripts/bastion_katello/content-views/details/filters/filter-details.controller.js
2364
+ msgid "Filter Updated -"
2365
+ msgstr ""
2366
+
2341
2367
  #: app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-details.html
2342
2368
  msgid "Filter:"
2343
2369
  msgstr ""
@@ -2601,6 +2627,10 @@ msgstr ""
2601
2627
  msgid "Include"
2602
2628
  msgstr ""
2603
2629
 
2630
+ #: app/assets/javascripts/bastion_katello/content-views/details/filters/views/module-stream-filter-details.html
2631
+ msgid "Include all Module Streams with no errata."
2632
+ msgstr ""
2633
+
2604
2634
  #: app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html
2605
2635
  msgid "Include all RPMs with no errata."
2606
2636
  msgstr ""
@@ -3473,7 +3503,6 @@ msgid "None"
3473
3503
  msgstr ""
3474
3504
 
3475
3505
  #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html
3476
- #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html
3477
3506
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions.html
3478
3507
  msgid "Not Applicable"
3479
3508
  msgstr ""
@@ -4742,6 +4771,10 @@ msgstr ""
4742
4771
  msgid "Selecting \"Complete Sync\" will cause only Yum repositories of the selected product to be synced. Selecting \"Validate Content\" will cause only Yum repositories using the \"Immediate\" or \"Background\" download policies will be synced."
4743
4772
  msgstr ""
4744
4773
 
4774
+ #: app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html
4775
+ msgid "Selecting this option will automatically enable this Repository when a Host registers and consumes this subscription."
4776
+ msgstr ""
4777
+
4745
4778
  #: app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html
4746
4779
  msgid "Selecting this option will result in contents that are no longer part of the upstream repository being removed during synchronization."
4747
4780
  msgstr ""
@@ -5716,6 +5749,11 @@ msgstr ""
5716
5749
  msgid "Usage Type"
5717
5750
  msgstr ""
5718
5751
 
5752
+ #: app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html
5753
+ #: app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html
5754
+ msgid "Use Ctrl-click to multi-select/deselect items."
5755
+ msgstr ""
5756
+
5719
5757
  #: app/assets/javascripts/bastion_katello/products/details/repositories/http-proxy-service.js
5720
5758
  msgid "Use specific HTTP Proxy"
5721
5759
  msgstr ""
@@ -6022,12 +6060,15 @@ msgstr ""
6022
6060
  msgid "You currently don't have any Products associated with this Content Credential."
6023
6061
  msgstr ""
6024
6062
 
6025
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6026
6063
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6027
- #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6028
6064
  msgid "You currently don't have any Products to subscribe to, you can add Products after selecting 'Products' under 'Content' in the main menu"
6029
6065
  msgstr ""
6030
6066
 
6067
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6068
+ #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6069
+ msgid "You currently don't have any Products to subscribe to. You can add Products after selecting 'Products' under 'Content' in the main menu."
6070
+ msgstr ""
6071
+
6031
6072
  #: app/assets/javascripts/bastion_katello/products/views/products.html
6032
6073
  msgid "You currently don't have any Products<span bst-feature-flag=\"custom_products\">, you can add Products using the button on the right</span>."
6033
6074
  msgstr ""
@@ -6053,7 +6094,7 @@ msgid "You currently don't have any Subscriptions associated with this Activatio
6053
6094
  msgstr ""
6054
6095
 
6055
6096
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions-list.html
6056
- msgid "You currently don't have any Subscriptions associated with this Content Host, you can add Subscriptions after selecting the 'Add' tab."
6097
+ msgid "You currently don't have any Subscriptions associated with this Content Host. You can add Subscriptions after selecting the 'Add' tab."
6057
6098
  msgstr ""
6058
6099
 
6059
6100
  #: app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans.html
@@ -6577,13 +6577,13 @@ msgid ""
6577
6577
  "Credential."
6578
6578
  msgstr ""
6579
6579
 
6580
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6581
6580
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6582
6581
  msgid ""
6583
6582
  "You currently don't have any Products to subscribe to, you can add Products "
6584
6583
  "after selecting 'Products' under 'Content' in the main menu"
6585
6584
  msgstr ""
6586
6585
 
6586
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6587
6587
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6588
6588
  msgid ""
6589
6589
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6775,7 +6775,6 @@ msgstr ""
6775
6775
  "Actualmente no tiene ningún producto asociado con esta credencial de "
6776
6776
  "contenidos."
6777
6777
 
6778
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6779
6778
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6780
6779
  msgid ""
6781
6780
  "You currently don't have any Products to subscribe to, you can add Products "
@@ -6785,6 +6784,7 @@ msgstr ""
6785
6784
  "productos después de seleccionar 'Productos' en 'Contenido' en el menú "
6786
6785
  "principal"
6787
6786
 
6787
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6788
6788
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6789
6789
  msgid ""
6790
6790
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6840,7 +6840,6 @@ msgstr ""
6840
6840
  "Vous n'avez actuellement aucun produit associé à ces informations "
6841
6841
  "d'identification de contenu."
6842
6842
 
6843
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6844
6843
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6845
6844
  msgid ""
6846
6845
  "You currently don't have any Products to subscribe to, you can add Products "
@@ -6850,6 +6849,7 @@ msgstr ""
6850
6849
  " ajouter des Produits après avoir sélectionné « Produits » sous « Contenu » "
6851
6850
  "dans le menu principal"
6852
6851
 
6852
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6853
6853
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6854
6854
  msgid ""
6855
6855
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6577,13 +6577,13 @@ msgid ""
6577
6577
  "Credential."
6578
6578
  msgstr ""
6579
6579
 
6580
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6581
6580
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6582
6581
  msgid ""
6583
6582
  "You currently don't have any Products to subscribe to, you can add Products "
6584
6583
  "after selecting 'Products' under 'Content' in the main menu"
6585
6584
  msgstr ""
6586
6585
 
6586
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6587
6587
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6588
6588
  msgid ""
6589
6589
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6503,13 +6503,13 @@ msgid ""
6503
6503
  "Credential."
6504
6504
  msgstr "現在、このこの認証情報に関連付けられた製品がありません。"
6505
6505
 
6506
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6507
6506
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6508
6507
  msgid ""
6509
6508
  "You currently don't have any Products to subscribe to, you can add Products "
6510
6509
  "after selecting 'Products' under 'Content' in the main menu"
6511
6510
  msgstr "現在、サブスクライブする製品がありません。メインメニューの「コンテンツ」の下にある「製品」を選択して製品を追加できます。"
6512
6511
 
6512
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6513
6513
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6514
6514
  msgid ""
6515
6515
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6411,13 +6411,13 @@ msgid ""
6411
6411
  "Credential."
6412
6412
  msgstr ""
6413
6413
 
6414
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6415
6414
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6416
6415
  msgid ""
6417
6416
  "You currently don't have any Products to subscribe to, you can add Products "
6418
6417
  "after selecting 'Products' under 'Content' in the main menu"
6419
6418
  msgstr ""
6420
6419
 
6420
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6421
6421
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6422
6422
  msgid ""
6423
6423
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6753,7 +6753,6 @@ msgid ""
6753
6753
  msgstr ""
6754
6754
  "No momento, você não tem produtos associados a essa credencial de conteúdo."
6755
6755
 
6756
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6757
6756
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6758
6757
  msgid ""
6759
6758
  "You currently don't have any Products to subscribe to, you can add Products "
@@ -6762,6 +6761,7 @@ msgstr ""
6762
6761
  "No momento, você não tem nenhum produto para subscrição, você pode adicionar"
6763
6762
  " Produtos depois de selecionar 'Produtos' sob 'Conteúdo' no menu principal."
6764
6763
 
6764
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6765
6765
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6766
6766
  msgid ""
6767
6767
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6518,13 +6518,13 @@ msgid ""
6518
6518
  "Credential."
6519
6519
  msgstr ""
6520
6520
 
6521
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6522
6521
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6523
6522
  msgid ""
6524
6523
  "You currently don't have any Products to subscribe to, you can add Products "
6525
6524
  "after selecting 'Products' under 'Content' in the main menu"
6526
6525
  msgstr ""
6527
6526
 
6527
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6528
6528
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6529
6529
  msgid ""
6530
6530
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6446,13 +6446,13 @@ msgid ""
6446
6446
  "Credential."
6447
6447
  msgstr "您目前没有任何与此内容凭证关联的产品。"
6448
6448
 
6449
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6450
6449
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6451
6450
  msgid ""
6452
6451
  "You currently don't have any Products to subscribe to, you can add Products "
6453
6452
  "after selecting 'Products' under 'Content' in the main menu"
6454
6453
  msgstr "您目前没有任何要订阅的产品,在主菜单的 ‘内容’ 项下选择 ‘产品’ 后即可添加产品。"
6455
6454
 
6455
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6456
6456
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6457
6457
  msgid ""
6458
6458
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -6398,13 +6398,13 @@ msgid ""
6398
6398
  "Credential."
6399
6399
  msgstr ""
6400
6400
 
6401
- #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6402
6401
  #: app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
6403
6402
  msgid ""
6404
6403
  "You currently don't have any Products to subscribe to, you can add Products "
6405
6404
  "after selecting 'Products' under 'Content' in the main menu"
6406
6405
  msgstr "您目前沒有任何能訂閱的產品,您可在選擇了主選單中「內容」下的「產品」之後來新增產品。"
6407
6406
 
6407
+ #: app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html
6408
6408
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html
6409
6409
  msgid ""
6410
6410
  "You currently don't have any Products to subscribe to. You can add Products "
@@ -13,7 +13,6 @@ angular.module('Bastion.products').factory('ProductBulkAction',
13
13
  return BastionResource('katello/api/v2/products/bulk/:action', {}, {
14
14
  removeProducts: {method: 'PUT', params: {action: 'destroy'}},
15
15
  syncProducts: {method: 'PUT', params: {action: 'sync'}},
16
- verifyChecksumProducts: {method: 'PUT', params: {action: 'verify_checksum'}},
17
16
  updateProductSyncPlan: {method: 'PUT', params: {action: 'sync_plan'}},
18
17
  updateProductHttpProxy: {method: 'PUT', params: {action: 'http_proxy'}}
19
18
  });
@@ -70,12 +70,6 @@
70
70
  }, errorHandler);
71
71
  };
72
72
 
73
- $scope.verifyChecksum = function (repository) {
74
- Repository.verifyChecksum({id: repository.id}, function (task) {
75
- $state.go('product.repository.tasks.details', {taskId: task.id});
76
- }, errorHandler);
77
- };
78
-
79
73
  $scope.republishRepository = function (repository) {
80
74
  Repository.republish({id: repository.id}, function (task) {
81
75
  $state.go('product.repository.tasks.details', {taskId: task.id});
@@ -32,12 +32,6 @@
32
32
  </a>
33
33
  </li>
34
34
 
35
- <li role="menuitem" ng-hide="hideSyncButton(repository, true)" ng-class="{disabled: disableSyncLink()}">
36
- <a ng-click="verifyChecksum(repository)" disable-link="disableSyncLink()" translate>
37
- Verify Content Checksum
38
- </a>
39
- </li>
40
-
41
35
  <li role="menuitem" ng-hide="syncInProgress(repository.last_sync) || denied('edit_products', product)">
42
36
  <a ng-click="republishRepository(repository)" translate>
43
37
  Republish Repository Metadata
@@ -96,4 +90,4 @@
96
90
  <div data-block="content">
97
91
  <section ui-view></section>
98
92
  </div>
99
- </div>
93
+ </div>
@@ -150,6 +150,15 @@
150
150
  </dd>
151
151
  </span>
152
152
 
153
+ <span ng-show="repository.content_type === 'yum' && !product.redhat">
154
+ <dt translate>Enable on Registration</dt>
155
+ <dd bst-edit-checkbox="repository.auto_enabled"
156
+ formatter="booleanToYesNo"
157
+ on-save="save(repository)"
158
+ readonly="denied('edit_products', product)">
159
+ </dd>
160
+ </span>
161
+
153
162
  <span>
154
163
  <dt translate>HTTP Proxy</dt>
155
164
  <dd bst-edit-custom="repository.http_proxy_policy"
@@ -196,6 +205,7 @@
196
205
  formatter="yumIgnorableContentFilter"
197
206
  formatter-options="repository"
198
207
  >
208
+ <div translate>Use Ctrl-click to multi-select/deselect items.</div>
199
209
  <select id="ignorable_content"
200
210
  name="ignorable_content"
201
211
  multiple="true"
@@ -208,7 +218,7 @@
208
218
  <dt translate>Publish via HTTPS</dt>
209
219
  <dd translate>Yes</dd>
210
220
 
211
- <span ng-hide="repository.content_type === 'ostree' || repository.content_type === 'docker'">
221
+ <span ng-hide="repository.content_type === 'ostree'">
212
222
  <dt translate>Publish via HTTP</dt>
213
223
  <dd bst-edit-checkbox="repository.unprotected"
214
224
  formatter="booleanToYesNo"
@@ -62,7 +62,7 @@ angular.module('Bastion.repositories').controller('NewRepositoryController',
62
62
  };
63
63
 
64
64
  $scope.repository = new Repository({'product_id': $scope.$stateParams.productId, unprotected: true,
65
- 'checksum_type': null, 'mirror_on_sync': true, 'verify_ssl_on_sync': true,
65
+ 'checksum_type': null, 'mirror_on_sync': true, 'verify_ssl_on_sync': true, 'auto_enabled': true,
66
66
  'download_policy': BastionConfig.defaultDownloadPolicy, 'arch': null,
67
67
  'ostree_upstream_sync_policy': 'latest'});
68
68
 
@@ -63,7 +63,7 @@
63
63
  ng-model="repository.url"
64
64
  type="text"/>
65
65
  <p class="help-block" ng-show="repository.content_type === 'docker'" translate>
66
- URL of the registry you want to sync. Example: https://registry-1.docker.io/ or https://quay.io/
66
+ URL of the registry you want to sync. Example: https://registry-1.docker.io/
67
67
  </p>
68
68
  <p class="help-block" ng-show="repository.content_type === 'ansible_collection'" translate>
69
69
  Content synced depends on the specifity of the URL and/or the optional requirements.yaml specified below <a class="fa fa-question-circle" ng-show="repository.content_type === 'ansible_collection'"
@@ -144,7 +144,7 @@
144
144
  ng-model="repository.docker_upstream_name"
145
145
  type="text"/>
146
146
  <p class="help-block" translate>
147
- Name of the upstream repository you want to sync. Example: 'quay/busybox' or 'fedora/ssh'.
147
+ Name of the upstream repository you want to sync. Example: 'busybox' or 'fedora/ssh'.
148
148
  </p>
149
149
 
150
150
  </div>
@@ -157,8 +157,9 @@
157
157
  ng-options="id as name for (id, name) in ignorableYumContentUnits">
158
158
  </select>
159
159
 
160
- <p class="help-block" translate>
161
- Select content units to ignore while synchronizing this repository.
160
+ <p class="help-block">
161
+ <span translate>Select content units to ignore while synchronizing this repository.</span><br />
162
+ <span translate>Use Ctrl-click to multi-select/deselect items.</span>
162
163
  </p>
163
164
  </div>
164
165
 
@@ -219,6 +220,17 @@
219
220
  </p>
220
221
  </div>
221
222
 
223
+ <div class="checkbox" ng-if="repository.content_type === 'yum'">
224
+ <label>
225
+ <input id="auto_enabled" name="auto_enabled" ng-model="repository.auto_enabled" type="checkbox"/>
226
+ <span translate>Enable on Registration</span>
227
+ </label>
228
+
229
+ <p class="help-block" translate>
230
+ Selecting this option will automatically enable this Repository when a Host registers and consumes this subscription.
231
+ </p>
232
+ </div>
233
+
222
234
  <div bst-form-group label="{{ 'HTTP Proxy Policy' | translate }}">
223
235
  <select required
224
236
  id="http_proxy_policy"
@@ -17,7 +17,6 @@ angular.module('Bastion.repositories').factory('Repository',
17
17
  {
18
18
  update: { method: 'PUT' },
19
19
  sync: { method: 'POST', params: { action: 'sync' } },
20
- verifyChecksum: { method: 'POST', params: { action: 'verify_checksum' }},
21
20
  removePackages: { method: 'PUT', params: { action: 'remove_packages'}},
22
21
  removeContent: { method: 'PUT', params: { action: 'remove_content'}},
23
22
  autocomplete: {method: 'GET', isArray: true, params: {id: 'auto_complete_search'}},
@@ -101,21 +101,6 @@ angular.module('Bastion.products').controller('ProductsController',
101
101
  ProductBulkAction.syncProducts(getBulkParams(), success, bulkError);
102
102
  };
103
103
 
104
- $scope.verifyChecksumProducts = function () {
105
- var success;
106
-
107
- success = function (task) {
108
- var message = translate("Product verify checksum has been initiated in the background.");
109
- Notification.setSuccessMessage(message, {
110
- link: {
111
- children: translate("Click to monitor task progress."),
112
- href: translate("/foreman_tasks/tasks/%taskId").replace('%taskId', task.id)
113
- }});
114
- };
115
-
116
- ProductBulkAction.verifyChecksumProducts(getBulkParams(), success, bulkError);
117
- };
118
-
119
104
  $scope.goToDiscoveries = function () {
120
105
  nutupane.table.rows = [];
121
106
  nutupane.table.resource.results = [];
@@ -36,12 +36,6 @@
36
36
  </a>
37
37
  </li>
38
38
 
39
- <li role="menuitem" ng-show="permitted('edit_products')" ng-class="{disabled: table.numSelected === 0}">
40
- <a ng-click="verifyChecksumProducts()" disable-link="table.numSelected === 0" translate>
41
- Verify Content Checksum
42
- </a>
43
- </li>
44
-
45
39
  <li role="menuitem" ng-show="permitted('edit_products')" ng-class="{disabled: table.numSelected === 0}">
46
40
  <a ng-click="openSyncPlanModal()" disable-link="table.numSelected === 0" translate>
47
41
  Manage Sync Plan
@@ -1,4 +1,4 @@
1
- <div bst-alert="info" ng-show="simpleContentAccessEnabled">
1
+ <div id="content-access-mode-banner" bst-alert="info" ng-show="simpleContentAccessEnabled">
2
2
  <span translate>
3
3
  This organization has Simple Content Access enabled. Hosts can consume from all repositories in their Content View regardless of subscription status.
4
4
  </span>
@@ -134,16 +134,18 @@ module Katello
134
134
  ActionView::Base.include Katello::KatelloUrlsHelper
135
135
  end
136
136
 
137
- initializer "katello.events" do
137
+ config.to_prepare do
138
138
  Katello::CandlepinEventListener.client_factory = proc do
139
139
  Katello::Messaging::Connection.create(
140
140
  connection_class: Katello::Messaging::StompConnection,
141
141
  settings: SETTINGS[:katello][:candlepin_events]
142
142
  )
143
143
  end
144
- end
145
144
 
146
- config.to_prepare do
145
+ Katello::EventDaemon.initialize
146
+ Katello::EventDaemon.register_service(:candlepin_events, Katello::CandlepinEventListener)
147
+ Katello::EventDaemon.register_service(:katello_events, Katello::EventMonitor::PollerThread)
148
+
147
149
  FastGettext.add_text_domain('katello',
148
150
  :path => File.expand_path("../../../locale", __FILE__),
149
151
  :type => :po,
@@ -222,6 +224,7 @@ module Katello
222
224
  end
223
225
 
224
226
  ::AuditSearch::ClassMethods.prepend Katello::Concerns::AuditSearch
227
+ ::Widget.singleton_class.prepend Katello::Concerns::WidgetExtensions::ClassMethods
225
228
 
226
229
  load 'katello/repository_types.rb'
227
230
  load 'katello/scheduled_jobs.rb'
@@ -230,8 +233,6 @@ module Katello
230
233
  Katello::EventQueue.register_event(Katello::Events::ImportPool::EVENT_TYPE, Katello::Events::ImportPool)
231
234
  Katello::EventQueue.register_event(Katello::Events::AutoPublishCompositeView::EVENT_TYPE, Katello::Events::AutoPublishCompositeView)
232
235
  Katello::EventQueue.register_event(Katello::Events::GenerateHostApplicability::EVENT_TYPE, Katello::Events::GenerateHostApplicability)
233
-
234
- Katello::EventDaemon.initialize
235
236
  end
236
237
 
237
238
  rake_tasks do
@@ -304,8 +304,8 @@ module Katello
304
304
  @plugin.permission :edit_products,
305
305
  {
306
306
  'katello/api/v2/products' => [:update],
307
- 'katello/api/v2/repositories' => [:update, :remove_content, :import_uploads, :upload_content, :republish, :verify_checksum],
308
- 'katello/api/v2/products_bulk_actions' => [:update_sync_plans, :update_http_proxy, :verify_checksum_products],
307
+ 'katello/api/v2/repositories' => [:update, :remove_content, :import_uploads, :upload_content, :republish],
308
+ 'katello/api/v2/products_bulk_actions' => [:update_sync_plans, :update_http_proxy],
309
309
  'katello/api/v2/content_uploads' => [:create, :update, :destroy],
310
310
  'katello/api/v2/organizations' => [:repo_discover, :cancel_repo_discover]
311
311
  },
@@ -367,7 +367,7 @@ module Katello
367
367
  :resource_type => 'Katello::Subscription'
368
368
  @plugin.permission :manage_subscription_allocations,
369
369
  {
370
- 'katello/api/v2/upstream_subscriptions' => [:index, :create, :destroy, :update, :ping]
370
+ 'katello/api/v2/upstream_subscriptions' => [:index, :create, :destroy, :update, :ping, :enable_simple_content_access, :disable_simple_content_access]
371
371
  },
372
372
  :resource_type => 'Katello::Subscription'
373
373
  end
@@ -27,7 +27,6 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
27
27
  'katello/api/v2/hosts_bulk_actions/environment_content_view',
28
28
  'katello/api/v2/hosts_bulk_actions/release_version',
29
29
  'katello/api/v2/hosts_bulk_actions/traces',
30
- 'katello/api/v2/hosts_bulk_actions/resolve_traces',
31
30
  'katello/api/rhsm/candlepin_dynflow_proxy/upload_package_profile',
32
31
  'katello/api/rhsm/candlepin_dynflow_proxy/upload_profiles',
33
32
  'katello/api/rhsm/candlepin_dynflow_proxy/deb_package_profile',
@@ -1,6 +1,6 @@
1
1
  require 'katello/permission_creator'
2
2
  require 'katello/repository_types.rb'
3
-
3
+ require 'katello/host_status_manager.rb'
4
4
  # rubocop:disable Metrics/BlockLength
5
5
  Foreman::Plugin.register :katello do
6
6
  requires_foreman '>= 1.24'
@@ -228,13 +228,16 @@ Foreman::Plugin.register :katello do
228
228
  end
229
229
  apipie_documented_controllers ["#{Katello::Engine.root}/app/controllers/katello/api/v2/*.rb"]
230
230
  apipie_ignored_controllers %w(::Api::V2::OrganizationsController)
231
+ ApipieDSL.configuration.dsl_classes_matchers.concat [
232
+ "#{Katello::Engine.root}/app/models/katello/**/*.rb"
233
+ ]
231
234
 
232
235
  parameter_filter ::Host::Managed, :host_collection_ids => [],
233
236
  :content_facet_attributes => [:content_view_id, :lifecycle_environment_id, :content_source_id,
234
237
  :host, :kickstart_repository_id],
235
238
  :subscription_facet_attributes => [:release_version, :autoheal, :purpose_usage, :purpose_role, :service_level, :host,
236
239
  {:installed_products => [:product_id, :product_name, :arch, :version]}, :facts, :hypervisor_guest_uuids => [], :purpose_addon_ids => []]
237
- parameter_filter Hostgroup, :content_view_id, :lifecycle_environment_id, :content_source_id,
240
+ parameter_filter ::Hostgroup, :content_view_id, :lifecycle_environment_id, :content_source_id,
238
241
  :kickstart_repository_id
239
242
  parameter_filter Organization, :label, :service_level
240
243
  parameter_filter SmartProxy, :download_policy, :lifecycle_environment_ids => []
@@ -267,14 +270,9 @@ Foreman::Plugin.register :katello do
267
270
  :onlyif => proc { |proxy| proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE) }
268
271
  end
269
272
 
270
- register_custom_status(Katello::ErrataStatus)
271
- register_custom_status(Katello::SubscriptionStatus)
272
- register_custom_status(Katello::PurposeSlaStatus)
273
- register_custom_status(Katello::PurposeRoleStatus)
274
- register_custom_status(Katello::PurposeUsageStatus)
275
- register_custom_status(Katello::PurposeAddonsStatus)
276
- register_custom_status(Katello::PurposeStatus)
277
- register_custom_status(Katello::TraceStatus)
273
+ ::Katello::HostStatusManager::STATUSES.each do |status_class|
274
+ register_custom_status(status_class)
275
+ end
278
276
 
279
277
  register_ping_extension { Katello::Ping.ping }
280
278
  register_status_extension { Katello::Ping.status }
@@ -290,10 +288,16 @@ Foreman::Plugin.register :katello do
290
288
  end
291
289
 
292
290
  register_facet Katello::Host::ContentFacet, :content_facet do
293
- api_view :list => 'katello/api/v2/content_facet/base_with_root', :single => 'katello/api/v2/content_facet/show'
294
- api_docs :content_facet_attributes, ::Katello::Api::V2::HostContentsController
295
- template_compatibility_properties :content_source_id, :content_source
296
- extend_model ::Katello::Concerns::ContentFacetHostExtensions
291
+ configure_host do
292
+ api_view :list => 'katello/api/v2/content_facet/base_with_root', :single => 'katello/api/v2/content_facet/show'
293
+ api_docs :content_facet_attributes, ::Katello::Api::V2::HostContentsController
294
+ template_compatibility_properties :content_source_id, :content_source
295
+ extend_model ::Katello::Concerns::ContentFacetHostExtensions
296
+ end
297
+
298
+ configure_hostgroup(::Katello::Hostgroup::ContentFacet) do
299
+ set_dependent_action :destroy
300
+ end
297
301
  end
298
302
 
299
303
  register_facet Katello::Host::SubscriptionFacet, :subscription_facet do
@@ -388,10 +392,10 @@ Foreman::Plugin.register :katello do
388
392
  'katello/containers/container.css',
389
393
  'bastion/bastion.css',
390
394
  'bastion/bastion.js',
391
- /bastion\S+.(?:svg|eot|woff|ttf)$/,
392
395
  'bastion_katello/bastion_katello.css',
393
396
  'bastion_katello/bastion_katello.js',
394
- /bastion_katello\S+.(?:svg|eot|woff|ttf)$/
397
+ 'katello/sync_management',
398
+ 'katello/common'
395
399
  ]
396
400
 
397
401
  precompile.concat(javascripts)