katello 4.7.4 → 4.8.0.rc2

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 (356) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +8 -22
  3. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +15 -12
  4. data/app/controllers/katello/api/v2/alternate_content_sources_controller.rb +7 -5
  5. data/app/controllers/katello/api/v2/capsule_content_controller.rb +0 -4
  6. data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +22 -81
  7. data/app/controllers/katello/api/v2/content_exports_controller.rb +11 -80
  8. data/app/controllers/katello/api/v2/content_imports_controller.rb +1 -0
  9. data/app/controllers/katello/api/v2/exports_controller.rb +130 -0
  10. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +7 -8
  11. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +8 -4
  12. data/app/controllers/katello/api/v2/organizations_controller.rb +3 -0
  13. data/app/controllers/katello/api/v2/package_groups_controller.rb +0 -52
  14. data/app/controllers/katello/api/v2/repositories_controller.rb +3 -18
  15. data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +4 -6
  16. data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +1 -2
  17. data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +4 -1
  18. data/app/controllers/katello/concerns/content_facet_hosts_controller_extensions.rb +24 -0
  19. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +3 -3
  20. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +59 -23
  21. data/app/helpers/katello/katello_urls_helper.rb +0 -15
  22. data/app/helpers/katello/sync_management_helper.rb +0 -4
  23. data/app/lib/actions/candlepin/owner/destroy_imports.rb +1 -1
  24. data/app/lib/actions/katello/alternate_content_source/create.rb +3 -1
  25. data/app/lib/actions/katello/alternate_content_source/update.rb +3 -1
  26. data/app/lib/actions/katello/capsule_content/sync.rb +0 -4
  27. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -2
  28. data/app/lib/actions/katello/content_view/publish.rb +6 -2
  29. data/app/lib/actions/katello/content_view/remove.rb +8 -2
  30. data/app/lib/actions/katello/content_view_version/destroy.rb +1 -1
  31. data/app/lib/actions/katello/environment/destroy.rb +8 -2
  32. data/app/lib/actions/katello/host/reassign.rb +4 -2
  33. data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +0 -1
  34. data/app/lib/actions/katello/product/destroy.rb +2 -1
  35. data/app/lib/actions/katello/repository/filtered_index_content.rb +2 -10
  36. data/app/lib/actions/katello/repository/import_upload.rb +0 -1
  37. data/app/lib/actions/katello/repository/sync.rb +0 -1
  38. data/app/lib/actions/katello/repository/update.rb +5 -3
  39. data/app/lib/actions/katello/repository/upload_files.rb +0 -1
  40. data/app/lib/actions/pulp3/abstract.rb +0 -6
  41. data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -2
  42. data/app/lib/actions/pulp3/content_view_version/create_syncable_export_history.rb +4 -0
  43. data/app/lib/actions/pulp3/orchestration/content_view_version/copy_version_units_to_library.rb +1 -1
  44. data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +12 -11
  45. data/app/lib/actions/pulp3/orchestration/content_view_version/export_repository.rb +7 -2
  46. data/app/lib/actions/pulp3/orchestration/content_view_version/syncable_export.rb +7 -4
  47. data/app/lib/actions/pulp3/repository/reclaim_space.rb +1 -1
  48. data/app/lib/actions/pulp3/repository/refresh_distribution.rb +1 -2
  49. data/app/lib/actions/pulp3/repository/save_distribution_references.rb +2 -2
  50. data/app/lib/katello/api/v2/error_handling.rb +12 -2
  51. data/app/lib/katello/concerns/base_template_scope_extensions.rb +7 -3
  52. data/app/lib/katello/concerns/renderer_extensions.rb +1 -1
  53. data/app/lib/katello/event_daemon/runner.rb +12 -9
  54. data/app/lib/katello/resources/candlepin/consumer.rb +6 -6
  55. data/app/lib/katello/resources/candlepin/owner.rb +1 -1
  56. data/app/lib/katello/resources/candlepin/upstream_consumer.rb +3 -4
  57. data/app/lib/katello/resources/candlepin.rb +4 -4
  58. data/app/lib/katello/util/errata.rb +12 -10
  59. data/app/lib/katello/util/search.rb +0 -1
  60. data/app/lib/katello/validators/content_view_environment_org_validator.rb +5 -2
  61. data/app/lib/katello/validators/content_view_environment_validator.rb +1 -2
  62. data/app/lib/katello/validators/generated_content_view_validator.rb +16 -0
  63. data/app/mailers/katello/errata_mailer.rb +4 -2
  64. data/app/models/katello/alternate_content_source.rb +59 -5
  65. data/app/models/katello/concerns/content_facet_host_extensions.rb +25 -14
  66. data/app/models/katello/concerns/host_managed_extensions.rb +31 -8
  67. data/app/models/katello/concerns/redhat_extensions.rb +16 -6
  68. data/app/models/katello/concerns/smart_proxy_extensions.rb +0 -12
  69. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -0
  70. data/app/models/katello/content_view.rb +22 -5
  71. data/app/models/katello/content_view_environment.rb +11 -2
  72. data/app/models/katello/content_view_environment_content_facet.rb +9 -0
  73. data/app/models/katello/content_view_version.rb +10 -5
  74. data/app/models/katello/erratum.rb +6 -1
  75. data/app/models/katello/glue/candlepin/pool.rb +6 -0
  76. data/app/models/katello/glue/candlepin/product.rb +7 -1
  77. data/app/models/katello/glue/candlepin/subscription.rb +5 -0
  78. data/app/models/katello/glue/provider.rb +26 -26
  79. data/app/models/katello/host/content_facet.rb +108 -18
  80. data/app/models/katello/host/info_provider.rb +25 -21
  81. data/app/models/katello/host/subscription_facet.rb +18 -14
  82. data/app/models/katello/kt_environment.rb +12 -7
  83. data/app/models/katello/package_group.rb +0 -12
  84. data/app/models/katello/pool.rb +4 -1
  85. data/app/models/katello/product.rb +11 -1
  86. data/app/models/katello/repository.rb +11 -11
  87. data/app/models/katello/root_repository.rb +5 -4
  88. data/app/models/katello/task_status.rb +0 -18
  89. data/app/services/katello/candlepin/consumer.rb +2 -2
  90. data/app/services/katello/host/package_profile_uploader.rb +1 -1
  91. data/app/services/katello/product_content_finder.rb +11 -8
  92. data/app/services/katello/pulp3/content_view_version/export.rb +8 -65
  93. data/app/services/katello/pulp3/content_view_version/export_validation_error.rb +7 -0
  94. data/app/services/katello/pulp3/content_view_version/export_validator.rb +121 -0
  95. data/app/services/katello/pulp3/content_view_version/importable_products.rb +1 -1
  96. data/app/services/katello/pulp3/content_view_version/syncable_format_export.rb +7 -1
  97. data/app/services/katello/pulp3/erratum.rb +1 -0
  98. data/app/services/katello/pulp3/module_stream.rb +26 -11
  99. data/app/services/katello/pulp3/repository/yum.rb +2 -1
  100. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +2 -1
  101. data/app/services/katello/registration_manager.rb +46 -26
  102. data/app/services/katello/repository_type.rb +3 -9
  103. data/app/services/katello/simple_package.rb +22 -0
  104. data/app/views/foreman/smart_proxies/_content_sync.html.erb +2 -1
  105. data/app/views/foreman/smart_proxies/_reclaim_space.html.erb +1 -0
  106. data/app/views/katello/api/v2/content_facet/base.json.rabl +23 -2
  107. data/app/views/katello/api/v2/content_facet/show.json.rabl +11 -8
  108. data/app/views/katello/api/v2/content_views/base.json.rabl +1 -1
  109. data/app/views/katello/api/v2/hosts/base.json.rabl +22 -2
  110. data/app/views/overrides/activation_keys/_host_environment_select.html.erb +2 -2
  111. data/config/initializers/monkeys.rb +0 -2
  112. data/config/routes/api/registry.rb +8 -7
  113. data/config/routes/api/v2.rb +0 -2
  114. data/config/routes.rb +3 -0
  115. data/db/migrate/20200429153103_installed_package_bad_nvrea.rb +1 -1
  116. data/db/migrate/20220228173251_remove_drpm_from_ignorable_content.rb +7 -3
  117. data/db/migrate/20220419193414_content_settings_to_dsl_category.rb +1 -1
  118. data/db/migrate/20220929204746_add_content_view_environment_content_facet.rb +52 -0
  119. data/db/migrate/20221123212341_remove_pulp_docker_registry_port_setting.rb +5 -0
  120. data/db/migrate/20230119003859_ensure_repo_username_password_nil_not_blank.rb +1 -1
  121. data/db/migrate/20230203141353_set_new_acs_verify_ssl_default.rb +5 -0
  122. data/db/seeds.d/111-upgrade_tasks.rb +3 -1
  123. data/engines/bastion/app/assets/stylesheets/bastion/bastion.scss +4 -0
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +2 -4
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +0 -1
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +2 -4
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +2 -1
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +11 -3
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html +1 -1
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +8 -4
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +5485 -0
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +5397 -0
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +5658 -0
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +5284 -0
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +5231 -0
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +5275 -0
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +5389 -0
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +5212 -0
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +5145 -0
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +9 -0
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +2 -2
  142. data/lib/katello/engine.rb +2 -1
  143. data/lib/katello/permission_creator.rb +2 -4
  144. data/lib/katello/permissions/registry_permissions.rb +5 -5
  145. data/lib/katello/plugin.rb +22 -14
  146. data/lib/katello/repository_types/README.md +136 -19
  147. data/lib/katello/repository_types/deb.rb +0 -1
  148. data/lib/katello/repository_types/docker.rb +0 -1
  149. data/lib/katello/repository_types/file.rb +0 -1
  150. data/lib/katello/repository_types/yum.rb +0 -4
  151. data/lib/katello/tasks/clean_candlepin_orphaned_products.rake +38 -0
  152. data/lib/katello/tasks/clean_orphaned_facets.rb +20 -0
  153. data/lib/katello/tasks/reimport.rake +1 -2
  154. data/lib/katello/tasks/repository.rake +1 -22
  155. data/lib/katello/tasks/reset.rake +1 -0
  156. data/lib/katello/tasks/upgrades/4.8/fix_incorrect_providers.rake +29 -0
  157. data/lib/katello/tasks/upgrades/4.8/regenerate_imported_repository_metadata.rake +33 -0
  158. data/lib/katello/version.rb +1 -1
  159. data/lib/katello.rb +0 -5
  160. data/locale/bn/katello.po +69 -27
  161. data/locale/cs/katello.po +69 -27
  162. data/locale/de/katello.po +78 -36
  163. data/locale/en/katello.po +69 -27
  164. data/locale/es/katello.po +70 -28
  165. data/locale/fr/katello.po +73 -31
  166. data/locale/gu/katello.po +69 -27
  167. data/locale/hi/katello.po +69 -27
  168. data/locale/it/katello.po +69 -27
  169. data/locale/ja/katello.po +73 -31
  170. data/locale/ka/katello.po +73 -31
  171. data/locale/katello.pot +335 -262
  172. data/locale/kn/katello.po +69 -27
  173. data/locale/ko/katello.po +69 -27
  174. data/locale/mr/katello.po +69 -27
  175. data/locale/or/katello.po +69 -27
  176. data/locale/pa/katello.po +69 -27
  177. data/locale/pt/katello.po +69 -27
  178. data/locale/pt_BR/katello.po +70 -28
  179. data/locale/ru/katello.po +70 -28
  180. data/locale/ta/katello.po +69 -27
  181. data/locale/te/katello.po +69 -27
  182. data/locale/zh_CN/katello.po +73 -31
  183. data/locale/zh_TW/katello.po +70 -28
  184. data/webpack/components/Content/ContentPage.js +51 -35
  185. data/webpack/components/Content/__tests__/ContentPage.test.js +2 -4
  186. data/webpack/components/Content/__tests__/__snapshots__/ContentPage.test.js.snap +22 -3
  187. data/webpack/components/Table/EmptyStateMessage.js +14 -11
  188. data/webpack/components/Table/MainTable.js +36 -15
  189. data/webpack/components/Table/TableWrapper.js +25 -25
  190. data/webpack/components/Table/__test__/emptyStateMessage.test.js +51 -0
  191. data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +10 -72
  192. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +5 -4
  193. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
  194. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +1 -17
  195. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +18 -9
  196. data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +1 -2
  197. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +1 -2
  198. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +1 -2
  199. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +47 -27
  200. data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +1 -2
  201. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +2 -21
  202. data/webpack/components/extensions/HostDetails/Tabs/__tests__/moduleStreamsTab.test.js +1 -28
  203. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +1 -10
  204. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +1 -18
  205. data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +1 -17
  206. data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +1 -15
  207. data/webpack/global_test_setup.js +1 -1
  208. data/webpack/redux/actions/RedHatRepositories/helpers.js +5 -3
  209. data/webpack/scenes/AlternateContentSources/Create/ACSCreateWizard.js +12 -10
  210. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSCredentials.js +6 -0
  211. data/webpack/scenes/AlternateContentSources/Create/Steps/ACSSmartProxies.js +1 -0
  212. data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +3 -10
  213. data/webpack/scenes/AlternateContentSources/Create/Steps/NameACS.js +1 -0
  214. data/webpack/scenes/AlternateContentSources/Create/__tests__/acsCreate.test.js +3 -3
  215. data/webpack/scenes/AlternateContentSources/Details/ACSExpandableDetails.js +6 -5
  216. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +1 -0
  217. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditDetails.js +3 -1
  218. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditProducts.js +1 -0
  219. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +2 -0
  220. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +13 -4
  221. data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +7 -4
  222. data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +4 -8
  223. data/webpack/scenes/AlternateContentSources/helpers.js +1 -1
  224. data/webpack/scenes/Content/Details/ContentRepositories.js +5 -4
  225. data/webpack/scenes/Content/Details/__tests__/contentDetail.test.js +1 -12
  226. data/webpack/scenes/Content/Table/ContentTable.js +2 -1
  227. data/webpack/scenes/Content/__tests__/contentTable.test.js +1 -14
  228. data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +1 -25
  229. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +2 -1
  230. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +44 -31
  231. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +3 -0
  232. data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +6 -1
  233. data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +2 -1
  234. data/webpack/scenes/ContentViews/Details/Filters/CVDebFilterContent.js +2 -1
  235. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +3 -1
  236. data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +3 -1
  237. data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +3 -1
  238. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +2 -1
  239. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +2 -0
  240. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +2 -1
  241. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVDebMatchContentModal.js +1 -1
  242. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVRpmMatchContentModal.js +1 -1
  243. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentModal.test.js +35 -33
  244. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +48 -45
  245. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +58 -24
  246. data/webpack/scenes/ContentViews/Details/Filters/__tests__/ContentViewPackageGroupFilter.test.js +64 -0
  247. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +36 -20
  248. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +40 -23
  249. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataIDFilter.test.js +0 -13
  250. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvModuleStreamFilter.test.js +0 -13
  251. data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +2 -1
  252. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +1 -10
  253. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +2 -1
  254. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +1 -10
  255. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +21 -9
  256. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareTable.js +4 -0
  257. data/webpack/scenes/ContentViews/Details/Versions/Compare/__tests__/CVVersionCompare.test.js +1 -32
  258. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +3 -1
  259. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +1 -15
  260. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +1 -1
  261. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +1 -2
  262. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +31 -9
  263. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +4 -0
  264. data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +30 -14
  265. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +1 -1
  266. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +55 -120
  267. data/webpack/scenes/ContentViews/components/ContentViewSelect/ContentViewSelectOption.js +87 -0
  268. data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +1 -1
  269. data/webpack/scenes/ContentViews/components/WizardHeader.js +1 -1
  270. data/webpack/scenes/ContentViews/expansions/RelatedContentViewComponentsModal.js +1 -1
  271. data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +8 -1
  272. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +153 -28
  273. data/webpack/scenes/Hosts/ChangeContentSource/index.js +14 -15
  274. data/webpack/scenes/Hosts/ChangeContentSource/selectors.js +4 -0
  275. data/webpack/scenes/Hosts/ChangeContentSource/styles.scss +4 -0
  276. data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +3 -9
  277. data/webpack/scenes/ModuleStreams/__tests__/__snapshots__/ModuleStreamPage.test.js.snap +7 -1
  278. data/webpack/scenes/RedHatRepositories/components/Search.js +22 -16
  279. data/webpack/scenes/RedHatRepositories/index.scss +20 -1
  280. data/webpack/scenes/SmartProxy/SmartProxyContentTable.js +12 -1
  281. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnTypeForm.js +1 -1
  282. data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CustomCdnTypeForm.js +1 -1
  283. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +21 -19
  284. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +34 -1
  285. data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +20 -7
  286. data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.test.js +0 -1
  287. data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +65 -15
  288. metadata +52 -115
  289. data/app/lib/actions/katello/pulp_selector.rb +0 -24
  290. data/app/lib/actions/katello/repository/correct_checksum.rb +0 -24
  291. data/app/lib/actions/katello/repository/destroy_package_group.rb +0 -26
  292. data/app/lib/actions/katello/repository/upload_package_group.rb +0 -24
  293. data/app/lib/actions/pulp/abstract.rb +0 -37
  294. data/app/lib/actions/pulp/abstract_async_task.rb +0 -154
  295. data/app/lib/actions/pulp/abstract_async_task_group.rb +0 -94
  296. data/app/lib/actions/pulp/consumer/sync_capsule.rb +0 -45
  297. data/app/lib/actions/pulp/consumer/unassociate_units.rb +0 -20
  298. data/app/lib/actions/pulp/expect_one_task.rb +0 -11
  299. data/app/lib/actions/pulp/orchestration/orphan_cleanup/remove_orphans.rb +0 -16
  300. data/app/lib/actions/pulp/orchestration/repository/copy_all_units.rb +0 -19
  301. data/app/lib/actions/pulp/orchestration/repository/delete.rb +0 -15
  302. data/app/lib/actions/pulp/orchestration/repository/refresh.rb +0 -14
  303. data/app/lib/actions/pulp/orchestration/repository/refresh_if_needed.rb +0 -13
  304. data/app/lib/actions/pulp/orchestration/repository/refresh_repos.rb +0 -19
  305. data/app/lib/actions/pulp/orchestration/repository/remove_units.rb +0 -14
  306. data/app/lib/actions/pulp/orchestration/repository/smart_proxy_sync.rb +0 -34
  307. data/app/lib/actions/pulp/orchestration/repository/sync.rb +0 -18
  308. data/app/lib/actions/pulp/orchestration/repository/upload_content.rb +0 -37
  309. data/app/lib/actions/pulp/orphan_cleanup/remove_orphans.rb +0 -15
  310. data/app/lib/actions/pulp/orphan_cleanup/remove_unneeded_repos.rb +0 -16
  311. data/app/lib/actions/pulp/repository/abstract_copy_content.rb +0 -45
  312. data/app/lib/actions/pulp/repository/abstract_remove_content.rb +0 -32
  313. data/app/lib/actions/pulp/repository/clear.rb +0 -18
  314. data/app/lib/actions/pulp/repository/copy_all_units.rb +0 -30
  315. data/app/lib/actions/pulp/repository/copy_units.rb +0 -25
  316. data/app/lib/actions/pulp/repository/create.rb +0 -28
  317. data/app/lib/actions/pulp/repository/create_in_plan.rb +0 -15
  318. data/app/lib/actions/pulp/repository/create_upload_request.rb +0 -20
  319. data/app/lib/actions/pulp/repository/delete_upload_request.rb +0 -19
  320. data/app/lib/actions/pulp/repository/destroy.rb +0 -28
  321. data/app/lib/actions/pulp/repository/distributor_publish.rb +0 -25
  322. data/app/lib/actions/pulp/repository/download.rb +0 -16
  323. data/app/lib/actions/pulp/repository/import_upload.rb +0 -19
  324. data/app/lib/actions/pulp/repository/presenters/abstract_sync_presenter.rb +0 -47
  325. data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +0 -95
  326. data/app/lib/actions/pulp/repository/presenters/docker_presenter.rb +0 -103
  327. data/app/lib/actions/pulp/repository/presenters/file_unit_presenter.rb +0 -42
  328. data/app/lib/actions/pulp/repository/presenters/yum_presenter.rb +0 -131
  329. data/app/lib/actions/pulp/repository/refresh.rb +0 -21
  330. data/app/lib/actions/pulp/repository/regenerate_applicability.rb +0 -21
  331. data/app/lib/actions/pulp/repository/remove_distribution.rb +0 -11
  332. data/app/lib/actions/pulp/repository/remove_units.rb +0 -44
  333. data/app/lib/actions/pulp/repository/sync.rb +0 -99
  334. data/app/lib/actions/pulp/repository/upload_file.rb +0 -28
  335. data/app/lib/actions/pulp/repository_group/create.rb +0 -31
  336. data/app/lib/actions/pulp/repository_group/delete.rb +0 -17
  337. data/app/lib/actions/pulp/repository_group/export.rb +0 -51
  338. data/app/lib/katello/util/package_clause_generator.rb +0 -77
  339. data/app/models/katello/glue/pulp/pulp_errors.rb +0 -9
  340. data/app/models/katello/glue/pulp/repo.rb +0 -353
  341. data/app/models/katello/pulp_sync_status.rb +0 -165
  342. data/app/models/katello/pulp_task_status.rb +0 -63
  343. data/app/services/katello/pulp/content.rb +0 -24
  344. data/app/services/katello/pulp/importer_comparison.rb +0 -28
  345. data/app/services/katello/pulp/repository/deb.rb +0 -61
  346. data/app/services/katello/pulp/repository/docker.rb +0 -82
  347. data/app/services/katello/pulp/repository/file.rb +0 -52
  348. data/app/services/katello/pulp/repository/yum.rb +0 -205
  349. data/app/services/katello/pulp/repository.rb +0 -327
  350. data/app/services/katello/pulp/server.rb +0 -35
  351. data/app/services/katello/pulp/simple_package.rb +0 -24
  352. data/app/services/katello/pulp/smart_proxy_repository.rb +0 -52
  353. data/lib/monkeys/fix_deb_optimized_sync.rb +0 -35
  354. data/lib/monkeys/fix_pulp_container_path.rb +0 -35
  355. data/locale/zanata.xml +0 -30
  356. data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/__tests__/CVRpmMatchContentSearch.fixtures.json +0 -33
@@ -2,20 +2,23 @@ child :content_facet => :content_facet_attributes do
2
2
  extends 'katello/api/v2/content_facet/base'
3
3
 
4
4
  node do |content_facet|
5
- version = content_facet.content_view_version
6
- {
7
- :content_view_version => version.version,
8
- :content_view_version_id => version.id,
9
- :content_view_version_latest => version.latest?
10
- }
5
+ content_facet.single_content_view # just so Rails gives a warning and we remember to fix this
6
+ version = content_facet.content_view_environments.first&.content_view_version
7
+ if version.present?
8
+ {
9
+ :content_view_version => version.version,
10
+ :content_view_version_id => version.id,
11
+ :content_view_version_latest => version.latest?
12
+ }
13
+ end
11
14
  end
12
15
 
13
16
  node :content_view_default? do |content_facet|
14
- content_facet.content_view.default?
17
+ content_facet.single_content_view&.default? || false
15
18
  end
16
19
 
17
20
  node :lifecycle_environment_library? do |content_facet|
18
- content_facet.lifecycle_environment.library?
21
+ content_facet.single_lifecycle_environment&.library? || false
19
22
  end
20
23
 
21
24
  node :katello_agent_installed do |content_facet|
@@ -44,7 +44,7 @@ node :environments do |cv|
44
44
  label: env.label,
45
45
  name: env.label,
46
46
  activation_keys: cv&.activation_keys&.in_environment(env)&.ids,
47
- hosts: cv&.hosts&.in_environment(env)&.ids,
47
+ hosts: cv&.hosts&.in_environments([env])&.ids,
48
48
  permissions: {readable: env.readable?}
49
49
  }
50
50
  end
@@ -1,7 +1,27 @@
1
1
  object @resource
2
2
 
3
3
  @resource ||= @object
4
+ @facet = @resource.content_facet
4
5
 
5
6
  attributes :id, :name, :description
6
- attributes :content_view, :content_view_id
7
- attributes :lifecycle_environment => :environment
7
+ if @facet
8
+ node :content_view do
9
+ content_view = @facet&.single_content_view
10
+ if content_view.present?
11
+ {
12
+ :id => content_view.id,
13
+ :name => content_view.name,
14
+ :composite => content_view.composite?
15
+ }
16
+ end
17
+ end
18
+ node :lifecycle_environment do
19
+ lifecycle_environment = @facet&.single_lifecycle_environment
20
+ if lifecycle_environment.present?
21
+ {
22
+ :id => lifecycle_environment.id,
23
+ :name => lifecycle_environment.name
24
+ }
25
+ end
26
+ end
27
+ end
@@ -8,7 +8,7 @@
8
8
 
9
9
  <% env_select_id = using_hostgroups_page? ? :hostgroup_lifecycle_environment_id : :host_lifecycle_environment_id %>
10
10
  <% env_select_name = using_hostgroups_page? ? 'hostgroup[lifecycle_environment_id]' : 'host[content_facet_attributes][lifecycle_environment_id]' %>
11
- <% env_select_attr = using_hostgroups_page? ? 'lifecycle_environment' : 'content_facet.lifecycle_environment' %>
11
+ <% env_select_attr = using_hostgroups_page? ? 'lifecycle_environment' : 'content_facet.single_lifecycle_environment' %>
12
12
 
13
13
  <%= field(f, env_select_attr, {:label => _("Lifecycle Environment")}) do
14
14
  if using_hostgroups_page?
@@ -21,7 +21,7 @@ end %>
21
21
 
22
22
  <% cv_select_id = using_hostgroups_page? ? :hostgroup_content_view_id : :host_content_view_id %>
23
23
  <% cv_select_name = using_hostgroups_page? ? 'hostgroup[content_view_id]' : 'host[content_facet_attributes][content_view_id]' %>
24
- <% cv_select_attr = using_hostgroups_page? ? 'content_view' : 'content_facet.content_view' %>
24
+ <% cv_select_attr = using_hostgroups_page? ? 'content_view' : 'content_facet.single_content_view' %>
25
25
  <%= field(f, cv_select_attr, {:label => _("Content View")}) do
26
26
  if using_hostgroups_page?
27
27
  select_tag cv_select_id, content_views_for_host(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_view)), :data => {"spinner_path" => spinner_path},
@@ -2,5 +2,3 @@
2
2
  require 'monkeys/anemone'
3
3
  require 'monkeys/ar_postgres_evr_t'
4
4
  require 'monkeys/fx_sqlite_skip'
5
- require 'monkeys/fix_pulp_container_path'
6
- require 'monkeys/fix_deb_optimized_sync'
@@ -10,15 +10,16 @@ Katello::Engine.routes.draw do
10
10
  match '/v2/token' => 'registry_proxies#token', :via => :get
11
11
  match '/v2/token' => 'registry_proxies#token', :via => :post
12
12
  match '/v2/*repository/manifests/:tag' => 'registry_proxies#pull_manifest', :via => :get
13
- match '/v2/*repository/manifests/:tag' => 'registry_proxies#push_manifest', :via => :put
13
+ # Push-related routes are disabled until there is support for pushing to Pulp 3.
14
+ # match '/v2/*repository/manifests/:tag' => 'registry_proxies#push_manifest', :via => :put
14
15
  match '/v2/*repository/blobs/:digest' => 'registry_proxies#pull_blob', :via => :get
15
16
  match '/v2/*repository/blobs/:digest' => 'registry_proxies#check_blob', :via => :head
16
- match '/v2/*repository/blobs/uploads' => 'registry_proxies#start_upload_blob', :via => :post
17
- match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#chunk_upload_blob', :via => :post
18
- match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#finish_upload_blob', :via => :put
19
- match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#upload_blob', :via => :patch
20
- match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#status_upload_blob', :via => :get
21
- match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#cancel_upload_blob', :via => :delete
17
+ # match '/v2/*repository/blobs/uploads' => 'registry_proxies#start_upload_blob', :via => :post
18
+ # match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#chunk_upload_blob', :via => :post
19
+ # match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#finish_upload_blob', :via => :put
20
+ # match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#upload_blob', :via => :patch
21
+ # match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#status_upload_blob', :via => :get
22
+ # match '/v2/*repository/blobs/uploads/:uuid' => 'registry_proxies#cancel_upload_blob', :via => :delete
22
23
  match '/v2/_catalog' => 'registry_proxies#catalog', :via => :get
23
24
  match '/v2/*repository/tags/list' => 'registry_proxies#tags_list', :via => :get
24
25
  match '/v2' => 'registry_proxies#ping', :via => :get
@@ -274,8 +274,6 @@ Katello::Engine.routes.draw do
274
274
  api_resources :package_groups, :only => [:index, :show] do
275
275
  collection do
276
276
  get :auto_complete_search
277
- post :create
278
- delete :destroy
279
277
  get :compare
280
278
  end
281
279
  end
data/config/routes.rb CHANGED
@@ -47,4 +47,7 @@ Katello::Engine.routes.draw do
47
47
  match '/organization_select' => 'react#index', :via => [:get]
48
48
 
49
49
  get '/change_host_content_source', to: 'react#index'
50
+ constraints(id: /[^\/]+/) do
51
+ get 'new/hosts/:id/content', to: redirect('new/hosts/%{id}#/Content')
52
+ end
50
53
  end
@@ -1,7 +1,7 @@
1
1
  class InstalledPackageBadNvrea < ActiveRecord::Migration[5.2]
2
2
  def up
3
3
  Katello::InstalledPackage.where(:epoch => "0").find_each do |pkg|
4
- simple = Katello::Pulp::SimplePackage.new(pkg.attributes)
4
+ simple = Katello::SimplePackage.new(pkg.attributes)
5
5
  if pkg.nvrea != simple.nvrea
6
6
  pkg.update_column(:nvrea, simple.nvrea)
7
7
  end
@@ -1,12 +1,16 @@
1
1
  class RemoveDrpmFromIgnorableContent < ActiveRecord::Migration[6.0]
2
2
  def up
3
- Katello::RootRepository.select { |r| r&.ignorable_content&.include? "drpm" }.each do |root|
4
- root.ignorable_content = root.ignorable_content - ["drpm"]
3
+ Katello::RootRepository.select { |r| !r&.ignorable_content&.blank? }.each do |root|
4
+ if root&.ignorable_content&.include?("srpm")
5
+ root.ignorable_content = ["srpm"]
6
+ else
7
+ root.ignorable_content = []
8
+ end
5
9
  root.save!
6
10
  end
7
11
  end
8
12
 
9
13
  def down
10
- fail ActiveRecord::IrreversibleMigration
14
+ #noop
11
15
  end
12
16
  end
@@ -1,5 +1,5 @@
1
1
  class ContentSettingsToDslCategory < ActiveRecord::Migration[6.0]
2
2
  def up
3
- Setting.where(category: 'Setting::Content').update_all(category: 'Setting')
3
+ Setting.where(category: 'Setting::Content').update_all(category: 'Setting') if column_exists?(:settings, :category)
4
4
  end
5
5
  end
@@ -0,0 +1,52 @@
1
+ class AddContentViewEnvironmentContentFacet < ActiveRecord::Migration[6.1]
2
+ class FakeContentFacet < ApplicationRecord
3
+ self.table_name = 'katello_content_facets'
4
+ end
5
+
6
+ def up
7
+ create_table :katello_content_view_environment_content_facets do |t|
8
+ t.references :content_view_environment, :null => false, :index => false, :foreign_key => { :to_table => 'katello_content_view_environments' }
9
+ t.references :content_facet, :null => false, :index => false, :foreign_key => { :to_table => 'katello_content_facets' }
10
+ end
11
+ FakeContentFacet.all.each do |content_facet|
12
+ cve_id = ::Katello::KTEnvironment.find(content_facet.lifecycle_environment_id)
13
+ .content_view_environments
14
+ .find_by(content_view_id: content_facet.content_view_id)
15
+ .id
16
+ unless ::Katello::ContentViewEnvironmentContentFacet.create(
17
+ content_facet_id: content_facet.id,
18
+ content_view_environment_id: cve_id
19
+ )
20
+ Rails.logger.warn "Failed to create ContentViewEnvironmentContentFacet for content_facet #{content_facet.id}"
21
+ end
22
+ end
23
+
24
+ remove_column :katello_content_facets, :content_view_id
25
+ remove_column :katello_content_facets, :lifecycle_environment_id
26
+ end
27
+
28
+ def down
29
+ add_column :katello_content_facets, :content_view_id, :integer, :index => true
30
+ add_column :katello_content_facets, :lifecycle_environment_id, :integer, :index => true
31
+
32
+ add_foreign_key "katello_content_facets", "katello_content_views",
33
+ :name => "katello_content_facets_content_view_id", :column => "content_view_id"
34
+
35
+ add_foreign_key "katello_content_facets", "katello_environments",
36
+ :name => "katello_content_facets_life_environment_id", :column => "lifecycle_environment_id"
37
+
38
+ ::Katello::Host::ContentFacet.reset_column_information
39
+
40
+ ::Katello::ContentViewEnvironmentContentFacet.all.each do |cvecf|
41
+ content_facet = cvecf.content_facet
42
+ content_facet.content_view_id = cvecf.content_view_environment.content_view_id
43
+ content_facet.lifecycle_environment_id = cvecf.content_view_environment.environment_id
44
+ content_facet.save(validate: false)
45
+ end
46
+
47
+ change_column :katello_content_facets, :content_view_id, :integer, :null => false
48
+ change_column :katello_content_facets, :lifecycle_environment_id, :integer, :null => false
49
+
50
+ drop_table :katello_content_view_environment_content_facets
51
+ end
52
+ end
@@ -0,0 +1,5 @@
1
+ class RemovePulpDockerRegistryPortSetting < ActiveRecord::Migration[6.1]
2
+ def change
3
+ Setting.where(name: 'pulp_docker_registry_port').destroy_all
4
+ end
5
+ end
@@ -2,7 +2,7 @@ class EnsureRepoUsernamePasswordNilNotBlank < ActiveRecord::Migration[6.1]
2
2
  def change
3
3
  ::Katello::Repository.library.each do |repo|
4
4
  if repo.upstream_username == '' && repo.upstream_password == ''
5
- repo.root.update(upstream_username: nil, upstream_password: nil)
5
+ repo.update(upstream_username: nil, upstream_password: nil)
6
6
  end
7
7
  end
8
8
  end
@@ -0,0 +1,5 @@
1
+ class SetNewAcsVerifySslDefault < ActiveRecord::Migration[6.1]
2
+ def change
3
+ change_column_default(:katello_alternate_content_sources, :verify_ssl, nil)
4
+ end
5
+ end
@@ -7,6 +7,8 @@ UpgradeTask.define_tasks(:katello) do
7
7
  {:name => 'katello:upgrades:4.1:fix_invalid_pools'},
8
8
  {:name => 'katello:upgrades:4.1:reupdate_content_import_export_perms'},
9
9
  {:name => 'katello:upgrades:4.2:remove_checksum_values'},
10
- {:name => 'katello:upgrades:4.4:publish_import_cvvs'}
10
+ {:name => 'katello:upgrades:4.4:publish_import_cvvs'},
11
+ {:name => 'katello:upgrades:4.8:fix_incorrect_providers'},
12
+ {:name => 'katello:upgrades:4.8:regenerate_imported_repository_metadata'}
11
13
  ]
12
14
  end
@@ -157,6 +157,10 @@
157
157
  margin-bottom: 20px;
158
158
  }
159
159
  }
160
+ [bst-bookmark] li a{
161
+ white-space: break-spaces;
162
+ overflow-wrap: anywhere;
163
+ }
160
164
  }
161
165
 
162
166
  .modal.fade.in {
@@ -12,20 +12,18 @@
12
12
  * @requires Notification
13
13
  * @requires ApiErrorHandler
14
14
  * @requires simpleContentAccessEnabled
15
- * @requires isManifestImported
16
15
  *
17
16
  * @description
18
17
  * Provides the functionality for the activation key details action pane.
19
18
  */
20
19
  angular.module('Bastion.activation-keys').controller('ActivationKeyDetailsController',
21
- ['$scope', '$state', '$q', 'translate', 'ActivationKey', 'Organization', 'CurrentOrganization', 'Notification', 'ApiErrorHandler', 'simpleContentAccessEnabled', 'isManifestImported',
22
- function ($scope, $state, $q, translate, ActivationKey, Organization, CurrentOrganization, Notification, ApiErrorHandler, simpleContentAccessEnabled, isManifestImported) {
20
+ ['$scope', '$state', '$q', 'translate', 'ActivationKey', 'Organization', 'CurrentOrganization', 'Notification', 'ApiErrorHandler', 'simpleContentAccessEnabled',
21
+ function ($scope, $state, $q, translate, ActivationKey, Organization, CurrentOrganization, Notification, ApiErrorHandler, simpleContentAccessEnabled) {
23
22
  $scope.defaultRoles = ['Red Hat Enterprise Linux Server', 'Red Hat Enterprise Linux Workstation', 'Red Hat Enterprise Linux Compute Node'];
24
23
  $scope.defaultUsages = ['Production', 'Development/Test', 'Disaster Recovery'];
25
24
 
26
25
  $scope.purposeAddonsCount = 0;
27
26
  $scope.simpleContentAccessEnabled = simpleContentAccessEnabled;
28
- $scope.isManifestImported = isManifestImported;
29
27
 
30
28
  $scope.organization = Organization.get({id: CurrentOrganization}, function(org) {
31
29
  $scope.purposeAddonsCount += org.system_purposes.addons.length;
@@ -119,7 +119,6 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
119
119
 
120
120
  $scope.installErrataViaRemoteExecution = function(customize) {
121
121
  var errataIds = $scope.selectedErrataIds();
122
-
123
122
  $scope.errataActionFormValues.bulkErrataIds = angular.toJson(errataIds);
124
123
 
125
124
  $scope.errataActionFormValues.remoteAction = 'errata_install';
@@ -14,14 +14,13 @@
14
14
  * @requires deleteHostOnUnregister
15
15
  * @requires ContentHostsHelper
16
16
  * @requires simpleContentAccessEnabled
17
- * @requires isManifestImported
18
17
  *
19
18
  * @description
20
19
  * Provides the functionality for the content host details action pane.
21
20
  */
22
21
  angular.module('Bastion.content-hosts').controller('ContentHostDetailsController',
23
- ['$scope', '$state', '$q', '$location', 'translate', 'Host', 'HostSubscription', 'Organization', 'CurrentOrganization', 'Notification', 'MenuExpander', 'ApiErrorHandler', 'deleteHostOnUnregister', 'ContentHostsHelper', 'simpleContentAccessEnabled', 'isManifestImported',
24
- function ($scope, $state, $q, $location, translate, Host, HostSubscription, Organization, CurrentOrganization, Notification, MenuExpander, ApiErrorHandler, deleteHostOnUnregister, ContentHostsHelper, simpleContentAccessEnabled, isManifestImported) {
22
+ ['$scope', '$state', '$q', '$location', 'translate', 'Host', 'HostSubscription', 'Organization', 'CurrentOrganization', 'Notification', 'MenuExpander', 'ApiErrorHandler', 'deleteHostOnUnregister', 'ContentHostsHelper', 'simpleContentAccessEnabled',
23
+ function ($scope, $state, $q, $location, translate, Host, HostSubscription, Organization, CurrentOrganization, Notification, MenuExpander, ApiErrorHandler, deleteHostOnUnregister, ContentHostsHelper, simpleContentAccessEnabled) {
25
24
  $scope.menuExpander = MenuExpander;
26
25
 
27
26
  $scope.getHostStatusIcon = ContentHostsHelper.getHostStatusIcon;
@@ -37,7 +36,6 @@ angular.module('Bastion.content-hosts').controller('ContentHostDetailsController
37
36
 
38
37
  $scope.purposeAddonsCount = 0;
39
38
  $scope.simpleContentAccessEnabled = simpleContentAccessEnabled;
40
- $scope.isManifestImported = isManifestImported;
41
39
 
42
40
  $scope.panel = {
43
41
  error: false,
@@ -100,7 +100,8 @@
100
100
  ng-controller="ContentHostStatusController">
101
101
  <td bst-table-cell>
102
102
  <span ng-switch="newHostDetailsUI">
103
- <a ng-switch-when="true" ng-href="/new/hosts/{{host.name}}">{{ host.name }}</a>
103
+ <a ng-switch-when="true" ng-if="host.subscription_facet_attributes.uuid" ng-href="/new/hosts/{{host.name}}/content">{{ host.name }}</a>
104
+ <a ng-switch-when="true" ng-if="!host.subscription_facet_attributes.uuid" ng-href="/new/hosts/{{host.name}}">{{ host.name}}</a>
104
105
  <a ng-switch-when="false" ui-sref="content-host.info({hostId: host.id})">{{ host.name }}</a>
105
106
  </span>
106
107
  </td>
@@ -30,6 +30,16 @@ angular.module('Bastion.errata').controller('ApplyErrataController',
30
30
  $scope.applyingErrata = false;
31
31
  }
32
32
 
33
+ function formatBulkHostIds() {
34
+ var result = IncrementalUpdate.getBulkContentHosts();
35
+ return angular.toJson({
36
+ included: {
37
+ ids: result.included.ids,
38
+ search: result.included.search
39
+ }
40
+ });
41
+ }
42
+
33
43
  $scope.applyingErrata = false;
34
44
 
35
45
  $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
@@ -37,7 +47,7 @@ angular.module('Bastion.errata').controller('ApplyErrataController',
37
47
  $scope.errataActionFormValues = {
38
48
  authenticityToken: $window.AUTH_TOKEN.replace(/&quot;/g, ''),
39
49
  errata: IncrementalUpdate.getErrataIds().join(','),
40
- bulkHostIds: angular.toJson({ included: { ids: IncrementalUpdate.getBulkContentHosts().included.ids }}),
50
+ bulkHostIds: formatBulkHostIds(),
41
51
  customize: false
42
52
  };
43
53
 
@@ -109,7 +119,6 @@ angular.module('Bastion.errata').controller('ApplyErrataController',
109
119
 
110
120
  applyErrata = function () {
111
121
  var params = IncrementalUpdate.getBulkContentHosts(), error;
112
-
113
122
  $scope.applyingErrata = true;
114
123
 
115
124
  params['content_type'] = 'errata';
@@ -122,7 +131,6 @@ angular.module('Bastion.errata').controller('ApplyErrataController',
122
131
  });
123
132
  $scope.applyingErrata = false;
124
133
  };
125
-
126
134
  HostBulkAction.installContent(params, transitionToTask, error);
127
135
  };
128
136
 
@@ -14,7 +14,7 @@
14
14
  </div>
15
15
 
16
16
  <span data-block="no-rows-message" translate>
17
- You currently don't have any Hosts in this Host Group, you can add Content Hosts after selecting the 'Add' tab.
17
+ You currently don't have any Hosts in this Host Collection, you can add Content Hosts after selecting the 'Add' tab.
18
18
  </span>
19
19
 
20
20
  <span data-block="no-search-results-message" translate>
@@ -986,6 +986,10 @@ msgstr ""
986
986
  msgid "Changing default settings requires subscription-manager version 1.10 or newer to be installed on this host."
987
987
  msgstr ""
988
988
 
989
+ #: app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html
990
+ msgid "Changing download policy to \"On Demand\" will also clear the checksum type if set. The repository will use the upstream checksum type to verify downloads."
991
+ msgstr ""
992
+
989
993
  #: app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html
990
994
  msgid ""
991
995
  "Changing the Content View will not affect the Content Host until its next checkin.\n"
@@ -2652,7 +2656,7 @@ msgid ""
2652
2656
  msgstr ""
2653
2657
 
2654
2658
  #: app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync-options.html
2655
- msgid "One or more RPMs are not showing up in the local repository even though they exist in the upstream repository."
2659
+ msgid "One or more packages are not showing up in the local repository even though they exist in the upstream repository."
2656
2660
  msgstr ""
2657
2661
 
2658
2662
  #: app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html
@@ -3556,7 +3560,7 @@ msgid "Select Content View"
3556
3560
  msgstr ""
3557
3561
 
3558
3562
  #: app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-advanced-sync-modal.html
3559
- msgid "Selecting \"Complete Sync\" will cause only Yum repositories of the selected product to be synced."
3563
+ msgid "Selecting \"Complete Sync\" will cause only yum/deb repositories of the selected product to be synced."
3560
3564
  msgstr ""
3561
3565
 
3562
3566
  #: app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html
@@ -3839,7 +3843,7 @@ msgid "Sync Enabled"
3839
3843
  msgstr ""
3840
3844
 
3841
3845
  #: app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync-options.html
3842
- msgid "Sync even if the upstream metadata appears to have no change. This option is only relevant for yum repositories and will take longer than an optimized sync. Choose this option if:"
3846
+ msgid "Sync even if the upstream metadata appears to have no change. This option is only relevant for yum/deb repositories and will take longer than an optimized sync. Choose this option if:"
3843
3847
  msgstr ""
3844
3848
 
3845
3849
  #: app/assets/javascripts/bastion_katello/products/details/partials/sync-status.html
@@ -4646,7 +4650,7 @@ msgid "You currently don't have any Host Collections, you can add Host Collectio
4646
4650
  msgstr ""
4647
4651
 
4648
4652
  #: app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html
4649
- msgid "You currently don't have any Hosts in this Host Group, you can add Content Hosts after selecting the 'Add' tab."
4653
+ msgid "You currently don't have any Hosts in this Host Collection, you can add Content Hosts after selecting the 'Add' tab."
4650
4654
  msgstr ""
4651
4655
 
4652
4656
  #: app/assets/javascripts/bastion_katello/content-credentials/details/views/content-credential-products.html