katello 4.15.0 → 4.16.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 (505) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/common/katello_object.js +2 -2
  3. data/app/assets/javascripts/katello/locale/bn/katello.js +248 -263
  4. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +247 -262
  5. data/app/assets/javascripts/katello/locale/ca/katello.js +247 -262
  6. data/app/assets/javascripts/katello/locale/cs/katello.js +521 -536
  7. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +253 -268
  8. data/app/assets/javascripts/katello/locale/de/katello.js +248 -263
  9. data/app/assets/javascripts/katello/locale/de_AT/katello.js +247 -262
  10. data/app/assets/javascripts/katello/locale/de_DE/katello.js +249 -264
  11. data/app/assets/javascripts/katello/locale/el/katello.js +251 -266
  12. data/app/assets/javascripts/katello/locale/en/katello.js +253 -268
  13. data/app/assets/javascripts/katello/locale/en_GB/katello.js +263 -278
  14. data/app/assets/javascripts/katello/locale/en_US/katello.js +247 -262
  15. data/app/assets/javascripts/katello/locale/es/katello.js +248 -263
  16. data/app/assets/javascripts/katello/locale/et_EE/katello.js +247 -262
  17. data/app/assets/javascripts/katello/locale/fr/katello.js +250 -265
  18. data/app/assets/javascripts/katello/locale/gl/katello.js +247 -262
  19. data/app/assets/javascripts/katello/locale/gu/katello.js +249 -264
  20. data/app/assets/javascripts/katello/locale/he_IL/katello.js +249 -264
  21. data/app/assets/javascripts/katello/locale/hi/katello.js +248 -263
  22. data/app/assets/javascripts/katello/locale/id/katello.js +261 -275
  23. data/app/assets/javascripts/katello/locale/it/katello.js +252 -267
  24. data/app/assets/javascripts/katello/locale/ja/katello.js +250 -265
  25. data/app/assets/javascripts/katello/locale/ka/katello.js +247 -262
  26. data/app/assets/javascripts/katello/locale/kn/katello.js +248 -263
  27. data/app/assets/javascripts/katello/locale/ko/katello.js +248 -263
  28. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +247 -262
  29. data/app/assets/javascripts/katello/locale/mr/katello.js +248 -263
  30. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +252 -267
  31. data/app/assets/javascripts/katello/locale/or/katello.js +248 -263
  32. data/app/assets/javascripts/katello/locale/pa/katello.js +248 -263
  33. data/app/assets/javascripts/katello/locale/pl/katello.js +248 -263
  34. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +247 -262
  35. data/app/assets/javascripts/katello/locale/pt/katello.js +248 -263
  36. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +248 -263
  37. data/app/assets/javascripts/katello/locale/ro/katello.js +247 -262
  38. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +247 -262
  39. data/app/assets/javascripts/katello/locale/ru/katello.js +253 -268
  40. data/app/assets/javascripts/katello/locale/sl/katello.js +247 -262
  41. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +248 -263
  42. data/app/assets/javascripts/katello/locale/ta/katello.js +248 -263
  43. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +247 -262
  44. data/app/assets/javascripts/katello/locale/te/katello.js +248 -263
  45. data/app/assets/javascripts/katello/locale/tr/katello.js +247 -262
  46. data/app/assets/javascripts/katello/locale/vi/katello.js +247 -262
  47. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +247 -262
  48. data/app/assets/javascripts/katello/locale/zh/katello.js +247 -262
  49. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +250 -265
  50. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +255 -270
  51. data/app/assets/javascripts/katello/sync_management/sync_management.js +16 -2
  52. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +33 -9
  53. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  54. data/app/controllers/katello/api/v2/activation_keys_controller.rb +4 -9
  55. data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -1
  56. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +3 -1
  57. data/app/controllers/katello/api/v2/content_views_controller.rb +4 -1
  58. data/app/controllers/katello/api/v2/environments_controller.rb +4 -0
  59. data/app/controllers/katello/api/v2/errata_controller.rb +12 -1
  60. data/app/controllers/katello/api/v2/flatpak_remote_repositories_controller.rb +81 -0
  61. data/app/controllers/katello/api/v2/flatpak_remotes_controller.rb +86 -0
  62. data/app/controllers/katello/api/v2/host_bootc_images_controller.rb +71 -0
  63. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +4 -6
  64. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +3 -5
  65. data/app/controllers/katello/api/v2/repositories_controller.rb +18 -3
  66. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +0 -8
  67. data/app/controllers/katello/concerns/api/v2/http_proxies_controller_extensions.rb +17 -0
  68. data/app/controllers/katello/concerns/http_proxies_controller_extensions.rb +20 -0
  69. data/app/controllers/katello/sync_management_controller.rb +6 -2
  70. data/app/helpers/katello/content_source_helper.rb +8 -1
  71. data/app/helpers/katello/content_view_helper.rb +3 -1
  72. data/app/lib/actions/candlepin/activation_key/create.rb +1 -3
  73. data/app/lib/actions/candlepin/activation_key/update.rb +1 -3
  74. data/app/lib/actions/candlepin/environment/set_content.rb +17 -4
  75. data/app/lib/actions/katello/activation_key/create.rb +1 -2
  76. data/app/lib/actions/katello/activation_key/update.rb +2 -4
  77. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +7 -1
  78. data/app/lib/actions/katello/content_view/presenters/incremental_updates_presenter.rb +3 -2
  79. data/app/lib/actions/katello/content_view/publish.rb +7 -2
  80. data/app/lib/actions/katello/content_view_environment/reassign_objects.rb +11 -2
  81. data/app/lib/actions/katello/content_view_version/incremental_update.rb +31 -22
  82. data/app/lib/actions/katello/flatpak/mirror_remote_repository.rb +30 -0
  83. data/app/lib/actions/katello/flatpak/scan_remote.rb +17 -12
  84. data/app/lib/actions/katello/host/update_system_purpose.rb +1 -6
  85. data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +18 -2
  86. data/app/lib/actions/pulp3/repository/multi_copy_units.rb +4 -0
  87. data/app/lib/katello/api/v2/rendering.rb +2 -1
  88. data/app/lib/katello/concerns/base_template_scope_extensions.rb +3 -4
  89. data/app/lib/katello/concerns/bookmark_controller_validator_extensions.rb +13 -0
  90. data/app/lib/katello/resources/candlepin/activation_key.rb +3 -5
  91. data/app/lib/katello/resources/candlepin/product.rb +2 -1
  92. data/app/lib/katello/util/cveak_migrator.rb +3 -2
  93. data/app/lib/katello/validators/alternate_content_source_path_validator.rb +2 -2
  94. data/app/lib/katello/validators/container_image_name_validator.rb +1 -1
  95. data/app/lib/katello/validators/content_validator.rb +1 -1
  96. data/app/lib/katello/validators/content_view_environment_coherent_default_validator.rb +2 -2
  97. data/app/lib/katello/validators/content_view_environment_org_validator.rb +2 -2
  98. data/app/lib/katello/validators/content_view_environment_validator.rb +3 -3
  99. data/app/lib/katello/validators/content_view_erratum_filter_rule_validator.rb +12 -12
  100. data/app/lib/katello/validators/content_view_filter_version_validator.rb +1 -1
  101. data/app/lib/katello/validators/generated_content_view_validator.rb +1 -1
  102. data/app/lib/katello/validators/gpg_key_content_type_validator.rb +2 -2
  103. data/app/lib/katello/validators/gpg_key_content_validator.rb +5 -5
  104. data/app/lib/katello/validators/katello_label_format_validator.rb +4 -4
  105. data/app/lib/katello/validators/katello_name_format_validator.rb +2 -2
  106. data/app/lib/katello/validators/katello_url_format_validator.rb +1 -1
  107. data/app/lib/katello/validators/library_presence_validator.rb +1 -1
  108. data/app/lib/katello/validators/no_trailing_space_validator.rb +1 -1
  109. data/app/lib/katello/validators/non_library_environment_validator.rb +1 -1
  110. data/app/lib/katello/validators/not_in_library_validator.rb +1 -1
  111. data/app/lib/katello/validators/path_descendents_validator.rb +1 -1
  112. data/app/lib/katello/validators/prior_validator.rb +1 -1
  113. data/app/lib/katello/validators/product_unique_attribute_validator.rb +1 -1
  114. data/app/lib/katello/validators/repo_disablement_validator.rb +2 -2
  115. data/app/lib/katello/validators/root_repository_unique_attribute_validator.rb +1 -1
  116. data/app/lib/katello/validators/self_reference_environment_validator.rb +1 -1
  117. data/app/lib/katello/validators/unique_field_in_org.rb +1 -1
  118. data/app/models/katello/activation_key.rb +6 -17
  119. data/app/models/katello/authorization/flatpak_remote.rb +33 -0
  120. data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -1
  121. data/app/models/katello/concerns/host_managed_extensions.rb +8 -5
  122. data/app/models/katello/concerns/http_proxy_extensions.rb +4 -0
  123. data/app/models/katello/concerns/smart_proxy_extensions.rb +30 -6
  124. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -8
  125. data/app/models/katello/content_view.rb +4 -2
  126. data/app/models/katello/content_view_erratum_filter.rb +18 -2
  127. data/app/models/katello/content_view_version.rb +6 -0
  128. data/app/models/katello/docker_manifest.rb +8 -0
  129. data/app/models/katello/docker_manifest_list.rb +8 -0
  130. data/app/models/katello/erratum.rb +8 -2
  131. data/app/models/katello/flatpak_remote.rb +16 -0
  132. data/app/models/katello/flatpak_remote_repository.rb +18 -0
  133. data/app/models/katello/flatpak_remote_repository_manifest.rb +4 -0
  134. data/app/models/katello/glue/candlepin/pool.rb +1 -1
  135. data/app/models/katello/glue/pulp/repos.rb +12 -1
  136. data/app/models/katello/host/content_facet.rb +42 -3
  137. data/app/models/katello/host/subscription_facet.rb +4 -12
  138. data/app/models/katello/repository.rb +21 -8
  139. data/app/models/katello/rhel_lifecycle_status.rb +6 -0
  140. data/app/models/katello/root_repository.rb +6 -8
  141. data/app/models/katello/upstream_pool.rb +1 -0
  142. data/app/overrides/add_organization_attributes.rb +6 -0
  143. data/app/services/katello/product_content_finder.rb +2 -1
  144. data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +1 -1
  145. data/app/services/katello/pulp3/docker_manifest.rb +3 -2
  146. data/app/services/katello/pulp3/docker_manifest_list.rb +3 -2
  147. data/app/services/katello/pulp3/repository/ansible_collection.rb +8 -1
  148. data/app/services/katello/pulp3/repository/apt.rb +16 -18
  149. data/app/services/katello/pulp3/repository/file.rb +4 -2
  150. data/app/services/katello/pulp3/repository.rb +4 -0
  151. data/app/services/katello/pulp3/task.rb +2 -2
  152. data/app/views/foreman/job_templates/bootc_action.erb +26 -0
  153. data/app/views/foreman/job_templates/bootc_rollback.erb +13 -0
  154. data/app/views/foreman/job_templates/bootc_status.erb +13 -0
  155. data/app/views/foreman/job_templates/bootc_switch.erb +13 -0
  156. data/app/views/foreman/job_templates/bootc_upgrade.erb +13 -0
  157. data/app/views/foreman/job_templates/flatpak_install.erb +23 -0
  158. data/app/views/foreman/job_templates/flatpak_login_action.erb +30 -0
  159. data/app/views/foreman/job_templates/flatpak_setup.erb +27 -0
  160. data/app/views/foreman/job_templates/install_errata_by_search_query.erb +1 -1
  161. data/app/views/foreman/job_templates/install_errata_by_search_query_-_katello_ansible_default.erb +1 -1
  162. data/app/views/foreman/job_templates/resolve_traces_-_katello_ansible_default.erb +1 -1
  163. data/app/views/foreman/job_templates/update_packages_by_search_query_-_katello_ansible_default.erb +1 -1
  164. data/app/views/katello/api/v2/activation_keys/base.json.rabl +0 -4
  165. data/app/views/katello/api/v2/content_facet/base.json.rabl +2 -1
  166. data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +1 -0
  167. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +5 -1
  168. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +1 -1
  169. data/app/views/katello/api/v2/docker_manifests/show.json.rabl +1 -1
  170. data/app/views/katello/api/v2/flatpak_remote_repositories/base.json.rabl +4 -0
  171. data/app/views/katello/api/v2/flatpak_remote_repositories/index.json.rabl +7 -0
  172. data/app/views/katello/api/v2/flatpak_remote_repositories/show.json.rabl +13 -0
  173. data/app/views/katello/api/v2/flatpak_remotes/base.json.rabl +5 -0
  174. data/app/views/katello/api/v2/flatpak_remotes/index.json.rabl +8 -0
  175. data/app/views/katello/api/v2/flatpak_remotes/permissions.json.rabl +11 -0
  176. data/app/views/katello/api/v2/flatpak_remotes/show.json.rabl +3 -0
  177. data/app/views/katello/api/v2/hosts/base.json.rabl +0 -8
  178. data/app/views/katello/api/v2/hosts/os_attributes.json.rabl +13 -0
  179. data/app/views/katello/api/v2/http_proxies/show.json.rabl +1 -0
  180. data/app/views/katello/api/v2/repositories/base.json.rabl +1 -0
  181. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -0
  182. data/app/views/katello/api/v2/subscription_facet/base.json.rabl +0 -4
  183. data/app/views/katello/api/v2/subscriptions/show.json.rabl +1 -1
  184. data/app/views/overrides/activation_keys/_host_synced_content_select.html.erb +10 -4
  185. data/app/views/overrides/http_proxies/_update_setting_input.html.erb +18 -0
  186. data/app/views/overrides/organizations/_step_1_override.html.erb +5 -0
  187. data/config/initializers/monkeys.rb +0 -1
  188. data/config/initializers/pagelets.rb +6 -0
  189. data/config/routes/api/registry.rb +1 -0
  190. data/config/routes/api/v2.rb +21 -0
  191. data/config/routes/overrides.rb +1 -0
  192. data/config/routes.rb +2 -0
  193. data/db/migrate/20190605014649_add_purpose_addons.rb +0 -12
  194. data/db/migrate/20200213184848_create_evr_type.rb +126 -1
  195. data/db/migrate/20200818192230_update_system_purpose_status.rb +0 -1
  196. data/db/migrate/20240207191223_remove_entitlement_mode_host_statuses.rb +0 -1
  197. data/db/migrate/20240924161240_katello_recreate_evr_constructs.rb +160 -0
  198. data/db/migrate/20241022121706_add_sync_dependencies_option.rb +5 -0
  199. data/db/migrate/20241101144625_remove_system_purpose_addons.rb +9 -0
  200. data/db/migrate/20241107002541_add_registry_url_to_katello_flatpak_remotes.rb +5 -0
  201. data/db/migrate/20241112145802_add_manifest_entity_to_content_facets.rb +7 -0
  202. data/db/migrate/20241120213713_add_allow_other_types_to_content_view_erratum_filter_rules.rb +6 -0
  203. data/db/migrate/20241206183052_add_content_type_to_container_manifests_and_lists.rb +9 -0
  204. data/db/seeds.d/75-job_templates.rb +5 -1
  205. data/engines/bastion/vendor/assets/javascripts/bastion/angular/angular.js +2 -2
  206. data/engines/bastion/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap-tpls.js +3 -3
  207. data/engines/bastion/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap.js +3 -3
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details-info.controller.js +0 -5
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +1 -41
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +0 -12
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/subscription-add-or-remove.html +1 -1
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-system-purpose-modal.controller.js +1 -41
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +1 -1
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +2 -2
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +2 -2
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-system-purpose-modal.html +0 -13
  217. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -1
  218. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +0 -5
  219. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +1 -35
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -14
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-provisioning-info.html +1 -1
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +2 -2
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +46 -22
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +2 -1
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/views/debs.html +4 -0
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +1 -1
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-details.html +1 -1
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +1 -1
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-tasks-list.html +2 -1
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +85 -29
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn.po +338 -93
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/bn_IN.po +340 -95
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ca.po +340 -95
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/cs_CZ.po +341 -96
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +31 -54
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_AT.po +338 -93
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de_DE.po +338 -93
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/el.po +341 -96
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_GB.po +349 -104
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/en_US.po +338 -93
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +33 -56
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/et_EE.po +338 -93
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +80 -68
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gl.po +340 -95
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/gu.po +340 -95
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/he_IL.po +339 -111
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/hi.po +340 -95
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/id.po +379 -130
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +342 -103
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +70 -83
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ka.po +84 -90
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/kn.po +340 -95
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +130 -138
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ml_IN.po +338 -93
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/mr.po +340 -95
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/nl_NL.po +343 -97
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/or.po +340 -95
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pa.po +340 -95
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl.po +340 -95
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pl_PL.po +338 -93
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt.po +338 -93
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +40 -63
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro.po +338 -93
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ro_RO.po +338 -93
  265. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +343 -102
  266. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sl.po +338 -93
  267. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/sv_SE.po +340 -95
  268. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta.po +338 -93
  269. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ta_IN.po +340 -95
  270. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/te.po +340 -95
  271. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/tr.po +338 -93
  272. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi.po +338 -93
  273. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/vi_VN.po +338 -93
  274. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh.po +338 -93
  275. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +70 -83
  276. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +362 -105
  277. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +29 -29
  278. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-info.html +1 -1
  279. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-advanced-sync-modal.controller.js +1 -1
  280. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-sync-plan-modal.html +2 -2
  281. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +24 -8
  282. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-tasks.html +2 -1
  283. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +2 -2
  284. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +21 -8
  285. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/os-versions.service.js +1 -0
  286. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-info.html +3 -3
  287. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-tasks.html +2 -1
  288. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +4 -2
  289. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +2 -1
  290. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +3 -3
  291. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/partials/product-table-sync-status.html +1 -1
  292. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +1 -1
  293. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +1 -1
  294. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans.html +2 -2
  295. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-table.directive.js +2 -1
  296. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/task-details.html +2 -2
  297. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-index.html +1 -1
  298. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-table.html +1 -1
  299. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/user-tasks-table.html +1 -1
  300. data/lib/katello/engine.rb +6 -0
  301. data/lib/katello/permission_creator.rb +37 -0
  302. data/lib/katello/permissions/host_permissions.rb +2 -0
  303. data/lib/katello/permissions/registry_permissions.rb +1 -0
  304. data/lib/katello/plugin.rb +18 -1
  305. data/lib/katello/repository_types/docker.rb +0 -1
  306. data/lib/katello/repository_types/python.rb +1 -1
  307. data/lib/katello/version.rb +1 -1
  308. data/lib/katello.rb +2 -0
  309. data/locale/Makefile +20 -24
  310. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  311. data/locale/bn/katello.po +248 -263
  312. data/locale/bn_IN/LC_MESSAGES/katello.mo +0 -0
  313. data/locale/bn_IN/katello.po +247 -262
  314. data/locale/ca/LC_MESSAGES/katello.mo +0 -0
  315. data/locale/ca/katello.po +247 -262
  316. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  317. data/locale/cs/katello.po +524 -799
  318. data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
  319. data/locale/cs_CZ/katello.po +254 -269
  320. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  321. data/locale/de/katello.po +248 -263
  322. data/locale/de_AT/LC_MESSAGES/katello.mo +0 -0
  323. data/locale/de_AT/katello.po +247 -262
  324. data/locale/de_DE/LC_MESSAGES/katello.mo +0 -0
  325. data/locale/de_DE/katello.po +250 -265
  326. data/locale/el/LC_MESSAGES/katello.mo +0 -0
  327. data/locale/el/katello.po +252 -267
  328. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  329. data/locale/en/katello.po +257 -271
  330. data/locale/en_GB/LC_MESSAGES/katello.mo +0 -0
  331. data/locale/en_GB/katello.po +264 -279
  332. data/locale/en_US/LC_MESSAGES/katello.mo +0 -0
  333. data/locale/en_US/katello.po +247 -262
  334. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  335. data/locale/es/katello.po +248 -263
  336. data/locale/et_EE/LC_MESSAGES/katello.mo +0 -0
  337. data/locale/et_EE/katello.po +247 -262
  338. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  339. data/locale/fr/katello.po +250 -265
  340. data/locale/gl/LC_MESSAGES/katello.mo +0 -0
  341. data/locale/gl/katello.po +247 -262
  342. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  343. data/locale/gu/katello.po +250 -265
  344. data/locale/he_IL/LC_MESSAGES/katello.mo +0 -0
  345. data/locale/he_IL/katello.po +249 -264
  346. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  347. data/locale/hi/katello.po +248 -263
  348. data/locale/id/LC_MESSAGES/katello.mo +0 -0
  349. data/locale/id/katello.po +264 -275
  350. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  351. data/locale/it/katello.po +254 -270
  352. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  353. data/locale/ja/katello.po +250 -265
  354. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  355. data/locale/ka/katello.po +247 -262
  356. data/locale/katello.pot +1216 -1215
  357. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  358. data/locale/kn/katello.po +248 -263
  359. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  360. data/locale/ko/katello.po +248 -263
  361. data/locale/ml_IN/LC_MESSAGES/katello.mo +0 -0
  362. data/locale/ml_IN/katello.po +247 -262
  363. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  364. data/locale/mr/katello.po +248 -263
  365. data/locale/nl_NL/LC_MESSAGES/katello.mo +0 -0
  366. data/locale/nl_NL/katello.po +254 -268
  367. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  368. data/locale/or/katello.po +248 -263
  369. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  370. data/locale/pa/katello.po +248 -263
  371. data/locale/pl/LC_MESSAGES/katello.mo +0 -0
  372. data/locale/pl/katello.po +249 -264
  373. data/locale/pl_PL/LC_MESSAGES/katello.mo +0 -0
  374. data/locale/pl_PL/katello.po +247 -262
  375. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  376. data/locale/pt/katello.po +248 -263
  377. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  378. data/locale/pt_BR/katello.po +248 -263
  379. data/locale/ro/LC_MESSAGES/katello.mo +0 -0
  380. data/locale/ro/katello.po +247 -262
  381. data/locale/ro_RO/LC_MESSAGES/katello.mo +0 -0
  382. data/locale/ro_RO/katello.po +247 -262
  383. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  384. data/locale/ru/katello.po +255 -270
  385. data/locale/sl/LC_MESSAGES/katello.mo +0 -0
  386. data/locale/sl/katello.po +247 -262
  387. data/locale/sv_SE/LC_MESSAGES/katello.mo +0 -0
  388. data/locale/sv_SE/katello.po +249 -264
  389. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  390. data/locale/ta/katello.po +248 -263
  391. data/locale/ta_IN/LC_MESSAGES/katello.mo +0 -0
  392. data/locale/ta_IN/katello.po +247 -262
  393. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  394. data/locale/te/katello.po +248 -263
  395. data/locale/tr/LC_MESSAGES/katello.mo +0 -0
  396. data/locale/tr/katello.po +247 -262
  397. data/locale/vi/LC_MESSAGES/katello.mo +0 -0
  398. data/locale/vi/katello.po +247 -262
  399. data/locale/vi_VN/LC_MESSAGES/katello.mo +0 -0
  400. data/locale/vi_VN/katello.po +247 -262
  401. data/locale/zh/LC_MESSAGES/katello.mo +0 -0
  402. data/locale/zh/katello.po +247 -262
  403. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  404. data/locale/zh_CN/katello.po +250 -265
  405. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  406. data/locale/zh_TW/katello.po +257 -272
  407. data/webpack/ForemanColumnExtensions/index.js +73 -3
  408. data/webpack/ForemanColumnExtensions/index.scss +9 -0
  409. data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js +1 -0
  410. data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +1 -1
  411. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +1 -20
  412. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +3 -61
  413. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +0 -5
  414. data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +0 -5
  415. data/webpack/components/extensions/HostDetails/DetailsTabCards/ImageModeCard.js +87 -0
  416. data/webpack/components/extensions/HostDetails/DetailsTabCards/RegistrationCard.js +28 -2
  417. data/webpack/components/extensions/HostDetails/Tabs/DebsTab/DebInstallModal.js +1 -1
  418. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +2 -2
  419. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +1 -1
  420. data/webpack/components/extensions/Hosts/FontAwesomeImageModeIcon.js +55 -0
  421. data/webpack/containers/Application/config.js +5 -0
  422. data/webpack/global_index.js +3 -1
  423. data/webpack/redux/actions/RedHatRepositories/helpers.js +9 -0
  424. data/webpack/scenes/BootedContainerImages/BootedContainerImagesConstants.js +5 -0
  425. data/webpack/scenes/BootedContainerImages/BootedContainerImagesPage.js +242 -0
  426. data/webpack/scenes/BootedContainerImages/__tests__/bootedContainerImages.fixtures.js +42 -0
  427. data/webpack/scenes/BootedContainerImages/__tests__/bootedContainerImagesPage.test.js +233 -0
  428. data/webpack/scenes/BootedContainerImages/index.js +4 -0
  429. data/webpack/scenes/ContentViews/Delete/__tests__/affectedHosts.fixtures.json +1 -2
  430. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +39 -7
  431. data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +13 -2
  432. data/webpack/scenes/ContentViews/Details/Filters/CVFilterDetailType.js +1 -1
  433. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvErrataDateFilterContent.test.js +1 -0
  434. data/webpack/scenes/ContentViews/Details/Repositories/RepoIcon.js +4 -2
  435. data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +1 -2
  436. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignActivationKeysForm.js +20 -1
  437. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVReassignHostsForm.js +20 -1
  438. data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +128 -18
  439. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedActivationKeys.fixture.json +0 -1
  440. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvAffectedHosts.fixture.json +1 -2
  441. data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +6 -4
  442. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +5 -1
  443. data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +6 -1
  444. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +1 -1
  445. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +5 -1
  446. data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +4 -2
  447. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +38 -0
  448. data/webpack/scenes/Subscriptions/Details/SubscriptionPurposeAttributes.js +0 -1
  449. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +0 -10
  450. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +0 -3
  451. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +0 -1
  452. metadata +61 -58
  453. data/app/models/katello/activation_key_purpose_addon.rb +0 -6
  454. data/app/models/katello/purpose_addon.rb +0 -11
  455. data/app/models/katello/subscription_facet_purpose_addon.rb +0 -6
  456. data/lib/monkeys/fx_sqlite_skip.rb +0 -13
  457. data/locale/action_names.rb +0 -181
  458. data/locale/bn/katello.po.time_stamp +0 -0
  459. data/locale/bn_IN/katello.po.time_stamp +0 -0
  460. data/locale/ca/katello.po.time_stamp +0 -0
  461. data/locale/cs/katello.po.time_stamp +0 -0
  462. data/locale/cs_CZ/katello.po.time_stamp +0 -0
  463. data/locale/de/katello.po.time_stamp +0 -0
  464. data/locale/de_AT/katello.po.time_stamp +0 -0
  465. data/locale/de_DE/katello.po.time_stamp +0 -0
  466. data/locale/el/katello.po.time_stamp +0 -0
  467. data/locale/en/katello.po.time_stamp +0 -0
  468. data/locale/en_GB/katello.po.time_stamp +0 -0
  469. data/locale/en_US/katello.po.time_stamp +0 -0
  470. data/locale/es/katello.po.time_stamp +0 -0
  471. data/locale/et_EE/katello.po.time_stamp +0 -0
  472. data/locale/fr/katello.po.time_stamp +0 -0
  473. data/locale/gl/katello.po.time_stamp +0 -0
  474. data/locale/gu/katello.po.time_stamp +0 -0
  475. data/locale/he_IL/katello.po.time_stamp +0 -0
  476. data/locale/hi/katello.po.time_stamp +0 -0
  477. data/locale/id/katello.po.time_stamp +0 -0
  478. data/locale/it/katello.po.time_stamp +0 -0
  479. data/locale/ja/katello.po.time_stamp +0 -0
  480. data/locale/ka/katello.po.time_stamp +0 -0
  481. data/locale/kn/katello.po.time_stamp +0 -0
  482. data/locale/ko/katello.po.time_stamp +0 -0
  483. data/locale/ml_IN/katello.po.time_stamp +0 -0
  484. data/locale/mr/katello.po.time_stamp +0 -0
  485. data/locale/nl_NL/katello.po.time_stamp +0 -0
  486. data/locale/or/katello.po.time_stamp +0 -0
  487. data/locale/pa/katello.po.time_stamp +0 -0
  488. data/locale/pl/katello.po.time_stamp +0 -0
  489. data/locale/pl_PL/katello.po.time_stamp +0 -0
  490. data/locale/pt/katello.po.time_stamp +0 -0
  491. data/locale/pt_BR/katello.po.time_stamp +0 -0
  492. data/locale/ro/katello.po.time_stamp +0 -0
  493. data/locale/ro_RO/katello.po.time_stamp +0 -0
  494. data/locale/ru/katello.po.time_stamp +0 -0
  495. data/locale/sl/katello.po.time_stamp +0 -0
  496. data/locale/sv_SE/katello.po.time_stamp +0 -0
  497. data/locale/ta/katello.po.time_stamp +0 -0
  498. data/locale/ta_IN/katello.po.time_stamp +0 -0
  499. data/locale/te/katello.po.time_stamp +0 -0
  500. data/locale/tr/katello.po.time_stamp +0 -0
  501. data/locale/vi/katello.po.time_stamp +0 -0
  502. data/locale/vi_VN/katello.po.time_stamp +0 -0
  503. data/locale/zh/katello.po.time_stamp +0 -0
  504. data/locale/zh_CN/katello.po.time_stamp +0 -0
  505. data/locale/zh_TW/katello.po.time_stamp +0 -0
@@ -11,6 +11,12 @@ Deface::Override.new(:virtual_path => "taxonomies/_form",
11
11
  :text => '<% if taxonomy.is_a?(Location) %><%= render_original %><% end %>'
12
12
  )
13
13
 
14
+ Deface::Override.new(:virtual_path => "taxonomies/_step1",
15
+ :name => "add_organization_attributes_on_create",
16
+ :insert_after => 'erb[loud]:contains("text_f"):contains(":name")',
17
+ :partial => 'overrides/organizations/step_1_override'
18
+ )
19
+
14
20
  # Add organization attributes to org edit
15
21
  Deface::Override.new(:virtual_path => "taxonomies/_form",
16
22
  :name => "add_organization_attributes_on_edit",
@@ -26,7 +26,8 @@ module Katello
26
26
  structured_apt_roots = roots.where(:content_id => nil)
27
27
  if structured_apt_roots.any?
28
28
  deb_repos_query = Katello::Repository.where(root: structured_apt_roots)
29
- deb_repos = match_environment ? deb_repos_query.where(content_view_version: versions, environment: consumable.environment) : deb_repos_query.where(:library_instance_id => nil)
29
+ environment = consumable.respond_to?(:environment) ? consumable.environment : consumable.content_view_environments.select(:environment_id).map(&:environment_id)
30
+ deb_repos = match_environment ? deb_repos_query.where(content_view_version: versions, environment: environment) : deb_repos_query.where(:library_instance_id => nil)
30
31
  content_ids += deb_repos.pluck(:content_id)
31
32
  end
32
33
 
@@ -29,7 +29,7 @@ module Katello
29
29
 
30
30
  root = product.root_repositories.find do |r|
31
31
  if repo.content&.id && repo.redhat
32
- repo_exists = r.content.cp_content_id == repo.content.id &&
32
+ repo_exists = r.library_instance.content.cp_content_id == repo.content.id &&
33
33
  r.arch == repo.arch &&
34
34
  r.major == repo.major &&
35
35
  r.minor == repo.minor
@@ -29,8 +29,9 @@ module Katello
29
29
  pulp_id: unit[unit_identifier],
30
30
  annotations: unit['annotations'],
31
31
  labels: unit['labels'],
32
- is_bootable: unit['is_bootable'],
33
- is_flatpak: unit['is_flatpak'],
32
+ is_bootable: unit['is_bootable'] || unit['type'] == 'bootable',
33
+ is_flatpak: unit['is_flatpak'] || unit['type'] == 'flatpak',
34
+ content_type: unit['type'],
34
35
  }
35
36
  end
36
37
  end
@@ -31,8 +31,9 @@ module Katello
31
31
  pulp_id: unit[unit_identifier],
32
32
  annotations: unit['annotations'],
33
33
  labels: unit['labels'],
34
- is_bootable: unit['is_bootable'],
35
- is_flatpak: unit['is_flatpak'],
34
+ is_bootable: unit['is_bootable'] || unit['type'] == 'bootable',
35
+ is_flatpak: unit['is_flatpak'] || unit['type'] == 'flatpak',
36
+ content_type: unit['type'],
36
37
  }
37
38
  end
38
39
 
@@ -13,7 +13,8 @@ module Katello
13
13
  requirements_file: root.ansible_collection_requirements.blank? ? nil : root.ansible_collection_requirements,
14
14
  auth_url: root.ansible_collection_auth_url,
15
15
  token: root.ansible_collection_auth_token,
16
- tls_validation: root.verify_ssl_on_sync)
16
+ tls_validation: root.verify_ssl_on_sync,
17
+ sync_dependencies: root.sync_dependencies)
17
18
  end
18
19
 
19
20
  def distribution_options(path)
@@ -28,6 +29,12 @@ module Katello
28
29
  "/pulp_ansible/galaxy/#{repo.relative_path}/api/"
29
30
  end
30
31
 
32
+ def sync_url_params(sync_options)
33
+ params = super
34
+ params[:optimize] = sync_options[:optimize] if sync_options.key?(:optimize)
35
+ params
36
+ end
37
+
31
38
  def mirror_remote_options
32
39
  {
33
40
  }
@@ -226,23 +226,6 @@ module Katello
226
226
  multi_copy_units(repo_id_map, dependency_solving)
227
227
  end
228
228
 
229
- def copy_units(content_unit_hrefs, remove_all)
230
- remove_all = true if remove_all.nil?
231
- tasks = []
232
-
233
- if content_unit_hrefs.sort!.any?
234
- first_slice = remove_all
235
- content_unit_hrefs.each_slice(UNIT_LIMIT) do |slice|
236
- tasks << add_content(slice, first_slice)
237
- first_slice = false
238
- end
239
- # If we're merging composite cv repositories, don't clear out the Pulp repository.
240
- elsif remove_all
241
- tasks << remove_all_content
242
- end
243
- tasks
244
- end
245
-
246
229
  def copy_content_for_source(source_repository, options = {})
247
230
  # copy_units_by_href(source_repository.debs.pluck(:pulp_id))
248
231
  filters = ContentViewDebFilter.where(:id => options[:filter_ids])
@@ -261,7 +244,22 @@ module Katello
261
244
 
262
245
  content_unit_hrefs = whitelist_ids - blacklist_ids
263
246
 
264
- copy_units(content_unit_hrefs.uniq, options[:remove_all])
247
+ pulp_deb_copy_serializer = PulpDebClient::Copy.new
248
+ pulp_deb_copy_serializer.dependency_solving = false
249
+ pulp_deb_copy_serializer.config = [{
250
+ source_repo_version: source_repository.version_href,
251
+ dest_repo: repository_reference.repository_href,
252
+ content: content_unit_hrefs,
253
+ }]
254
+
255
+ remove_all = options[:remove_all]
256
+ remove_all = true if remove_all.nil?
257
+
258
+ if remove_all
259
+ remove_all_content_from_repo(repository_reference.repository_href)
260
+ end
261
+
262
+ copy_content_chunked(pulp_deb_copy_serializer)
265
263
  end
266
264
 
267
265
  def regenerate_applicability
@@ -17,12 +17,14 @@ module Katello
17
17
  end
18
18
 
19
19
  def remote_options
20
+ options = common_remote_options
20
21
  #TODO: move to user specifying PULP_MANIFEST
21
22
  if root.url.blank?
22
- common_remote_options.merge(url: nil)
23
+ options[:url] = nil
23
24
  else
24
- common_remote_options.merge(url: root.url + '/PULP_MANIFEST')
25
+ options[:url] = root.url + '/PULP_MANIFEST'
25
26
  end
27
+ options.merge!(policy: root.download_policy)
26
28
  end
27
29
 
28
30
  def partial_repo_path
@@ -136,6 +136,10 @@ module Katello
136
136
  RepositoryMirror.new(self).refresh_entities
137
137
  end
138
138
 
139
+ def refresh_entities
140
+ [update_remote].flatten.compact
141
+ end
142
+
139
143
  def refresh_if_needed
140
144
  tasks = []
141
145
  tasks << update_remote #always update remote
@@ -57,7 +57,7 @@ module Katello
57
57
  tasks = [tasks] unless tasks.is_a?(Array)
58
58
  version_hrefs = tasks.map { |task| task[:created_resources] }.flatten
59
59
  version_hrefs = version_hrefs.select { |href| ::Katello::Pulp3::Repository.version_href?(href) }
60
- Rails.logger.error("Got multiple version_hrefs for pulp task: #{tasks}") if version_hrefs.length > 2
60
+ Rails.logger.debug("Got multiple version_hrefs for pulp task: #{tasks}") if version_hrefs.length > 2
61
61
  version_hrefs.last
62
62
  end
63
63
 
@@ -65,7 +65,7 @@ module Katello
65
65
  tasks = [tasks] unless tasks.is_a?(Array)
66
66
  publication_hrefs = tasks.map { |task| task[:created_resources] }.flatten
67
67
  publication_hrefs = publication_hrefs.select { |href| ::Katello::Pulp3::Repository.publication_href?(href) }
68
- Rails.logger.error("Got multiple publication hrefs for pulp task: #{tasks}") if publication_hrefs.length > 2
68
+ Rails.logger.debug("Got multiple publication hrefs for pulp task: #{tasks}") if publication_hrefs.length > 2
69
69
  publication_hrefs.last #return the last href to workaround https://pulp.plan.io/issues/9098
70
70
  end
71
71
 
@@ -0,0 +1,26 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Action - Script Default
4
+ model: JobTemplate
5
+ job_category: Bootc
6
+ description_format: 'bootc %{action} %{options} %{target}'
7
+ provider_type: script
8
+ feature: katello_bootc_action
9
+ template_inputs:
10
+ - name: action
11
+ description: 'The bootc action: upgrade, switch, rollback or status'
12
+ input_type: user
13
+ options: "upgrade\nswitch\nrollback\nstatus"
14
+ required: true
15
+ - name: options
16
+ description: Additional options for bootc action
17
+ input_type: user
18
+ required: false
19
+ - name: target
20
+ description: Target for bootc switch action
21
+ input_type: user
22
+ required: false
23
+ %>
24
+
25
+ bootc <%= input('action') %> <%= input('options') %> <%= input('target') %>
26
+ subscription-manager facts --update
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Rollback - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc rollback'
6
+ feature: katello_bootc_rollback
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action, options, target
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'rollback') %>
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Status - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc status %{options}'
6
+ feature: katello_bootc_status
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action, target
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'status') %>
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Switch - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc switch %{options} %{target}'
6
+ feature: katello_bootc_switch
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'switch') %>
@@ -0,0 +1,13 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Bootc Upgrade - Script Default
4
+ job_category: Bootc
5
+ description_format: 'bootc upgrade %{options}'
6
+ feature: katello_bootc_upgrade
7
+ provider_type: script
8
+ foreign_input_sets:
9
+ - template: Bootc Action - Script Default
10
+ exclude: action, target
11
+ %>
12
+
13
+ <%= render_template('Bootc Action - Script Default', :action => 'upgrade') %>
@@ -0,0 +1,23 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Flatpak - Install application on host
4
+ job_category: Katello
5
+ description_format: 'Install Flatpak application %{Application name} on host'
6
+ provider_type: script
7
+ template_inputs:
8
+ - name: Flatpak remote name
9
+ description: Name of remote to use on host
10
+ input_type: user
11
+ required: false
12
+ - name: Application name
13
+ description: Name of the application to install
14
+ input_type: user
15
+ required: true
16
+ %>
17
+
18
+ <%
19
+ remote_name = input('Flatpak remote name')
20
+ app_name = input('Application name')
21
+ %>
22
+
23
+ sudo dbus-launch flatpak install <%= remote_name %> <%= app_name %> --assumeyes
@@ -0,0 +1,30 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Flatpak - Login to registry via podman
4
+ job_category: Katello
5
+ description_format: 'Login to flatpak registry via podman'
6
+ provider_type: script
7
+ template_inputs:
8
+ - name: Flatpak registry URL
9
+ description: URL of server/capsule
10
+ input_type: user
11
+ required: true
12
+ - name: Username
13
+ description: Username for container registry login
14
+ input_type: user
15
+ required: true
16
+ - name: Password
17
+ description: Password/Access token for container registry login
18
+ input_type: user
19
+ required: true
20
+ hidden_value: true
21
+ %>
22
+
23
+ <%
24
+ server_url = input('Flatpak registry URL')
25
+ username = input('Username')
26
+ password = input('Password')
27
+ %>
28
+
29
+ sudo podman login <%= server_url %> --username <%= username %> --password <%= password %>
30
+ sudo cp /run/containers/0/auth.json /etc/flatpak/oci-auth.json
@@ -0,0 +1,27 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Flatpak - Set up remote on host
4
+ job_category: Katello
5
+ description_format: 'Set up Flatpak remote on host'
6
+ provider_type: script
7
+ template_inputs:
8
+ - name: Remote Name
9
+ description: Remote name for Flatpak
10
+ input_type: user
11
+ required: true
12
+ - name: Flatpak registry URL
13
+ description: URL of server/capsule
14
+ input_type: user
15
+ required: true
16
+ foreign_input_sets:
17
+ - template: Flatpak - Login to registry via podman
18
+ exclude: Flatpak registry URL
19
+ %>
20
+
21
+ <%
22
+ remote_name = input('Remote Name')
23
+ registry_url = input('Flatpak registry URL')
24
+ %>
25
+
26
+ sudo flatpak remote-add --authenticator-name=org.flatpak.Authenticator.Oci <%= remote_name %> oci+<%= registry_url %>/
27
+ <%= render_template('Flatpak - Login to registry via podman', 'Flatpak registry URL': registry_url) %>
@@ -15,7 +15,7 @@ foreign_input_sets:
15
15
  exclude: action,package
16
16
  %>
17
17
 
18
- <% advisory_ids = @host.advisory_ids(search: input("Errata search query"), check_installable_for_host: false) -%>
18
+ <% advisory_ids = @host.advisory_ids(search: input("Errata search query")) -%>
19
19
  <% render_error(N_("No errata matching given search query")) if !input("Errata search query").blank? && advisory_ids.blank? -%>
20
20
  # RESOLVED_ERRATA_IDS=<%= advisory_ids.join(',') %>
21
21
 
@@ -12,7 +12,7 @@ template_inputs:
12
12
  required: false
13
13
  %>
14
14
 
15
- <% advisory_ids = @host.advisory_ids(search: input("Errata search query"), check_installable_for_host: false) -%>
15
+ <% advisory_ids = @host.advisory_ids(search: input("Errata search query")) -%>
16
16
  <% render_error(N_("No errata matching given search query")) if !input("Errata search query").blank? && advisory_ids.blank? -%>
17
17
  # RESOLVED_ERRATA_IDS=<%= advisory_ids.join(',') %>
18
18
 
@@ -18,7 +18,7 @@ commands = @host.traces_helpers(search: input('Traces search query'))
18
18
  reboot = commands.delete('reboot')
19
19
  -%>
20
20
  <% if reboot -%>
21
- - reboot:
21
+ <%= render_template('Power Action - Ansible Default', action: 'restart') %>
22
22
  <% else -%>
23
23
  <%= render_template(
24
24
  'Run Command - Ansible Default',
@@ -22,7 +22,7 @@ template_inputs:
22
22
  versions: input('Selected update versions')
23
23
  ) -%>
24
24
  <% if package_names.empty? -%>
25
- <%= render_template('Package Action - Ansible Default', :state => 'latest', :name => '"*"') %>
25
+ <%= render_template('Package Action - Ansible Default', :state => 'latest', :name => '*') %>
26
26
  <% else -%>
27
27
  ---
28
28
  - hosts: all
@@ -51,10 +51,6 @@ end
51
51
 
52
52
  attributes :usage_count, :user_id, :max_hosts, :system_template_id, :release_version, :purpose_usage, :purpose_role
53
53
 
54
- node :purpose_addons do |key|
55
- key.purpose_addons.pluck(:name)
56
- end
57
-
58
54
  node :permissions do |activation_key|
59
55
  {
60
56
  :view_activation_keys => activation_key.readable?,
@@ -61,7 +61,8 @@ node :lifecycle_environment do |content_facet|
61
61
  end
62
62
 
63
63
  child :content_source => :content_source do
64
- attributes :id, :name, :url
64
+ attributes :id, :name, :url, :registration_host
65
+ node(:load_balanced) { |content_source| content_source.load_balanced? }
65
66
  end
66
67
 
67
68
  child :kickstart_repository => :kickstart_repository do
@@ -13,6 +13,7 @@ attributes :start_date, :if => lambda { |rule| rule.respond_to?(:start_date) &&
13
13
  attributes :end_date, :if => lambda { |rule| rule.respond_to?(:end_date) && !rule.end_date.blank? }
14
14
  attributes :architecture, :if => lambda { |rule| rule.respond_to?(:architecture) && !rule.architecture.blank? }
15
15
  attributes :types, :if => lambda { |rule| rule.respond_to?(:types) && !rule.types.blank? }
16
+ attributes :allow_other_types, :if => lambda { |rule| rule.respond_to?(:allow_other_types) }
16
17
  attributes :date_type, :if => lambda { |rule| rule.respond_to?(:date_type) }
17
18
  attributes :module_stream_id, :if => lambda { |rule| rule.respond_to?(:module_stream_id) && !rule.module_stream_id.blank? }
18
19
  if @resource&.try(:module_stream)
@@ -46,10 +46,14 @@ node :permissions do |cvv|
46
46
  }
47
47
  end
48
48
 
49
+ child :content_view_environments => :content_view_environments do
50
+ attributes :label, :environment_id, :environment_name
51
+ end
52
+
49
53
  extends 'katello/api/v2/common/timestamps'
50
54
 
51
55
  version = @object || @resource
52
- child :environments => :environments do
56
+ child :sorted_organization_readable_environments => :environments do
53
57
  attributes :id, :name, :label
54
58
 
55
59
  node :publish_date do |env|
@@ -1,6 +1,6 @@
1
1
  object @resource
2
2
 
3
- attributes :id, :schema_version, :digest, :manifest_type
3
+ attributes :id, :schema_version, :digest, :manifest_type, :content_type
4
4
  attributes :annotations, :labels, :is_bootable, :is_flatpak
5
5
 
6
6
  child :docker_tags => :tags do
@@ -1,6 +1,6 @@
1
1
  object @resource
2
2
 
3
- attributes :id, :schema_version, :digest, :manifest_type
3
+ attributes :id, :schema_version, :digest, :manifest_type, :content_type
4
4
  attributes :annotations, :labels, :is_bootable, :is_flatpak
5
5
 
6
6
  child :docker_tags => :tags do
@@ -0,0 +1,4 @@
1
+ extends 'katello/api/v2/common/identifier'
2
+
3
+ attributes :name
4
+ attributes :label, :flatpak_remote_id
@@ -0,0 +1,7 @@
1
+ object false
2
+
3
+ extends "katello/api/v2/common/index"
4
+
5
+ child @collection[:results] => :results do
6
+ extends "katello/api/v2/flatpak_remote_repositories/base"
7
+ end
@@ -0,0 +1,13 @@
1
+ object @resource
2
+
3
+ extends "katello/api/v2/flatpak_remote_repositories/base"
4
+
5
+ child :flatpak_remote => :flatpak_remote do
6
+ attributes :id, :name, :url
7
+ end
8
+
9
+ if ::Foreman::Cast.to_bool params[:manifests]
10
+ child :manifests => :manifests do
11
+ attributes :name, :digest, :tags, :application, :runtime, :flatpak_ref
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ extends 'katello/api/v2/common/identifier'
2
+ extends 'katello/api/v2/common/org_reference'
3
+
4
+ attributes :name
5
+ attributes :url, :description, :username, :seeded, :registry_url
@@ -0,0 +1,8 @@
1
+ object false
2
+
3
+ extends "katello/api/v2/common/index"
4
+ extends 'katello/api/v2/flatpak_remotes/permissions'
5
+
6
+ child @collection[:results] => :results do
7
+ extends "katello/api/v2/flatpak_remotes/base"
8
+ end
@@ -0,0 +1,11 @@
1
+ collection @flatpak_remotes
2
+
3
+ if ::Foreman::Cast.to_bool(params.fetch(:include_permissions, false))
4
+ user = User.current # current_user is not available here
5
+ node do
6
+ node(:can_create) { user.can?("create_flatpak_remotes") }
7
+ node(:can_edit) { user.can?("edit_flatpak_remotes") }
8
+ node(:can_delete) { user.can?("destroy_flatpak_remotes") }
9
+ node(:can_view) { user.can?("view_flatpak_remotes") }
10
+ end
11
+ end
@@ -0,0 +1,3 @@
1
+ object @resource
2
+
3
+ extends "katello/api/v2/flatpak_remotes/base"
@@ -5,14 +5,6 @@ object @resource
5
5
 
6
6
  attributes :id, :name, :description
7
7
 
8
- node :operatingsystem_family do |resource|
9
- resource.operatingsystem&.family
10
- end
11
-
12
- node :operatingsystem_major do |resource|
13
- resource.operatingsystem&.major
14
- end
15
-
16
8
  if @facet
17
9
  node :content_view do
18
10
  content_view = @facet&.single_content_view
@@ -0,0 +1,13 @@
1
+ object @resource
2
+
3
+ @resource ||= @object
4
+
5
+ attributes :id, :name, :description
6
+
7
+ node :operatingsystem_family do |resource|
8
+ resource.operatingsystem&.family
9
+ end
10
+
11
+ node :operatingsystem_major do |resource|
12
+ resource.operatingsystem&.major
13
+ end
@@ -0,0 +1 @@
1
+ node(:content_default_http_proxy) { |sp| sp.content_default_http_proxy? }
@@ -4,6 +4,7 @@ extends 'katello/api/v2/common/identifier'
4
4
 
5
5
  attributes :pulp_id => :backend_identifier
6
6
  attributes :relative_path, :container_repository_name, :full_path, :library_instance_id
7
+ attributes :full_gpg_key_path
7
8
  attributes :version_href, :remote_href, :publication_href
8
9
  attributes :content_counts
9
10
  attributes :mirroring_policy
@@ -19,6 +19,7 @@ glue(@resource.root) do
19
19
  attributes :ssl_ca_cert_id
20
20
  attributes :ssl_client_cert_id
21
21
  attributes :ssl_client_key_id
22
+ attributes :sync_dependencies
22
23
 
23
24
  attributes :product_type
24
25
  attributes :upstream_username
@@ -3,7 +3,3 @@ attributes :id, :uuid, :last_checkin, :service_level, :release_version, :autohea
3
3
  child :user => :user do
4
4
  attributes :id, :login
5
5
  end
6
-
7
- node :purpose_addons do |sub|
8
- sub.purpose_addons.pluck(:name)
9
- end
@@ -5,7 +5,7 @@ extends "katello/api/v2/subscriptions/base"
5
5
  attributes :arch
6
6
  attributes :description
7
7
  attributes :support_type
8
- attributes :roles, :usage, :addons
8
+ attributes :roles, :usage
9
9
  attributes :product_host_count
10
10
 
11
11
  node(:host_count) do |subscription|
@@ -23,9 +23,15 @@
23
23
  :class => 'form-control', :name => ks_repo_select_name, :disabled => kickstart_options.empty? %>
24
24
  <% end %>
25
25
 
26
- <% content_for(:javascripts) do -%>
27
- <script>
26
+ <script>
27
+ if(window.allJsLoaded){
28
28
  KT.hosts.set_media_selection_bindings();
29
29
  KT.hosts.update_media_enablement();
30
- </script>
31
- <% end -%>
30
+ }
31
+ else {
32
+ $(document).on('ContentLoad', function(){
33
+ KT.hosts.set_media_selection_bindings();
34
+ KT.hosts.update_media_enablement();
35
+ });
36
+ }
37
+ </script>
@@ -0,0 +1,18 @@
1
+ <div class="clearfix">
2
+ <div class="form-group ">
3
+ <label class="col-md-2 control-label" for="http_proxy_content_default_http_proxy">
4
+ Default content HTTP proxy
5
+ </label>
6
+ <div class="col-md-4">
7
+ <% if @http_proxy.new_record? %>
8
+ <%= check_box_tag 'http_proxy[content_default_http_proxy]',
9
+ '1',
10
+ params.dig('http_proxy', 'content_default_http_proxy') == '1',
11
+ id: 'content_default_http_proxy' %>
12
+ Set this proxy as the default for content, updating the 'Default HTTP Proxy' setting.
13
+ <% else %>
14
+ <%= @http_proxy.content_default_http_proxy? ? _('Yes') : _('No') %>
15
+ <% end %>
16
+ </div>
17
+ </div>
18
+ </div>
@@ -0,0 +1,5 @@
1
+ <% if @taxonomy.is_a?(Organization) %>
2
+
3
+ <%= text_f f, :label, :class => 'input-xlarge' %>
4
+
5
+ <% end %>