katello 4.9.2 → 4.10.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -7
  3. data/app/assets/javascripts/katello/locale/bn/katello.js +8967 -1
  4. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +8967 -0
  5. data/app/assets/javascripts/katello/locale/ca/katello.js +8967 -0
  6. data/app/assets/javascripts/katello/locale/cs/katello.js +8967 -1
  7. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +8969 -0
  8. data/app/assets/javascripts/katello/locale/de/katello.js +8991 -1
  9. data/app/assets/javascripts/katello/locale/de_AT/katello.js +8966 -0
  10. data/app/assets/javascripts/katello/locale/de_DE/katello.js +8967 -0
  11. data/app/assets/javascripts/katello/locale/el/katello.js +8967 -0
  12. data/app/assets/javascripts/katello/locale/en/katello.js +8967 -1
  13. data/app/assets/javascripts/katello/locale/en_GB/katello.js +8967 -0
  14. data/app/assets/javascripts/katello/locale/en_US/katello.js +8966 -0
  15. data/app/assets/javascripts/katello/locale/es/katello.js +8984 -1
  16. data/app/assets/javascripts/katello/locale/et_EE/katello.js +8966 -0
  17. data/app/assets/javascripts/katello/locale/fr/katello.js +9008 -1
  18. data/app/assets/javascripts/katello/locale/gl/katello.js +8967 -0
  19. data/app/assets/javascripts/katello/locale/gu/katello.js +8967 -1
  20. data/app/assets/javascripts/katello/locale/he_IL/katello.js +8967 -0
  21. data/app/assets/javascripts/katello/locale/hi/katello.js +8967 -1
  22. data/app/assets/javascripts/katello/locale/id/katello.js +8966 -0
  23. data/app/assets/javascripts/katello/locale/it/katello.js +8974 -1
  24. data/app/assets/javascripts/katello/locale/ja/katello.js +9004 -1
  25. data/app/assets/javascripts/katello/locale/ka/katello.js +8976 -1
  26. data/app/assets/javascripts/katello/locale/kn/katello.js +8967 -1
  27. data/app/assets/javascripts/katello/locale/ko/katello.js +8972 -1
  28. data/app/assets/javascripts/katello/locale/locale/katello.js +3070 -1
  29. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +8966 -0
  30. data/app/assets/javascripts/katello/locale/mr/katello.js +8967 -1
  31. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +8967 -0
  32. data/app/assets/javascripts/katello/locale/or/katello.js +8967 -1
  33. data/app/assets/javascripts/katello/locale/pa/katello.js +8967 -1
  34. data/app/assets/javascripts/katello/locale/pl/katello.js +8967 -0
  35. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +8966 -0
  36. data/app/assets/javascripts/katello/locale/pt/katello.js +8967 -1
  37. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +8984 -1
  38. data/app/assets/javascripts/katello/locale/ro/katello.js +8966 -0
  39. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +8966 -0
  40. data/app/assets/javascripts/katello/locale/ru/katello.js +8973 -1
  41. data/app/assets/javascripts/katello/locale/sl/katello.js +8967 -0
  42. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +8967 -0
  43. data/app/assets/javascripts/katello/locale/ta/katello.js +8967 -1
  44. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +8967 -0
  45. data/app/assets/javascripts/katello/locale/te/katello.js +8967 -1
  46. data/app/assets/javascripts/katello/locale/tr/katello.js +8967 -0
  47. data/app/assets/javascripts/katello/locale/vi/katello.js +8966 -0
  48. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +8966 -0
  49. data/app/assets/javascripts/katello/locale/zh/katello.js +8966 -0
  50. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +9004 -1
  51. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +8972 -1
  52. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  53. data/app/controllers/katello/api/v2/alternate_content_sources_bulk_actions_controller.rb +22 -1
  54. data/app/controllers/katello/api/v2/api_controller.rb +0 -15
  55. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +13 -4
  56. data/app/controllers/katello/api/v2/host_errata_controller.rb +0 -12
  57. data/app/controllers/katello/api/v2/host_packages_controller.rb +0 -55
  58. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +0 -77
  59. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  60. data/app/controllers/katello/api/v2/repositories_controller.rb +6 -10
  61. data/app/controllers/katello/api/v2/sync_controller.rb +0 -1
  62. data/app/controllers/katello/concerns/api/api_controller.rb +0 -10
  63. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +1 -1
  64. data/app/lib/actions/katello/alternate_content_source/update.rb +1 -1
  65. data/app/lib/actions/katello/content_view/capsule_sync.rb +1 -1
  66. data/app/lib/actions/katello/content_view/incremental_updates.rb +3 -9
  67. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +8 -2
  68. data/app/lib/actions/katello/repository/capsule_sync.rb +1 -1
  69. data/app/lib/actions/katello/repository/update_metadata_sync.rb +1 -1
  70. data/app/lib/katello/concerns/base_template_scope_extensions.rb +4 -9
  71. data/app/lib/katello/resources/cdn.rb +4 -0
  72. data/app/lib/katello/validators/alternate_content_source_products_validator.rb +1 -1
  73. data/app/models/katello/cdn_configuration.rb +4 -0
  74. data/app/models/katello/concerns/host_managed_extensions.rb +2 -1
  75. data/app/models/katello/content_view.rb +5 -1
  76. data/app/models/katello/content_view_component.rb +1 -1
  77. data/app/models/katello/content_view_version.rb +4 -0
  78. data/app/models/katello/host/content_facet.rb +4 -5
  79. data/app/models/katello/ping.rb +0 -19
  80. data/app/models/katello/repository.rb +5 -1
  81. data/app/models/katello/root_repository.rb +2 -8
  82. data/app/services/katello/applicability/applicable_content_helper.rb +2 -2
  83. data/app/services/katello/registration_manager.rb +2 -12
  84. data/app/views/foreman/job_templates/configure_host_for_new_content_source.erb +25 -0
  85. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +1 -1
  86. data/app/views/katello/api/v2/content_facet/show.json.rabl +0 -12
  87. data/app/views/katello/api/v2/content_view_components/show.json.rabl +4 -1
  88. data/app/views/katello/api/v2/content_views/base.json.rabl +6 -2
  89. data/app/views/katello/api/v2/repositories/show.json.rabl +0 -1
  90. data/config/initializers/monkeys.rb +1 -0
  91. data/config/katello.yaml.example +0 -4
  92. data/config/routes/api/v2.rb +3 -0
  93. data/config/routes/overrides.rb +0 -11
  94. data/db/migrate/20230609155411_add_custom_cdn_auth_enabled_to_katello_cdn_configurations.rb +5 -0
  95. data/db/migrate/20230710190626_remove_relative_path_limit.rb +5 -0
  96. data/db/migrate/20230717150442_change_change_content_source_job_template_name.rb +20 -0
  97. data/db/migrate/20230828143236_remove_katello_agent_dispatch_history.rb +15 -0
  98. data/db/seeds.d/111-upgrade_tasks.rb +1 -2
  99. data/engines/bastion/app/views/bastion/layouts/assets.html.erb +1 -1
  100. data/engines/bastion_katello/README.md +2 -1
  101. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +4 -2
  102. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +2 -2
  103. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys.html +8 -3
  104. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +3 -44
  105. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-module-streams-modal.controller.js +0 -1
  106. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +1 -65
  107. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +1 -3
  108. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +1 -6
  109. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-applicable.controller.js +1 -1
  110. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +1 -16
  111. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-module-streams.controller.js +0 -1
  112. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-actions.controller.js +0 -1
  113. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +2 -11
  114. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +0 -2
  115. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +1 -39
  116. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-applicable.html +2 -2
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -2
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +2 -3
  119. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +4 -5
  120. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +1 -1
  121. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +2 -4
  122. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +2 -4
  123. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +0 -1
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +0 -14
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +0 -4
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +1 -2
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +2 -1
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-content-views.html +1 -1
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +235 -521
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +13 -2
  131. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -3
  132. data/lib/katello/engine.rb +0 -18
  133. data/lib/katello/permission_creator.rb +1 -1
  134. data/lib/katello/plugin.rb +0 -25
  135. data/lib/katello/version.rb +1 -1
  136. data/lib/monkeys/remove_hidden_distribution.rb +383 -0
  137. data/locale/action_names.rb +3 -1
  138. data/locale/bn/katello.po +130 -39
  139. data/locale/bn_IN/katello.po +130 -39
  140. data/locale/ca/katello.po +130 -39
  141. data/locale/cs/katello.po +130 -39
  142. data/locale/cs_CZ/katello.po +130 -39
  143. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  144. data/locale/de/katello.po +134 -43
  145. data/locale/de_AT/katello.po +130 -39
  146. data/locale/de_DE/katello.po +130 -39
  147. data/locale/el/katello.po +130 -39
  148. data/locale/en/katello.po +130 -39
  149. data/locale/en_GB/katello.po +130 -39
  150. data/locale/en_US/katello.po +130 -39
  151. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  152. data/locale/es/katello.po +133 -42
  153. data/locale/et_EE/katello.po +130 -39
  154. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  155. data/locale/fr/katello.po +138 -47
  156. data/locale/gl/katello.po +130 -39
  157. data/locale/gu/katello.po +130 -39
  158. data/locale/he_IL/katello.po +130 -39
  159. data/locale/hi/katello.po +130 -39
  160. data/locale/id/katello.po +130 -39
  161. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  162. data/locale/it/katello.po +131 -40
  163. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  164. data/locale/ja/katello.po +138 -47
  165. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  166. data/locale/ka/katello.po +131 -40
  167. data/locale/katello.pot +805 -642
  168. data/locale/kn/katello.po +130 -39
  169. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  170. data/locale/ko/katello.po +131 -40
  171. data/locale/ml_IN/katello.po +130 -39
  172. data/locale/mr/katello.po +130 -39
  173. data/locale/nl_NL/katello.po +130 -39
  174. data/locale/or/katello.po +130 -39
  175. data/locale/pa/katello.po +130 -39
  176. data/locale/pl/katello.po +130 -39
  177. data/locale/pl_PL/katello.po +130 -39
  178. data/locale/pt/katello.po +130 -39
  179. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  180. data/locale/pt_BR/katello.po +133 -42
  181. data/locale/ro/katello.po +130 -39
  182. data/locale/ro_RO/katello.po +130 -39
  183. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  184. data/locale/ru/katello.po +131 -40
  185. data/locale/sl/katello.po +130 -39
  186. data/locale/sv_SE/katello.po +130 -39
  187. data/locale/ta/katello.po +130 -39
  188. data/locale/ta_IN/katello.po +130 -39
  189. data/locale/te/katello.po +130 -39
  190. data/locale/tr/katello.po +130 -39
  191. data/locale/vi/katello.po +130 -39
  192. data/locale/vi_VN/katello.po +130 -39
  193. data/locale/zh/katello.po +130 -39
  194. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  195. data/locale/zh_CN/katello.po +138 -47
  196. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  197. data/locale/zh_TW/katello.po +131 -40
  198. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +0 -5
  199. data/webpack/components/extensions/HostDetails/Tabs/ContentTab/index.js +9 -3
  200. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +7 -58
  201. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/HostErrataActions.js +2 -11
  202. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/HostPackagesActions.js +1 -40
  203. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/HostPackagesConstants.js +0 -3
  204. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +5 -40
  205. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +6 -65
  206. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +5 -4
  207. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +0 -212
  208. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +2 -157
  209. data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +0 -20
  210. data/webpack/containers/Application/config.js +5 -0
  211. data/webpack/scenes/ActivationKeys/Details/ActivationKeyActions.js +31 -0
  212. data/webpack/scenes/ActivationKeys/Details/ActivationKeyConstants.js +3 -0
  213. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.js +127 -0
  214. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.scss +37 -0
  215. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetailsSelectors.js +16 -0
  216. data/webpack/scenes/ActivationKeys/Details/__tests__/activationKeyDetails.test.js +117 -0
  217. data/webpack/scenes/ActivationKeys/Details/components/DeleteMenu.js +77 -0
  218. data/webpack/scenes/ActivationKeys/Details/components/DeleteModal.js +63 -0
  219. data/webpack/scenes/ActivationKeys/Details/components/EditModal.js +199 -0
  220. data/webpack/scenes/ActivationKeys/Details/index.js +3 -0
  221. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +10 -5
  222. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditProducts.js +8 -3
  223. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +8 -3
  224. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +2 -2
  225. data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +1 -1
  226. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +37 -29
  227. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +53 -37
  228. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +7 -0
  229. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.fixtures.json +15 -6
  230. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +6 -5
  231. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/publishedContentViewDetails.fixtures.json +43 -197
  232. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +1 -1
  233. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +1 -1
  234. data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +2 -2
  235. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +0 -98
  236. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +103 -1
  237. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersionsLatestEnvironment.fixtures.json +634 -0
  238. data/webpack/scenes/ContentViews/components/ContentViewSelect/helpers.js +1 -1
  239. data/webpack/scenes/Hosts/ChangeContentSource/actions.js +14 -12
  240. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +45 -6
  241. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +42 -7
  242. data/webpack/scenes/Hosts/ChangeContentSource/index.js +37 -10
  243. data/webpack/scenes/Hosts/ChangeContentSource/styles.scss +5 -0
  244. data/webpack/scenes/RedHatRepositories/index.scss +1 -1
  245. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +2 -2
  246. metadata +85 -81
  247. data/app/lib/actions/katello/agent/dispatch_history_presenter.rb +0 -64
  248. data/app/lib/actions/katello/agent_action.rb +0 -120
  249. data/app/lib/actions/katello/bulk_agent_action.rb +0 -37
  250. data/app/lib/actions/katello/host/erratum/applicable_errata_install.rb +0 -44
  251. data/app/lib/actions/katello/host/erratum/install.rb +0 -38
  252. data/app/lib/actions/katello/host/package/install.rb +0 -34
  253. data/app/lib/actions/katello/host/package/remove.rb +0 -48
  254. data/app/lib/actions/katello/host/package/update.rb +0 -42
  255. data/app/lib/actions/katello/host/package_group/install.rb +0 -30
  256. data/app/lib/actions/katello/host/package_group/remove.rb +0 -30
  257. data/app/lib/katello/agent/base_message.rb +0 -41
  258. data/app/lib/katello/agent/client_message_handler.rb +0 -69
  259. data/app/lib/katello/agent/connection.rb +0 -38
  260. data/app/lib/katello/agent/install_errata_message.rb +0 -25
  261. data/app/lib/katello/agent/install_package_group_message.rb +0 -25
  262. data/app/lib/katello/agent/install_package_message.rb +0 -28
  263. data/app/lib/katello/agent/remove_package_group_message.rb +0 -25
  264. data/app/lib/katello/agent/remove_package_message.rb +0 -28
  265. data/app/lib/katello/agent/update_package_message.rb +0 -33
  266. data/app/lib/katello/event_daemon/services/agent_event_receiver.rb +0 -59
  267. data/app/lib/katello/qpid/connection.rb +0 -149
  268. data/app/lib/katello/util/default_enablement_migrator.rb +0 -183
  269. data/app/models/katello/agent/dispatch_history.rb +0 -19
  270. data/app/models/katello/events/delete_host_agent_queue.rb +0 -19
  271. data/app/services/katello/agent/dispatcher.rb +0 -60
  272. data/app/views/foreman/job_templates/change_content_source.erb +0 -18
  273. data/app/views/katello/api/v2/sync/index.json.rabl +0 -1
  274. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/katello-agent-notice.html +0 -8
  275. data/lib/katello/tasks/upgrades/4.9/update_custom_products_enablement.rake +0 -13
  276. data/webpack/components/extensions/HostDetails/common/KatelloAgentDeprecationAlert.js +0 -23
@@ -106,6 +106,10 @@ module Katello
106
106
  name
107
107
  end
108
108
 
109
+ def self.contains_file(file_unit_id)
110
+ where(id: Katello::Repository.where(id: Katello::RepositoryFileUnit.where(file_unit_id: file_unit_id).select(:repository_id)).select(:content_view_version_id))
111
+ end
112
+
109
113
  def ansible_collections
110
114
  AnsibleCollection.in_repositories(archived_repos)
111
115
  end
@@ -61,6 +61,10 @@ module Katello
61
61
  self.cves_changed = true
62
62
  end
63
63
 
64
+ def mark_cves_unchanged
65
+ self.cves_changed = false
66
+ end
67
+
64
68
  def cves_changed?
65
69
  cves_changed
66
70
  end
@@ -299,11 +303,6 @@ module Katello
299
303
  end
300
304
  end
301
305
 
302
- def katello_agent_installed?
303
- self.host.installed_packages.where("#{Katello::InstalledPackage.table_name}.name" => 'katello-agent').any? ||
304
- self.host.installed_debs.where("#{Katello::InstalledDeb.table_name}.name" => 'katello-agent').any?
305
- end
306
-
307
306
  def tracer_installed?
308
307
  self.host.installed_packages.where("#{Katello::InstalledPackage.table_name}.name" => [ "python-#{HOST_TOOLS_TRACER_PACKAGE_NAME}",
309
308
  "python3-#{HOST_TOOLS_TRACER_PACKAGE_NAME}",
@@ -2,14 +2,12 @@ module Katello
2
2
  class Ping
3
3
  OK_RETURN_CODE = 'ok'.freeze
4
4
  FAIL_RETURN_CODE = 'FAIL'.freeze
5
- PACKAGES = %w(katello candlepin pulp qpid foreman tfm hammer).freeze
6
5
 
7
6
  class << self
8
7
  def services(capsule_id = nil)
9
8
  proxy = fetch_proxy(capsule_id)
10
9
  services = [:candlepin, :candlepin_auth, :foreman_tasks, :katello_events, :candlepin_events]
11
10
  services += [:pulp3, :pulp3_content] if proxy&.pulp3_enabled?
12
- services += [:katello_agent] if ::Katello.with_katello_agent?
13
11
  if proxy.nil? || proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE) || proxy.has_feature?(SmartProxy::PULP_FEATURE)
14
12
  services += [:pulp, :pulp_auth]
15
13
  end
@@ -64,13 +62,6 @@ module Katello
64
62
  end
65
63
  end
66
64
 
67
- def ping_katello_agent(result)
68
- exception_watch(result) do
69
- status = Katello::EventDaemon::Runner.service_status(:katello_agent_events)
70
- event_daemon_status(status, result)
71
- end
72
- end
73
-
74
65
  def ping_pulp3_without_auth(service_result, capsule_id)
75
66
  exception_watch(service_result) do
76
67
  Katello::Ping.pulp3_without_auth(fetch_proxy(capsule_id).pulp3_url)
@@ -151,13 +142,6 @@ module Katello
151
142
  result
152
143
  end
153
144
 
154
- # get package information for katello and its components
155
- def packages
156
- names = PACKAGES.join("|")
157
- packages = `rpm -qa | egrep "#{names}"`
158
- packages.split("\n").sort
159
- end
160
-
161
145
  def pulp_url(capsule_id)
162
146
  proxy = fetch_proxy(capsule_id)
163
147
  uri = URI.parse(proxy.pulp_url)
@@ -233,7 +217,6 @@ module Katello
233
217
  end
234
218
  end
235
219
 
236
- # rubocop:disable Metrics/CyclomaticComplexity
237
220
  def ping_services_for_capsule(services, capsule_id)
238
221
  services ||= self.services(capsule_id)
239
222
  result = {}
@@ -249,14 +232,12 @@ module Katello
249
232
  ping_foreman_tasks(result[:foreman_tasks]) if result.include?(:foreman_tasks)
250
233
  ping_katello_events(result[:katello_events]) if result.include?(:katello_events)
251
234
  ping_candlepin_events(result[:candlepin_events]) if result.include?(:candlepin_events)
252
- ping_katello_agent(result[:katello_agent]) if result.include?(:katello_agent)
253
235
 
254
236
  # set overall status result code
255
237
  result = {:services => result}
256
238
  result[:status] = result[:services].each_value.any? { |v| v[:status] == FAIL_RETURN_CODE } ? FAIL_RETURN_CODE : OK_RETURN_CODE
257
239
  result
258
240
  end
259
- # rubocop:enable Metrics/CyclomaticComplexity
260
241
 
261
242
  def fetch_proxy(capsule_id)
262
243
  capsule_id ? SmartProxy.unscoped.find(capsule_id) : SmartProxy.pulp_primary
@@ -178,7 +178,7 @@ module Katello
178
178
  :upstream_authentication_token, :deb_releases,
179
179
  :deb_components, :deb_architectures, :ssl_ca_cert_id, :ssl_ca_cert, :ssl_client_cert, :ssl_client_cert_id,
180
180
  :ssl_client_key_id, :os_versions, :ssl_client_key, :ignorable_content, :description, :include_tags, :exclude_tags,
181
- :docker_tags_whitelist, :ansible_collection_requirements, :ansible_collection_auth_url, :ansible_collection_auth_token,
181
+ :ansible_collection_requirements, :ansible_collection_auth_url, :ansible_collection_auth_token,
182
182
  :http_proxy_policy, :http_proxy_id, :to => :root
183
183
 
184
184
  delegate :content_id, to: :root, allow_nil: true
@@ -947,6 +947,10 @@ module Katello
947
947
  content_view.repositories.include? self
948
948
  end
949
949
 
950
+ def sync_status
951
+ return latest_dynflow_sync
952
+ end
953
+
950
954
  protected
951
955
 
952
956
  def unit_type_for_removal(type_class = nil)
@@ -3,7 +3,6 @@ module Katello
3
3
  class RootRepository < Katello::Model
4
4
  audited :except => [:content_id]
5
5
  serialize :ignorable_content
6
- serialize :docker_tags_whitelist
7
6
  serialize :include_tags
8
7
  serialize :exclude_tags
9
8
  serialize :os_versions
@@ -360,11 +359,6 @@ module Katello
360
359
  Katello::Content.find_by(:cp_content_id => self.content_id, :organization_id => self.product.organization_id)
361
360
  end
362
361
 
363
- # For API support during deprecation period.
364
- def docker_tags_whitelist
365
- include_tags
366
- end
367
-
368
362
  def docker?
369
363
  self.content_type == Repository::DOCKER_TYPE
370
364
  end
@@ -406,8 +400,8 @@ module Katello
406
400
  end
407
401
 
408
402
  def pulp_update_needed?
409
- changeable_attributes = %w(url unprotected checksum_type docker_upstream_name download_policy mirroring_policy verify_ssl_on_sync
410
- upstream_username upstream_password ignorable_content retain_package_versions_count
403
+ changeable_attributes = %w(url unprotected checksum_type docker_upstream_name download_policy verify_ssl_on_sync
404
+ upstream_username upstream_password retain_package_versions_count
411
405
  ssl_ca_cert_id ssl_client_cert_id ssl_client_key_id http_proxy_policy http_proxy_id download_concurrency)
412
406
  changeable_attributes += %w(name container_repository_name include_tags exclude_tags) if docker?
413
407
  changeable_attributes += %w(deb_releases deb_components deb_architectures gpg_key_id) if deb?
@@ -133,13 +133,13 @@ module Katello
133
133
  end
134
134
 
135
135
  def newest_distinct_installed_packages_query
136
- "SELECT DISTINCT ON (katello_installed_packages.name) katello_installed_packages.id " \
136
+ "SELECT DISTINCT ON (katello_installed_packages.name, katello_installed_packages.arch) katello_installed_packages.id " \
137
137
  "FROM katello_installed_packages INNER JOIN " \
138
138
  "katello_host_installed_packages ON " \
139
139
  "katello_installed_packages.id = " \
140
140
  "katello_host_installed_packages.installed_package_id " \
141
141
  "WHERE katello_host_installed_packages.host_id = " \
142
- "#{content_facet.host.id} ORDER BY katello_installed_packages.name, katello_installed_packages.evr DESC"
142
+ "#{content_facet.host.id} ORDER BY katello_installed_packages.name, katello_installed_packages.arch, katello_installed_packages.evr DESC"
143
143
  end
144
144
 
145
145
  def applicable_differences
@@ -135,8 +135,6 @@ module Katello
135
135
  # if this fails, there is not much to do about it right now. We can't really re-create the candlepin consumer.
136
136
  # This can be cleaned up later via clean_backend_objects.
137
137
 
138
- delete_agent_queue(host) if host.content_facet.try(:uuid)
139
-
140
138
  host.subscription_facet.try(:destroy!)
141
139
 
142
140
  if unregistering
@@ -281,16 +279,6 @@ module Katello
281
279
  Rails.logger.warn(_("Candlepin consumer %s has already been removed") % host_uuid)
282
280
  end
283
281
 
284
- def delete_agent_queue(host)
285
- return unless ::Katello.with_katello_agent?
286
-
287
- queue_name = Katello::Agent::Dispatcher.host_queue_name(host)
288
- Katello::EventQueue.push_event(::Katello::Events::DeleteHostAgentQueue::EVENT_TYPE, host.id) do |attrs|
289
- attrs[:metadata] = { queue_name: queue_name }
290
- attrs[:process_after] = 10.minutes.from_now
291
- end
292
- end
293
-
294
282
  def populate_content_facet(host, content_view_environments, uuid)
295
283
  content_facet = host.content_facet || ::Katello::Host::ContentFacet.new(:host => host)
296
284
  content_facet.content_view_environments = content_view_environments
@@ -317,6 +305,8 @@ module Katello
317
305
  host.content_facet.uuid = nil
318
306
  host.content_facet.content_view_environments = []
319
307
  host.content_facet.save!
308
+ Rails.logger.debug "remove_host_artifacts: marking CVEs unchanged to prevent backend update"
309
+ host.content_facet.mark_cves_unchanged
320
310
  host.content_facet.calculate_and_import_applicability
321
311
  end
322
312
 
@@ -0,0 +1,25 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Configure host for new content source
4
+ job_category: Katello
5
+ model: JobTemplate
6
+ provider_type: script
7
+ description_format: Configure subscription manager for new content source
8
+ feature: katello_change_content_source
9
+ %>
10
+ #!/bin/sh
11
+
12
+ # This job template alone will NOT change a host's content source!
13
+ # It is invoked after changing a host's content source on the server,
14
+ # which is done from the Change Content Source page in the web UI.
15
+
16
+ <%= configure_host_for_new_content_source(@host, foreman_server_ca_cert) %>
17
+
18
+ # If REX pull mode is enabled, update yggdrasil config to pull from the new content source.
19
+ # If host is not configured for REX pull mode, this is a noop.
20
+
21
+ if [ -f /etc/yggdrasil/config.toml ]; then
22
+ cp /etc/yggdrasil/config.toml /etc/yggdrasil/config.toml.bak
23
+ export YGGDRASIL_RESTART_DELAY=10
24
+ <%= snippet 'remote_execution_pull_setup' %>
25
+ fi
@@ -38,7 +38,7 @@ child @lifecycle_environments => :lifecycle_environments do
38
38
  :label => content_view.label,
39
39
  :name => content_view.name,
40
40
  :composite => content_view.composite,
41
- :last_published => content_view.versions.empty? ? nil : content_view.versions.last.created_at,
41
+ :last_published => content_view.versions.empty? ? nil : content_view.versions.in_environment(env).first&.created_at,
42
42
  :default => content_view.default,
43
43
  :up_to_date => @capsule.repos_pending_sync(env, content_view).empty?,
44
44
  :counts => {
@@ -21,22 +21,10 @@ child :content_facet => :content_facet_attributes do
21
21
  content_facet.single_lifecycle_environment&.library? || false
22
22
  end
23
23
 
24
- node :katello_agent_installed do |content_facet|
25
- content_facet.katello_agent_installed?
26
- end
27
-
28
24
  node :katello_tracer_installed do |content_facet|
29
25
  content_facet.tracer_installed?
30
26
  end
31
27
 
32
- node :katello_agent_enabled do
33
- Katello.with_katello_agent?
34
- end
35
-
36
- node :remote_execution_by_default do
37
- Katello.remote_execution_by_default?
38
- end
39
-
40
28
  user = User.current # current_user is not available here
41
29
  child :permissions do
42
30
  node(:view_lifecycle_environments) { user.can?("view_lifecycle_environments") }
@@ -29,5 +29,8 @@ child :latest_version => :content_view_version do
29
29
  end
30
30
 
31
31
  child :component_content_view_versions => :component_content_view_versions do
32
- attributes :id, :version
32
+ attributes :id, :version, :description
33
+ node :published_at_words do |version|
34
+ time_ago_in_words(version.created_at)
35
+ end
33
36
  end
@@ -44,7 +44,7 @@ node :environments do |cv|
44
44
  {
45
45
  id: env.id,
46
46
  label: env.label,
47
- name: env.label,
47
+ name: env.name,
48
48
  activation_keys: cv&.activation_keys&.in_environment(env)&.ids,
49
49
  hosts: cv&.hosts&.in_environments([env])&.ids,
50
50
  permissions: {readable: env.readable?}
@@ -64,11 +64,15 @@ else
64
64
  attributes :repository_ids
65
65
  end
66
66
 
67
- child :versions => :versions do
67
+ child :sorted_versions => :versions do
68
68
  attributes :id, :version
69
69
  attributes :created_at => :published
70
+ attributes :description
70
71
  attributes :environment_ids
71
72
  attributes :filters_applied? => :filters_applied
73
+ node :published_at_words do |version|
74
+ time_ago_in_words(version.created_at)
75
+ end
72
76
  end
73
77
 
74
78
  if params.key?(:include_permissions)
@@ -7,7 +7,6 @@ extends 'katello/api/v2/repositories/base'
7
7
  glue(@resource.root) do
8
8
  attributes :content_type
9
9
  attributes :docker_upstream_name
10
- attributes :docker_tags_whitelist
11
10
  attributes :include_tags
12
11
  attributes :exclude_tags
13
12
  attributes :verify_ssl_on_sync
@@ -2,3 +2,4 @@
2
2
  require 'monkeys/anemone'
3
3
  require 'monkeys/ar_postgres_evr_t'
4
4
  require 'monkeys/fx_sqlite_skip'
5
+ require 'monkeys/remove_hidden_distribution'
@@ -39,10 +39,6 @@
39
39
  :upload_chunk_size: 1048575 # upload size in bytes to pulp. see SSLRenegBufferSize in apache
40
40
  :skip_checksum_validation: false
41
41
 
42
- :qpid:
43
- :url: amqp:ssl:katello-devel.example.com:5671
44
- :subscriptions_queue_address: katello_event_queue
45
-
46
42
  # Logging configuration can be changed by uncommenting the loggers
47
43
  # section and the logger configuration desired.
48
44
  #
@@ -353,6 +353,8 @@ Katello::Engine.routes.draw do
353
353
  ##############################
354
354
  ##############################
355
355
 
356
+ match '/alternate_content_sources/bulk/refresh_all' => 'alternate_content_sources_bulk_actions#refresh_all_alternate_content_sources', :via => :post
357
+
356
358
  api_resources :alternate_content_sources, :only => [], :constraints => { :id => /[0-9a-zA-Z\-_.]*/ } do
357
359
  collection do
358
360
  match '/bulk/destroy' => 'alternate_content_sources_bulk_actions#destroy_alternate_content_sources', :via => :put
@@ -484,6 +486,7 @@ Katello::Engine.routes.draw do
484
486
  end
485
487
 
486
488
  api_resources :sync_plans, :only => [:index, :show, :update, :destroy] do
489
+ api_resources :products, :only => [:index]
487
490
  get :auto_complete_search, :on => :collection
488
491
  put :sync
489
492
  end
@@ -52,7 +52,6 @@ Foreman::Application.routes.draw do
52
52
  resources :hosts, :only => [] do
53
53
  resources :errata, :only => [:show, :index], :controller => :host_errata do
54
54
  collection do
55
- put :apply
56
55
  get :auto_complete_search
57
56
  put :applicability
58
57
  end
@@ -69,11 +68,8 @@ Foreman::Application.routes.draw do
69
68
  match '/bulk/auto_attach' => 'hosts_bulk_actions#auto_attach', :via => :put
70
69
  match '/bulk/content_overrides' => 'hosts_bulk_actions#content_overrides', :via => :put
71
70
 
72
- match '/bulk/install_content' => 'hosts_bulk_actions#install_content', :via => :put
73
71
  match '/bulk/applicable_errata' => 'hosts_bulk_actions#applicable_errata', :via => :post
74
72
  match '/bulk/installable_errata' => 'hosts_bulk_actions#installable_errata', :via => :post
75
- match '/bulk/update_content' => 'hosts_bulk_actions#update_content', :via => :put
76
- match '/bulk/remove_content' => 'hosts_bulk_actions#remove_content', :via => :put
77
73
  match '/bulk/destroy' => 'hosts_bulk_actions#destroy_hosts', :via => :put
78
74
  match '/bulk/environment_content_view' => 'hosts_bulk_actions#environment_content_view', :via => :put
79
75
  match '/bulk/release_version' => 'hosts_bulk_actions#release_version', :via => :put
@@ -88,13 +84,6 @@ Foreman::Application.routes.draw do
88
84
 
89
85
  resources :packages, :only => [:index], :controller => :host_packages do
90
86
  get :auto_complete_search, :on => :collection
91
-
92
- collection do
93
- put :remove
94
- put :install
95
- put :upgrade
96
- put :upgrade_all
97
- end
98
87
  end
99
88
 
100
89
  resources :module_streams, :only => [:index], :controller => :host_module_streams do
@@ -0,0 +1,5 @@
1
+ class AddCustomCdnAuthEnabledToKatelloCdnConfigurations < ActiveRecord::Migration[6.1]
2
+ def change
3
+ add_column :katello_cdn_configurations, :custom_cdn_auth_enabled, :boolean, default: false
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class RemoveRelativePathLimit < ActiveRecord::Migration[6.1]
2
+ def change
3
+ change_column :katello_repositories, :relative_path, :text
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ class ChangeChangeContentSourceJobTemplateName < ActiveRecord::Migration[6.1]
2
+ TEMPLATE_NAMES = {
3
+ "Change content source" => "Configure host for new content source"
4
+ }.freeze
5
+
6
+ def up
7
+ TEMPLATE_NAMES.each do |from, to|
8
+ token = SecureRandom.base64(5)
9
+ ::Template.unscoped.find_by(name: to)&.update_columns(:name => "#{to} Backup #{token}")
10
+ ::Template.unscoped.find_by(name: from)&.update_columns(:name => to)
11
+ end
12
+ end
13
+
14
+ def down
15
+ TEMPLATE_NAMES.each do |from, to|
16
+ ::Template.unscoped.find_by(name: from)&.delete
17
+ ::Template.unscoped.find_by(name: to)&.update_columns(:name => from)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ class RemoveKatelloAgentDispatchHistory < ActiveRecord::Migration[6.1]
2
+ def up
3
+ drop_table :katello_agent_dispatch_histories
4
+ end
5
+
6
+ def down
7
+ create_table :katello_agent_dispatch_histories do |t|
8
+ t.integer :host_id, null: false, foreign_key: true
9
+ t.datetime :accepted_at
10
+ t.string :dynflow_execution_plan_id
11
+ t.integer :dynflow_step_id
12
+ t.text :result
13
+ end
14
+ end
15
+ end
@@ -9,7 +9,6 @@ UpgradeTask.define_tasks(:katello) do
9
9
  {:name => 'katello:upgrades:4.2:remove_checksum_values'},
10
10
  {:name => 'katello:upgrades:4.4:publish_import_cvvs'},
11
11
  {:name => 'katello:upgrades:4.8:fix_incorrect_providers'},
12
- {:name => 'katello:upgrades:4.8:regenerate_imported_repository_metadata'},
13
- {:name => 'katello:upgrades:4.9:update_custom_products_enablement'}
12
+ {:name => 'katello:upgrades:4.8:regenerate_imported_repository_metadata'}
14
13
  ]
15
14
  end
@@ -25,7 +25,6 @@
25
25
  angular.module('Bastion').value('deleteHostOnUnregister', angular.fromJson(`<%= Setting[:unregister_delete_host] %>`));
26
26
  angular.module('Bastion').value('globalContentProxy', angular.fromJson(`<%= Setting[:content_default_http_proxy].empty? ? nil.to_json : Setting[:content_default_http_proxy].to_json.html_safe %>`));
27
27
  angular.module('Bastion').value('entriesPerPage', "<%= Setting[:entries_per_page] %>");
28
- angular.module('Bastion').value('contentViewSolveDependencies', "<%= Setting[:content_view_solve_dependencies] %>");
29
28
  angular.module('Bastion').constant('BastionConfig', angular.fromJson(`<%= Bastion.config.to_json.html_safe %>`));
30
29
  angular.module('Bastion.auth').value('CurrentUser', {
31
30
  id: <%= User.current.id %>,
@@ -33,6 +32,7 @@
33
32
  });
34
33
  angular.module('Bastion.auth').value('Permissions', angular.fromJson(`<%= User.current.cached_roles.collect { |role| role.permissions }.flatten.to_json.html_safe %>`));
35
34
  angular.module('Bastion').value('newHostDetailsUI', "<%= Setting[:host_details_ui] %>");
35
+ angular.module('Bastion').value('experimentalLabsSetting', "<%= Setting[:lab_features] %>");
36
36
  </script>
37
37
  <% Bastion.plugins.each do |name, plugin| %>
38
38
  <%= include_plugin_js(plugin) %>
@@ -7,7 +7,8 @@ The only real difference, as far as the user is concerned, is that the applicati
7
7
  # Running tests:
8
8
 
9
9
  ```
10
- sudo yum -y install npm chromium-headless chromium
10
+ sudo dnf -y install epel-release epel-next-release
11
+ sudo dnf -y install npm chromium-headless chromium
11
12
  cd ./engines/bastion_katello
12
13
  sudo npm install -g grunt-cli
13
14
  npm install
@@ -8,6 +8,7 @@
8
8
  * @requires Nutupane
9
9
  * @requires ActivationKey
10
10
  * @requires CurrentOrganization
11
+ * @requires experimentalLabsSetting
11
12
  *
12
13
  * @description
13
14
  * Provides the functionality specific to activation keys for use with the Nutupane UI pattern.
@@ -15,8 +16,8 @@
15
16
  * within the table.
16
17
  */
17
18
  angular.module('Bastion.activation-keys').controller('ActivationKeysController',
18
- ['$scope', '$location', 'translate', 'Nutupane', 'ActivationKey', 'CurrentOrganization',
19
- function ($scope, $location, translate, Nutupane, ActivationKey, CurrentOrganization) {
19
+ ['$scope', '$location', 'translate', 'Nutupane', 'ActivationKey', 'CurrentOrganization', 'experimentalLabsSetting',
20
+ function ($scope, $location, translate, Nutupane, ActivationKey, CurrentOrganization, experimentalLabsSetting) {
20
21
 
21
22
  var params = {
22
23
  'organization_id': CurrentOrganization,
@@ -30,5 +31,6 @@ angular.module('Bastion.activation-keys').controller('ActivationKeysController',
30
31
  $scope.controllerName = 'katello_activation_keys';
31
32
  nutupane.primaryOnly = true;
32
33
  $scope.table = nutupane.table;
34
+ $scope.experimentalLabsSetting = experimentalLabsSetting;
33
35
  }]
34
36
  );
@@ -37,8 +37,8 @@
37
37
  <span ng-class="getHostStatusIcon(host.subscription_global_status)">
38
38
  </span>
39
39
  </td>
40
- <td bst-table-cell>{{ host.content_facet_attributes.lifecycle_environment_name }}</td>
41
- <td bst-table-cell>{{ host.content_facet_attributes.content_view_name || "" }}</td>
40
+ <td bst-table-cell>{{ host.content_facet_attributes.lifecycle_environment.name }}</td>
41
+ <td bst-table-cell>{{ host.content_facet_attributes.content_view.name || "" }}</td>
42
42
  <td bst-table-cell>{{ host.subscription_facet_attributes.service_level }}</td>
43
43
  <td bst-table-cell>{{ host.subscription_facet_attributes.release_version }}</td>
44
44
  </tr>
@@ -35,9 +35,14 @@
35
35
  <tbody>
36
36
  <tr bst-table-row ng-repeat="activationKey in table.rows">
37
37
  <td bst-table-cell>
38
- <a ui-sref="activation-key.info({activationKeyId: activationKey.id})">
39
- {{ activationKey.name }}
40
- </a>
38
+ <span ng-switch="experimentalLabsSetting">
39
+ <a ng-switch-when="true" ng-href="/labs/activation_keys/{{activationKey.id}}">
40
+ {{ activationKey.name }}
41
+ </a>
42
+ <a ng-switch-when="false" ui-sref="activation-key.info({activationKeyId: activationKey.id})">
43
+ {{ activationKey.name }}
44
+ </a>
45
+ </span>
41
46
  <i class="fa fa-chevron-right selected-icon" ng-show="activationKey.selected"></i>
42
47
  </td>
43
48
  <td bst-table-cell>{{ activationKey | activationKeyConsumedFilter }}</td>
@@ -24,21 +24,6 @@
24
24
  angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalController',
25
25
  ['$scope', '$http', '$location', '$window', '$timeout', '$uibModalInstance', 'HostBulkAction', 'HostCollection', 'Nutupane', 'CurrentOrganization', 'Erratum', 'Notification', 'BastionConfig', 'hostIds', 'newHostDetailsUI',
26
26
  function ($scope, $http, $location, $window, $timeout, $uibModalInstance, HostBulkAction, HostCollection, Nutupane, CurrentOrganization, Erratum, Notification, BastionConfig, hostIds, newHostDetailsUI) {
27
- function installParams() {
28
- var params = hostIds;
29
- params['content_type'] = 'errata';
30
- params.content = _.map($scope.table.getSelected(), 'errata_id');
31
-
32
- if ($scope.nutupane.table.allResultsSelected) {
33
- params['install_all'] = true;
34
- } else {
35
- params['install_all'] = false;
36
- }
37
-
38
- params['organization_id'] = CurrentOrganization;
39
- return params;
40
- }
41
-
42
27
  function fetchErratum(errataId) {
43
28
  $scope.erratum = Erratum.get({id: errataId, 'organization_id': CurrentOrganization});
44
29
  }
@@ -55,8 +40,6 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
55
40
  $scope.table.initialLoad = false;
56
41
  $scope.initialLoad = true;
57
42
  $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
58
- $scope.remoteExecutionByDefault = BastionConfig.remoteExecutionByDefault;
59
- $scope.katelloAgentPresent = BastionConfig.katelloAgentPresent;
60
43
  $scope.allHostsSelected = hostIds.allResultsSelected;
61
44
  $scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
62
45
  $scope.newHostDetailsUI = newHostDetailsUI;
@@ -92,43 +75,19 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
92
75
  };
93
76
 
94
77
  $scope.installErrata = function () {
95
- if ($scope.remoteExecutionByDefault) {
96
- $scope.installErrataViaRemoteExecution();
97
-
98
- } else {
99
- $scope.installErrataViaKatelloAgent(false);
100
- }
101
- };
102
-
103
- $scope.installErrataViaKatelloAgent = function () {
104
- var params = installParams();
105
- HostBulkAction.installContent(params,
106
- function (data) {
107
- $scope.nutupane.invalidate();
108
- $scope.ok();
109
- $scope.transitionTo('content-hosts.bulk-task', {taskId: data.id});
110
- },
111
- function (response) {
112
- angular.forEach(response.data.errors, function (error) {
113
- Notification.setErrorMessage(error);
114
- });
115
- });
78
+ $scope.installErrataViaRemoteExecution();
116
79
  };
117
80
 
118
81
  $scope.selectedErrataIds = function () {
119
- return $scope.nutupane.getAllSelectedResults('errata_id');
82
+ return $scope.table.getSelected();
120
83
  };
121
84
 
122
85
  $scope.installErrataViaRemoteExecution = function(customize) {
123
86
  var errataIds = $scope.selectedErrataIds();
124
- $scope.errataActionFormValues.bulkErrataIds = angular.toJson(errataIds);
125
87
 
126
88
  $scope.errataActionFormValues.remoteAction = 'errata_install';
89
+ $scope.errataActionFormValues.bulkErrataIds = angular.toJson(errataIds);
127
90
  $scope.errataActionFormValues.customize = customize;
128
-
129
- $timeout(function () {
130
- angular.element('#errataActionForm').submit();
131
- }, 0);
132
91
  };
133
92
 
134
93
  $scope.ok = function () {
@@ -34,7 +34,6 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkModuleStream
34
34
  $scope.moduleStreamsNutupane.primaryOnly = true;
35
35
  $scope.table = $scope.moduleStreamsNutupane.table;
36
36
  $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
37
- $scope.remoteExecutionByDefault = BastionConfig.remoteExecutionByDefault;
38
37
 
39
38
  $scope.moduleStreamActionFormValues = {
40
39
  authenticityToken: $window.AUTH_TOKEN.replace(/&quot;/g, ''),