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
@@ -25,12 +25,18 @@ msgstr ""
25
25
  msgid " %{errata_count} Errata"
26
26
  msgstr ""
27
27
 
28
+ msgid " %{modulemd_count} Module Stream(s)"
29
+ msgstr ""
30
+
28
31
  msgid " %{package_count} Package(s)"
29
32
  msgstr ""
30
33
 
31
34
  msgid " %{puppet_module_count} Puppet Module(s)"
32
35
  msgstr ""
33
36
 
37
+ msgid " Content view updated."
38
+ msgstr ""
39
+
34
40
  msgid " Either select the latest content view or the content view version. Cannot set both."
35
41
  msgstr ""
36
42
 
@@ -299,12 +305,12 @@ msgstr ""
299
305
  msgid "A CV version already exists with the same major and minor version (%{major}.%{minor})"
300
306
  msgstr ""
301
307
 
302
- msgid "A Content View can be added by using the \"New content view\" button below."
303
- msgstr ""
304
-
305
308
  msgid "A backend service [ %s ] is unreachable"
306
309
  msgstr "無法連上後端服務 [ %s ]"
307
310
 
311
+ msgid "A content view can be added by using the \"New content view\" button below."
312
+ msgstr ""
313
+
308
314
  msgid "A content_type must be provided."
309
315
  msgstr "必須提供 content_type。"
310
316
 
@@ -560,12 +566,24 @@ msgstr ""
560
566
  msgid "Author"
561
567
  msgstr ""
562
568
 
569
+ msgid "Auto Enablement may only be set on custom repositories."
570
+ msgstr ""
571
+
563
572
  msgid "Auto Publish - Triggered by '%s'"
564
573
  msgstr ""
565
574
 
566
575
  msgid "Auto attach subscriptions"
567
576
  msgstr "自動連接訂閱"
568
577
 
578
+ msgid "Autopublish"
579
+ msgstr ""
580
+
581
+ msgid "Autosearch"
582
+ msgstr ""
583
+
584
+ msgid "Autosearch delay"
585
+ msgstr ""
586
+
569
587
  msgid "Available Entitlements"
570
588
  msgstr ""
571
589
 
@@ -587,6 +605,9 @@ msgstr "停用 Basearch"
587
605
  msgid "Basearch to enable"
588
606
  msgstr "啟用 Basearch"
589
607
 
608
+ msgid "Batch size to sync repositories in."
609
+ msgstr ""
610
+
590
611
  # translation auto-copied from project Satellite6 Katello, version Sam-1.3.0, document katello, author tchuang
591
612
  msgid "Beta"
592
613
  msgstr "Beta"
@@ -819,6 +840,9 @@ msgstr ""
819
840
  msgid "Cannot validate contents on non-yum/deb repositories."
820
841
  msgstr ""
821
842
 
843
+ msgid "Check if a connection can be made to Red Hat Subscription Management."
844
+ msgstr ""
845
+
822
846
  msgid "Check services before actions"
823
847
  msgstr ""
824
848
 
@@ -938,6 +962,9 @@ msgstr ""
938
962
  msgid "Content View Dependency Solving Default"
939
963
  msgstr ""
940
964
 
965
+ msgid "Content View Details"
966
+ msgstr ""
967
+
941
968
  # translation auto-copied from project Satellite6 Katello, version Sam-1.3.0, document katello, author tchuang
942
969
  #, fuzzy
943
970
  msgid "Content View Filter id"
@@ -971,6 +998,9 @@ msgstr "內容視域"
971
998
  msgid "Content files to upload. Can be a single file or array of files."
972
999
  msgstr "欲上傳的內容檔案。能夠是單一檔案或檔案集。"
973
1000
 
1001
+ msgid "Content host must be unregistered before performing this action."
1002
+ msgstr ""
1003
+
974
1004
  msgid "Content source ID"
975
1005
  msgstr ""
976
1006
 
@@ -1002,6 +1032,9 @@ msgstr "內容視域的數字識別子"
1002
1032
  msgid "Content view version identifier"
1003
1033
  msgstr "內容視域的版本識別子"
1004
1034
 
1035
+ msgid "Content_Host_Status"
1036
+ msgstr ""
1037
+
1005
1038
  msgid "Contents of requirement yaml file to sync from URL"
1006
1039
  msgstr ""
1007
1040
 
@@ -1513,10 +1546,13 @@ msgstr "停用"
1513
1546
  msgid "Disable Red Hat Insights."
1514
1547
  msgstr ""
1515
1548
 
1549
+ msgid "Disable Simple Content Access"
1550
+ msgstr ""
1551
+
1516
1552
  msgid "Disable a repository from the set"
1517
1553
  msgstr ""
1518
1554
 
1519
- msgid "Disabled"
1555
+ msgid "Disable simple content access for a manifest"
1520
1556
  msgstr ""
1521
1557
 
1522
1558
  msgid "Disconnected mode"
@@ -1586,9 +1622,15 @@ msgstr ""
1586
1622
  msgid "Enable"
1587
1623
  msgstr "啟用"
1588
1624
 
1625
+ msgid "Enable Simple Content Access"
1626
+ msgstr ""
1627
+
1589
1628
  msgid "Enable a repository from the set"
1590
1629
  msgstr "啟用一個軟體庫"
1591
1630
 
1631
+ msgid "Enable simple content access for a manifest"
1632
+ msgstr ""
1633
+
1592
1634
  msgid "Enable/Disable auto publish of composite view"
1593
1635
  msgstr ""
1594
1636
 
@@ -1827,12 +1869,18 @@ msgstr "篩選在特定複合版本中的元件版本"
1827
1869
  msgid "Filtered index content"
1828
1870
  msgstr ""
1829
1871
 
1872
+ msgid "Filters"
1873
+ msgstr ""
1874
+
1830
1875
  msgid "Finish action timeout"
1831
1876
  msgstr ""
1832
1877
 
1833
1878
  msgid "Finished"
1834
1879
  msgstr ""
1835
1880
 
1881
+ msgid "For pages that support it, automatically perform search while typing in search input."
1882
+ msgstr ""
1883
+
1836
1884
  msgid ""
1837
1885
  "Force a sync and validate the checksums of all content. Non-yum repositories (or those with \\\n"
1838
1886
  " On Demand download policy) are skipped."
@@ -1924,6 +1972,9 @@ msgstr ""
1924
1972
  msgid "Has to be > 0"
1925
1973
  msgstr ""
1926
1974
 
1975
+ msgid "History"
1976
+ msgstr ""
1977
+
1927
1978
  # translation auto-copied from project Satellite6 Foreman Discovery, version 6.1, document foreman_discovery
1928
1979
  msgid "Host"
1929
1980
  msgstr "主機"
@@ -2006,6 +2057,9 @@ msgstr ""
2006
2057
  msgid "Hosts with Installable Errata"
2007
2058
  msgstr "主機與可安裝的勘誤"
2008
2059
 
2060
+ msgid "How many repositories should be synced concurrently on the capsule. A smaller number may lead to longer sync times. A larger number will increase dynflow load."
2061
+ msgstr ""
2062
+
2009
2063
  msgid "How the logic of solving dependencies in a Content View is managed. Conservative will only add packages to solve the dependencies if the package needed doesn't exist. Greedy will pull in the latest package to solve a dependency even if it already does exist in the repository."
2010
2064
  msgstr ""
2011
2065
 
@@ -2145,6 +2199,9 @@ msgstr ""
2145
2199
  msgid "Identifiers for Lifecycle Environment"
2146
2200
  msgstr ""
2147
2201
 
2202
+ msgid "If Autosearch is enabled, delay in milliseconds before executing searches while typing."
2203
+ msgstr ""
2204
+
2148
2205
  msgid "If hosts fail to register because of duplicate DMI UUIDs add their comma-separated values here. Subsequent registrations will generate a unique DMI UUID for the affected hosts."
2149
2206
  msgstr ""
2150
2207
 
@@ -2187,6 +2244,9 @@ msgstr ""
2187
2244
  msgid "Import Manifest"
2188
2245
  msgstr "匯入清單"
2189
2246
 
2247
+ msgid "Import New Manifest"
2248
+ msgstr ""
2249
+
2190
2250
  msgid "Import Puppet classes"
2191
2251
  msgstr ""
2192
2252
 
@@ -2227,6 +2287,9 @@ msgstr ""
2227
2287
  msgid "Incremental Update of %{content_view_count} Content View Version(s) "
2228
2288
  msgstr ""
2229
2289
 
2290
+ msgid "Incremental update requires at least one content unit"
2291
+ msgstr ""
2292
+
2230
2293
  msgid "Incremental update specified for composite %{name} version %{version}, but no components updated."
2231
2294
  msgstr "已為複合式的 %{name} 版本 %{version} 指定了遞增的更新,不過沒有元件被更新。"
2232
2295
 
@@ -2446,6 +2509,9 @@ msgstr ""
2446
2509
  msgid "Kickstart repository was not set for host '%{host}'"
2447
2510
  msgstr ""
2448
2511
 
2512
+ msgid "Label"
2513
+ msgstr ""
2514
+
2449
2515
  msgid "Label of the content"
2450
2516
  msgstr "內容的標籤"
2451
2517
 
@@ -2458,6 +2524,9 @@ msgstr ""
2458
2524
  msgid "Learn more about adding Subscription Manifests"
2459
2525
  msgstr ""
2460
2526
 
2527
+ msgid "Learn more about your overall subscription usage (opens in a new tab)"
2528
+ msgstr ""
2529
+
2461
2530
  msgid "Library lifecycle environments may not be deleted."
2462
2531
  msgstr "不可刪除函式庫生命週期環境。"
2463
2532
 
@@ -2764,6 +2833,9 @@ msgstr ""
2764
2833
  msgid "Manifest refreshed"
2765
2834
  msgstr ""
2766
2835
 
2836
+ msgid "Mark Content Host Statuses as Unknown for %s"
2837
+ msgstr ""
2838
+
2767
2839
  msgid "Matched"
2768
2840
  msgstr ""
2769
2841
 
@@ -2877,9 +2949,6 @@ msgstr "新套件:%{count} (%{size})。"
2877
2949
  msgid "No"
2878
2950
  msgstr ""
2879
2951
 
2880
- msgid "No Content Guard configured!"
2881
- msgstr ""
2882
-
2883
2952
  # translation auto-copied from project Satellite6 Katello, version Sam-1.3.0, document katello, author Chester Cheng
2884
2953
  msgid "No Content View"
2885
2954
  msgstr "沒有內容視域"
@@ -2946,6 +3015,9 @@ msgstr ""
2946
3015
  msgid "No manifest file uploaded"
2947
3016
  msgstr "未上傳清單檔案"
2948
3017
 
3018
+ msgid "No matching content views found"
3019
+ msgstr ""
3020
+
2949
3021
  # translation auto-copied from project CFSE, version sam-1.2, document app, author tchuang
2950
3022
  msgid "No new packages installed"
2951
3023
  msgstr "未安裝新的套件"
@@ -3028,6 +3100,9 @@ msgstr "非系統事件"
3028
3100
  msgid "None"
3029
3101
  msgstr "無"
3030
3102
 
3103
+ msgid "None provided"
3104
+ msgstr ""
3105
+
3031
3106
  msgid "Not Specified"
3032
3107
  msgstr ""
3033
3108
 
@@ -3091,6 +3166,9 @@ msgstr ""
3091
3166
  msgid "One or more hosts not found"
3092
3167
  msgstr ""
3093
3168
 
3169
+ msgid "One or more ids (%{ids}) were not found for %{assoc}. You may not have permissions to see them."
3170
+ msgstr ""
3171
+
3094
3172
  msgid "One or more packages failed to sync properly."
3095
3173
  msgstr "一或更多個套件無法正確同步。"
3096
3174
 
@@ -3121,6 +3199,9 @@ msgstr "組織 %s 已被刪除。"
3121
3199
  msgid "Organization ID"
3122
3200
  msgstr "組織 ID"
3123
3201
 
3202
+ msgid "Organization ID is required"
3203
+ msgstr ""
3204
+
3124
3205
  # translation auto-copied from project CFSE, version sam-1.2, document app
3125
3206
  msgid "Organization cannot be blank."
3126
3207
  msgstr "組織不能是空的。"
@@ -3688,6 +3769,9 @@ msgstr "為 Red Hat 供應者更新之前匯入的清單"
3688
3769
  msgid "Register a host with subscription and information"
3689
3770
  msgstr ""
3690
3771
 
3772
+ msgid "Register host '%s' before attaching subscriptions"
3773
+ msgstr ""
3774
+
3691
3775
  msgid "Registry name pattern results in duplicate container image names for these repositories: %s."
3692
3776
  msgstr ""
3693
3777
 
@@ -4180,6 +4264,9 @@ msgstr "插槽:%s"
4180
4264
  msgid "Solve RPM dependencies by default on Content View publish, defaults to false"
4181
4265
  msgstr ""
4182
4266
 
4267
+ msgid "Solve dependencies"
4268
+ msgstr ""
4269
+
4183
4270
  msgid "Some of your inputs contain errors. Please update them and save your changes again."
4184
4271
  msgstr ""
4185
4272
 
@@ -4233,6 +4320,9 @@ msgstr ""
4233
4320
  msgid "Subscription"
4234
4321
  msgstr "訂閱"
4235
4322
 
4323
+ msgid "Subscription Allocation"
4324
+ msgstr ""
4325
+
4236
4326
  msgid "Subscription Details"
4237
4327
  msgstr ""
4238
4328
 
@@ -4260,6 +4350,9 @@ msgstr "訂閱集區的 UUID"
4260
4350
  msgid "Subscription Status"
4261
4351
  msgstr ""
4262
4352
 
4353
+ msgid "Subscription Watch"
4354
+ msgstr ""
4355
+
4263
4356
  msgid "Subscription expiration notification"
4264
4357
  msgstr ""
4265
4358
 
@@ -4448,6 +4541,9 @@ msgstr "任務已取消"
4448
4541
  msgid "Task detail"
4449
4542
  msgstr ""
4450
4543
 
4544
+ msgid "Tasks"
4545
+ msgstr ""
4546
+
4451
4547
  msgid "Temporary"
4452
4548
  msgstr ""
4453
4549
 
@@ -4510,7 +4606,7 @@ msgstr ""
4510
4606
  msgid "The list of environments to promote the specified Content View Version to (replacing the older version)"
4511
4607
  msgstr ""
4512
4608
 
4513
- msgid "The manifest imported within Organization %{subject} is no longer valid. Attempted CDN access returned Forbidden. Refreshing the manifest may resolve this issue."
4609
+ msgid "The manifest imported within Organization %{subject} is no longer valid. Please import a new manifest."
4514
4610
  msgstr ""
4515
4611
 
4516
4612
  msgid "The number of days remaining in a subscription before you will be reminded about renewing it."
@@ -4563,6 +4659,9 @@ msgid ""
4563
4659
  " content source, operating system, and architecture"
4564
4660
  msgstr ""
4565
4661
 
4662
+ msgid "The specified organization is in Simple Content Access mode. Attaching subscriptions is disabled"
4663
+ msgstr ""
4664
+
4566
4665
  msgid "The subscription cannot be found upstream"
4567
4666
  msgstr ""
4568
4667
 
@@ -4618,6 +4717,9 @@ msgstr ""
4618
4717
  msgid "This Host is not currently registered with subscription-manager."
4619
4718
  msgstr ""
4620
4719
 
4720
+ msgid "This Organization's subscription manifest has expired. Please import a new manifest."
4721
+ msgstr ""
4722
+
4621
4723
  msgid "This action doesn't support package groups"
4622
4724
  msgstr ""
4623
4725
 
@@ -4630,6 +4732,9 @@ msgstr ""
4630
4732
  msgid "This content view version doesn't have a history."
4631
4733
  msgstr ""
4632
4734
 
4735
+ msgid "This host's organization is in Simple Content Access mode. Attaching subscriptions is disabled."
4736
+ msgstr ""
4737
+
4633
4738
  msgid "This host's organization is in Simple Content Access mode. Auto-attach is disabled"
4634
4739
  msgstr ""
4635
4740
 
@@ -4642,6 +4747,9 @@ msgstr ""
4642
4747
  msgid "This is disabled because disconnected mode is enabled."
4643
4748
  msgstr ""
4644
4749
 
4750
+ msgid "This is disabled because no connection could be made to the upstream Subscription Allocation."
4751
+ msgstr ""
4752
+
4645
4753
  msgid "This is disabled because no manifest exists"
4646
4754
  msgstr ""
4647
4755
 
@@ -4688,10 +4796,13 @@ msgstr ""
4688
4796
  msgid "Title"
4689
4797
  msgstr "提示"
4690
4798
 
4799
+ msgid "Toggling Simple Content Access will refresh your manifest."
4800
+ msgstr ""
4801
+
4691
4802
  msgid "Total module count: %s."
4692
4803
  msgstr "模組總數:%s。"
4693
4804
 
4694
- msgid "Total tasks: "
4805
+ msgid "Total steps: "
4695
4806
  msgstr ""
4696
4807
 
4697
4808
  msgid "Tracer profile uploaded successfully"
@@ -4706,13 +4817,13 @@ msgstr ""
4706
4817
  msgid "Trigger an auto-attach of subscriptions on one or more hosts"
4707
4818
  msgstr ""
4708
4819
 
4709
- msgid "Trying to cancel the synchronization..."
4820
+ msgid "Try changing your search settings."
4710
4821
  msgstr ""
4711
4822
 
4712
- msgid "Type"
4823
+ msgid "Trying to cancel the synchronization..."
4713
4824
  msgstr ""
4714
4825
 
4715
- msgid "USMA"
4826
+ msgid "Type"
4716
4827
  msgstr ""
4717
4828
 
4718
4829
  msgid "UUID"
@@ -4781,6 +4892,9 @@ msgstr "取消訂閱的連結"
4781
4892
  msgid "Unentitled"
4782
4893
  msgstr ""
4783
4894
 
4895
+ msgid "Unfiltered params array: %s."
4896
+ msgstr ""
4897
+
4784
4898
  msgid "Uninstall packages remotely"
4785
4899
  msgstr "遠端移除套件"
4786
4900
 
@@ -4806,6 +4920,9 @@ msgstr ""
4806
4920
  msgid "Unlimited"
4807
4921
  msgstr ""
4808
4922
 
4923
+ msgid "Unregister host %s before assigning an organization"
4924
+ msgstr ""
4925
+
4809
4926
  msgid "Unregister the host as a subscription consumer"
4810
4927
  msgstr ""
4811
4928
 
@@ -4992,9 +5109,6 @@ msgstr "上傳需求 ID"
4992
5109
  msgid "Upstream Name cannot be blank when Repository URL is provided."
4993
5110
  msgstr ""
4994
5111
 
4995
- msgid "Upstream Subscription Management Application"
4996
- msgstr ""
4997
-
4998
5112
  msgid "Upstream identity certificate not available"
4999
5113
  msgstr "沒有上游身份憑證"
5000
5114
 
@@ -5102,6 +5216,9 @@ msgstr ""
5102
5216
  msgid "Yes"
5103
5217
  msgstr ""
5104
5218
 
5219
+ msgid "You are currently operating in disconnected mode where access to Red Hat Subcription Management is prohibited. If you would like to change this, please update the content setting 'Disconnected mode'."
5220
+ msgstr ""
5221
+
5105
5222
  msgid "You are not allowed to promote to Environments %s"
5106
5223
  msgstr "您不允許推送至環境 %s"
5107
5224
 
@@ -5195,6 +5312,9 @@ msgstr "要篩選的啟動金鑰名稱,透過"
5195
5312
  msgid "activation keys"
5196
5313
  msgstr "啟動金鑰"
5197
5314
 
5315
+ msgid "add all module streams without errata to the included/excluded list. (module stream filter only)"
5316
+ msgstr ""
5317
+
5198
5318
  msgid "add all packages without errata to the included/excluded list. (package filter only)"
5199
5319
  msgstr ""
5200
5320
 
@@ -5539,6 +5659,9 @@ msgstr ""
5539
5659
  msgid "if true, Katello will verify the upstream url's SSL certifcates are signed by a trusted CA"
5540
5660
  msgstr ""
5541
5661
 
5662
+ msgid "if true, the repositories will be automatically enabled on a registered host subscribed to this product. Default: true"
5663
+ msgstr ""
5664
+
5542
5665
  msgid "if true, will ignore the globally configured proxy when syncing"
5543
5666
  msgstr ""
5544
5667
 
data/package.json CHANGED
@@ -5,9 +5,9 @@
5
5
  "scripts": {
6
6
  "storybook": "cross-env NODE_ENV=storybook start-storybook -p 6007",
7
7
  "storybook:deploy": "cross-env NODE_ENV=storybook storybook-to-ghpages",
8
- "test": "jest webpack",
9
- "test:watch": "jest webpack --watchAll",
10
- "test:current": "jest webpack --watch",
8
+ "test": "npx jest webpack",
9
+ "test:watch": "npx jest webpack --watchAll",
10
+ "test:current": "npx jest webpack --watch",
11
11
  "format": "prettier --single-quote --trailing-comma es5 --write 'webpack/**/*.js'",
12
12
  "build": "npm run format && npm run lint",
13
13
  "lint": "npx eslint webpack/",
@@ -23,23 +23,13 @@
23
23
  "url": "https://projects.theforeman.org/projects/katello/issues"
24
24
  },
25
25
  "devDependencies": {
26
- "@babel/core": "^7.7.0",
27
26
  "@sheerun/mutationobserver-shim": "^0.3.3",
28
- "@storybook/react": "^3.2.17",
29
- "@storybook/storybook-deployer": "^2.0.0",
30
27
  "@testing-library/jest-dom": "^5.3.0",
31
28
  "@testing-library/react": "^10.0.2",
32
- "@theforeman/builder": "4.3.0",
33
- "@theforeman/vendor-dev": "4.3.0",
29
+ "@theforeman/builder": "^4.6.0",
30
+ "@theforeman/find-foreman": "^4.8.0",
34
31
  "axios-mock-adapter": "^1.10.0",
35
32
  "babel-eslint": "^10.0.3",
36
- "babel-jest": "^24.9.0",
37
- "babel-loader": "^8.0.0",
38
- "coveralls": "^3.0.0",
39
- "cross-env": "^5.2.0",
40
- "enzyme": "^3.4.0",
41
- "enzyme-adapter-react-16": "^1.4.0",
42
- "enzyme-to-json": "^3.1.2",
43
33
  "eslint": "^6.2.2",
44
34
  "eslint-config-airbnb": "^16.0.0",
45
35
  "eslint-plugin-babel": "^5.1.0",
@@ -48,22 +38,15 @@
48
38
  "eslint-plugin-jsx-a11y": "^6.0.2",
49
39
  "eslint-plugin-promise": "^4.2.1",
50
40
  "eslint-plugin-react": "^7.4.0",
51
- "identity-obj-proxy": "^3.0.0",
52
41
  "jest": "^24.9.0",
53
42
  "nock": "^12.0.3",
54
- "prettier": "^1.7.4",
55
- "react-redux-test-utils": "^0.1.1",
56
- "react-test-renderer": "^16.0.0",
57
- "redux-mock-store": "^1.3.0"
43
+ "react-test-renderer": "^16.0.0"
58
44
  },
45
+ "_comment": "We don't include @theforeman/vendor because it's assumed to be present in Foreman",
59
46
  "dependencies": {
60
- "@theforeman/vendor-core": "4.3.0",
61
- "@patternfly/react-icons": "^3.15.15",
62
- "@patternfly/react-tokens": "^2.8.13",
63
47
  "angular": "1.7.9",
64
48
  "bootstrap-select": "1.12.4",
65
- "downshift": "^1.28.0",
66
- "jed": "^1.1.1",
49
+ "downshift": "^5.4.2",
67
50
  "ngreact": "^0.5.0",
68
51
  "query-string": "^6.1.0",
69
52
  "react-bootstrap": "^0.32.1"
@@ -0,0 +1,3 @@
1
+ // eslint-disable-next-line import/prefer-default-export
2
+ export const useForemanSettings = () => ({ perPage: 20 });
3
+ export const usePaginationOptions = () => [5, 10, 20, 50];
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import {
3
+ TextListItem,
4
+ TextListItemVariants,
5
+ Tooltip,
6
+ TooltipPosition,
7
+ } from '@patternfly/react-core';
8
+ import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons';
9
+ import PropTypes from 'prop-types';
10
+
11
+ import EditableTextInput from './EditableTextInput';
12
+ import EditableSwitch from './EditableSwitch';
13
+
14
+ // To be used within a TextList
15
+ const ActionableDetail = ({
16
+ attribute, label, value, textArea, boolean, tooltip, onEdit,
17
+ }) => {
18
+ const displayProps = { attribute, value, onEdit };
19
+
20
+ return (
21
+ <React.Fragment key={label}>
22
+ <TextListItem component={TextListItemVariants.dt}>
23
+ {label}
24
+ {tooltip &&
25
+ <span className="foreman-spaced-icon">
26
+ <Tooltip
27
+ position={TooltipPosition.top}
28
+ content={tooltip}
29
+ >
30
+ <OutlinedQuestionCircleIcon />
31
+ </Tooltip>
32
+ </span>
33
+ }
34
+ </TextListItem>
35
+ <TextListItem component={TextListItemVariants.dd} className="foreman-spaced-list">
36
+ {boolean ?
37
+ <EditableSwitch {...displayProps} /> :
38
+ <EditableTextInput {...{ ...displayProps, textArea, onEdit }} />}
39
+ </TextListItem>
40
+ </React.Fragment>
41
+ );
42
+ };
43
+
44
+ ActionableDetail.propTypes = {
45
+ attribute: PropTypes.string.isRequired, // back-end name for API call
46
+ label: PropTypes.string.isRequired, // displayed label
47
+ value: PropTypes.oneOfType([ // displayed value
48
+ PropTypes.string,
49
+ PropTypes.bool,
50
+ ]).isRequired,
51
+ onEdit: PropTypes.func.isRequired,
52
+ textArea: PropTypes.bool,
53
+ boolean: PropTypes.bool,
54
+ tooltip: PropTypes.string,
55
+ };
56
+
57
+ ActionableDetail.defaultProps = {
58
+ textArea: false,
59
+ boolean: false,
60
+ tooltip: null,
61
+ };
62
+
63
+ export default ActionableDetail;
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { translate as __ } from 'foremanReact/common/I18n';
4
4
 
5
- import { Table } from '../../move_to_foreman/components/common/table';
6
- import { LoadingState } from '../../move_to_pf/LoadingState';
5
+ import { Table } from '../../components/pf3Table';
6
+ import { LoadingState } from '../../components/LoadingState';
7
7
 
8
8
  const ContentTable = ({ content, tableSchema, onPaginationChange }) => {
9
9
  const {
@@ -4,7 +4,7 @@ import { translate as __ } from 'foremanReact/common/I18n';
4
4
  import {
5
5
  headerFormatter,
6
6
  cellFormatter,
7
- } from '../../../move_to_foreman/components/common/table';
7
+ } from '../../../components/pf3Table';
8
8
 
9
9
  const TableSchema = [
10
10
  {
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { translate as __ } from 'foremanReact/common/I18n';
3
3
  import { Nav, NavItem, TabPane, TabContent, TabContainer, Grid, Row, Col } from 'patternfly-react';
4
4
  import { PropTypes } from 'prop-types';
5
- import { LoadingState } from '../../../move_to_pf/LoadingState/index';
5
+ import { LoadingState } from '../../../components/LoadingState/index';
6
6
 
7
7
  const ContentDetails = (props) => {
8
8
  const { contentDetails, schema } = props;
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import { shallow } from 'enzyme';
3
3
  import toJson from 'enzyme-to-json';
4
4
  import ContentTable from '../ContentTable';
5
- import { Table } from '../../../move_to_foreman/components/common/table';
6
- import { LoadingState } from '../../../move_to_pf/LoadingState';
5
+ import { LoadingState } from '../../../components/LoadingState';
6
+ import { Table } from '../../../components/pf3Table';
7
7
 
8
8
  jest.mock('foremanReact/components/Pagination/PaginationWrapper', () => (<div>Pagination Mock</div>));
9
9
 
@@ -40,7 +40,7 @@ exports[`Content page should render and contain appropriate components 1`] = `
40
40
  bsClass="form-group"
41
41
  className="toolbar-pf toolbar-pf-filter"
42
42
  >
43
- <Search
43
+ <Connect(Search)
44
44
  getAutoCompleteParams={[Function]}
45
45
  initialInputValue=""
46
46
  onSearch={[Function]}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { Switch } from '@patternfly/react-core';
3
+ import { noop } from 'foremanReact/common/helpers';
4
+ import PropTypes from 'prop-types';
5
+
6
+ const EditableSwitch = ({ value, attribute, onEdit }) => {
7
+ const identifier = `${attribute} switch`;
8
+
9
+ return (
10
+ <Switch
11
+ id={identifier}
12
+ aria-label={identifier}
13
+ isChecked={value}
14
+ onChange={v => onEdit(v, attribute)}
15
+ />
16
+ );
17
+ };
18
+
19
+ EditableSwitch.propTypes = {
20
+ value: PropTypes.bool.isRequired,
21
+ attribute: PropTypes.string,
22
+ onEdit: PropTypes.func,
23
+ };
24
+
25
+ EditableSwitch.defaultProps = {
26
+ attribute: '',
27
+ onEdit: noop,
28
+ };
29
+
30
+ export default EditableSwitch;