katello 3.3.2 → 3.4.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 (542) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/katello/containers/container.scss +1 -2
  3. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -1
  4. data/app/controllers/katello/api/v2/activation_keys_controller.rb +28 -23
  5. data/app/controllers/katello/api/v2/api_controller.rb +2 -1
  6. data/app/controllers/katello/api/v2/capsule_content_controller.rb +1 -1
  7. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +2 -0
  8. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
  9. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +12 -2
  10. data/app/controllers/katello/api/v2/content_views_controller.rb +4 -1
  11. data/app/controllers/katello/api/v2/docker_tags_controller.rb +14 -0
  12. data/app/controllers/katello/api/v2/environments_controller.rb +2 -1
  13. data/app/controllers/katello/api/v2/host_collections_controller.rb +2 -1
  14. data/app/controllers/katello/api/v2/host_packages_controller.rb +1 -0
  15. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +27 -23
  16. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +19 -0
  17. data/app/controllers/katello/api/v2/organizations_controller.rb +8 -4
  18. data/app/controllers/katello/api/v2/package_groups_controller.rb +51 -0
  19. data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +15 -1
  20. data/app/controllers/katello/api/v2/repositories_controller.rb +57 -32
  21. data/app/controllers/katello/api/v2/repository_sets_controller.rb +1 -0
  22. data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
  23. data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -0
  24. data/app/controllers/katello/concerns/api/v2/content_overrides_controller.rb +39 -0
  25. data/app/controllers/katello/concerns/organizations_controller_extensions.rb +1 -0
  26. data/app/controllers/katello/providers_controller.rb +3 -1
  27. data/app/controllers/katello/sync_management_controller.rb +2 -0
  28. data/app/helpers/katello/errata_mailer_helper.rb +1 -1
  29. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +2 -7
  30. data/app/lib/actions/candlepin/candlepin_listening_service.rb +2 -1
  31. data/app/lib/actions/candlepin/environment/set_content.rb +1 -1
  32. data/app/lib/actions/candlepin/owner/upstream_regenerate_certificates.rb +17 -0
  33. data/app/lib/actions/candlepin/product/content_add.rb +2 -1
  34. data/app/lib/actions/candlepin/product/content_create.rb +3 -1
  35. data/app/lib/actions/candlepin/product/content_destroy.rb +2 -1
  36. data/app/lib/actions/candlepin/product/content_remove.rb +2 -1
  37. data/app/lib/actions/candlepin/product/content_update.rb +3 -1
  38. data/app/lib/actions/candlepin/product/create.rb +12 -1
  39. data/app/lib/actions/candlepin/product/destroy.rb +2 -1
  40. data/app/lib/actions/candlepin/product/update.rb +4 -0
  41. data/app/lib/actions/katello/capsule_content/create_repos.rb +1 -1
  42. data/app/lib/actions/katello/content_view/promote.rb +3 -2
  43. data/app/lib/actions/katello/content_view/promote_to_environment.rb +3 -2
  44. data/app/lib/actions/katello/content_view/publish.rb +3 -2
  45. data/app/lib/actions/katello/content_view_version/destroy.rb +7 -1
  46. data/app/lib/actions/katello/content_view_version/incremental_update.rb +1 -1
  47. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +40 -0
  48. data/app/lib/actions/katello/host/destroy.rb +1 -0
  49. data/app/lib/actions/katello/host/erratum/install.rb +13 -4
  50. data/app/lib/actions/katello/host/hypervisors_update.rb +3 -2
  51. data/app/lib/actions/katello/host/register.rb +10 -4
  52. data/app/lib/actions/katello/host/remove_subscriptions.rb +14 -12
  53. data/app/lib/actions/katello/host/update.rb +9 -7
  54. data/app/lib/actions/katello/host/update_content_overrides.rb +43 -0
  55. data/app/lib/actions/katello/organization/destroy.rb +1 -1
  56. data/app/lib/actions/katello/organization/manifest_refresh.rb +3 -0
  57. data/app/lib/actions/katello/product/content_create.rb +3 -0
  58. data/app/lib/actions/katello/product/content_destroy.rb +2 -0
  59. data/app/lib/actions/katello/product/create.rb +1 -2
  60. data/app/lib/actions/katello/product/destroy.rb +3 -2
  61. data/app/lib/actions/katello/repository/check_matching_content.rb +49 -0
  62. data/app/lib/actions/katello/repository/clone_to_environment.rb +3 -2
  63. data/app/lib/actions/katello/repository/clone_yum_content.rb +17 -1
  64. data/app/lib/actions/katello/repository/create.rb +4 -1
  65. data/app/lib/actions/katello/repository/destroy_package_group.rb +26 -0
  66. data/app/lib/actions/katello/repository/discover.rb +8 -3
  67. data/app/lib/actions/katello/repository/errata_mail.rb +1 -1
  68. data/app/lib/actions/katello/repository/finish_upload.rb +6 -2
  69. data/app/lib/actions/katello/repository/import_upload.rb +30 -7
  70. data/app/lib/actions/katello/repository/index_content.rb +2 -1
  71. data/app/lib/actions/katello/repository/metadata_generate.rb +19 -5
  72. data/app/lib/actions/katello/repository/remove_content.rb +7 -4
  73. data/app/lib/actions/katello/repository/sync.rb +28 -14
  74. data/app/lib/actions/katello/repository/update.rb +1 -0
  75. data/app/lib/actions/katello/repository/upload_package_group.rb +34 -0
  76. data/app/lib/actions/katello/repository_set/scan_cdn.rb +2 -4
  77. data/app/lib/actions/middleware/skip_if_matching_content.rb +24 -0
  78. data/app/lib/actions/pulp/abstract.rb +2 -2
  79. data/app/lib/actions/pulp/consumer/generate_applicability.rb +5 -1
  80. data/app/lib/actions/pulp/consumer/sync_capsule.rb +10 -0
  81. data/app/lib/actions/pulp/content_view_puppet_environment/index_content.rb +5 -3
  82. data/app/lib/actions/pulp/repository/copy_errata.rb +4 -0
  83. data/app/lib/actions/pulp/repository/create.rb +6 -1
  84. data/app/lib/actions/pulp/repository/distributor_publish.rb +3 -0
  85. data/app/lib/actions/pulp/repository/download.rb +16 -0
  86. data/app/lib/actions/pulp/repository/import_upload.rb +2 -1
  87. data/app/lib/actions/pulp/repository/presenters/{file_presenter.rb → file_unit_presenter.rb} +0 -0
  88. data/app/lib/actions/pulp/repository/presenters/ostree_presenter.rb +16 -3
  89. data/app/lib/actions/pulp/repository/remove_errata.rb +4 -0
  90. data/app/lib/actions/pulp/repository/sync.rb +3 -3
  91. data/app/lib/katello/errors.rb +2 -0
  92. data/app/lib/katello/repo_discovery.rb +33 -8
  93. data/app/lib/katello/resources/candlepin.rb +87 -68
  94. data/app/lib/katello/resources/cdn.rb +26 -13
  95. data/app/lib/katello/util/cdn_var_substitutor.rb +39 -124
  96. data/app/lib/katello/util/path_with_substitutions.rb +58 -0
  97. data/app/models/katello/activation_key.rb +11 -15
  98. data/app/models/katello/candlepin/content.rb +6 -14
  99. data/app/models/katello/candlepin/product_content.rb +11 -3
  100. data/app/models/katello/concerns/content_facet_host_extensions.rb +19 -10
  101. data/app/models/katello/concerns/environment_extensions.rb +6 -3
  102. data/app/models/katello/concerns/host_managed_extensions.rb +21 -7
  103. data/app/models/katello/concerns/hostgroup_extensions.rb +3 -3
  104. data/app/models/katello/concerns/location_extensions.rb +32 -24
  105. data/app/models/katello/concerns/pulp_database_unit.rb +10 -2
  106. data/app/models/katello/concerns/smart_proxy_extensions.rb +8 -6
  107. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +27 -10
  108. data/app/models/katello/content_override.rb +63 -0
  109. data/app/models/katello/content_view.rb +3 -8
  110. data/app/models/katello/content_view_history.rb +1 -1
  111. data/app/models/katello/content_view_puppet_environment.rb +10 -2
  112. data/app/models/katello/content_view_puppet_module.rb +1 -1
  113. data/app/models/katello/content_view_version.rb +2 -2
  114. data/app/models/katello/docker_manifest.rb +1 -1
  115. data/app/models/katello/docker_tag.rb +3 -3
  116. data/app/models/katello/erratum.rb +4 -4
  117. data/app/models/katello/file_unit.rb +1 -1
  118. data/app/models/katello/glue/candlepin/activation_key.rb +10 -8
  119. data/app/models/katello/glue/candlepin/content.rb +1 -21
  120. data/app/models/katello/glue/candlepin/owner.rb +3 -1
  121. data/app/models/katello/glue/candlepin/pool.rb +3 -1
  122. data/app/models/katello/glue/candlepin/product.rb +2 -7
  123. data/app/models/katello/glue/provider.rb +19 -1
  124. data/app/models/katello/glue/pulp/repo.rb +33 -19
  125. data/app/models/katello/glue/pulp/repos.rb +0 -8
  126. data/app/models/katello/gpg_key.rb +1 -1
  127. data/app/models/katello/host/subscription_facet.rb +47 -4
  128. data/app/models/katello/host_collection.rb +2 -2
  129. data/app/models/katello/kt_environment.rb +1 -1
  130. data/app/models/katello/ostree_branch.rb +1 -1
  131. data/app/models/katello/package_group.rb +1 -1
  132. data/app/models/katello/pool.rb +14 -15
  133. data/app/models/katello/product.rb +2 -2
  134. data/app/models/katello/provider.rb +0 -28
  135. data/app/models/katello/repository.rb +91 -29
  136. data/app/models/katello/subscription.rb +12 -0
  137. data/app/models/katello/subscription_status.rb +1 -1
  138. data/app/models/katello/sync_plan.rb +9 -2
  139. data/app/models/katello/trace_status.rb +53 -0
  140. data/app/models/setting/content.rb +55 -25
  141. data/app/overrides/add_activation_keys_input.rb +0 -5
  142. data/app/presenters/katello/product_content_presenter.rb +11 -3
  143. data/app/services/katello/candlepin/consumer.rb +24 -16
  144. data/app/services/katello/pulp/erratum.rb +1 -0
  145. data/app/services/katello/pulp/file_unit.rb +1 -1
  146. data/app/views/dashboard/_errata_widget.html.erb +2 -2
  147. data/app/views/foreman/unattended/kickstart-katello.erb +1 -1
  148. data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +14 -1
  149. data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +15 -1
  150. data/app/views/katello/api/v2/repositories/base.json.rabl +1 -0
  151. data/app/views/katello/api/v2/repositories/show.json.rabl +5 -0
  152. data/app/views/katello/api/v2/subscription_facet/show.json.rabl +1 -1
  153. data/app/views/katello/api/v2/subscriptions/base.json.rabl +1 -0
  154. data/app/views/katello/providers/redhat/_repo_sets.html.erb +1 -1
  155. data/app/views/katello/providers/redhat/_repos.html.erb +1 -1
  156. data/app/views/katello/providers/redhat/show.html.erb +1 -1
  157. data/app/views/overrides/activation_keys/_host_environment_select.html.erb +2 -1
  158. data/app/views/overrides/hosts/_subscription_link.html.erb +1 -1
  159. data/config/initializers/pagelets.rb +6 -0
  160. data/config/routes/api/v2.rb +8 -0
  161. data/config/routes/overrides.rb +1 -0
  162. data/db/migrate/20161209162947_add_virt_who_to_katello_pools.rb +9 -0
  163. data/db/migrate/20170114051758_add_depth_to_repositories.rb +6 -0
  164. data/db/migrate/20170122204325_add_hypervisor_to_subscription_facets.rb +6 -0
  165. data/db/migrate/20170125152421_move_default_location_to_settings.rb +25 -0
  166. data/db/migrate/20170208215148_add_docker_repo_name.rb +14 -0
  167. data/db/migrate/20170222131211_change_pool_columns_to_dates.rb +19 -0
  168. data/db/seeds.d/101-locations.rb +9 -3
  169. data/db/seeds.d/103-provisioning_templates.rb +2 -2
  170. data/db/seeds.d/106-mail_notifications.rb +6 -0
  171. data/db/seeds.d/108-subcription-bookmarks.rb +19 -0
  172. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-key.factory.js +2 -2
  173. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +1 -1
  174. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.module.js +2 -1
  175. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.routes.js +3 -3
  176. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-host-collections.controller.js +1 -0
  177. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -0
  178. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +1 -0
  179. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-host-collections.controller.js +1 -0
  180. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +64 -0
  181. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +1 -0
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html +2 -52
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +1 -1
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +3 -3
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-host-collections-table.html +2 -0
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-host-collections.html +1 -1
  187. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +85 -0
  188. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions-list.html +3 -39
  189. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html +1 -1
  190. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/new/views/activation-key-new.html +15 -15
  191. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys.html +3 -3
  192. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
  193. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +6 -0
  194. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/subscription-add-or-remove.html +50 -0
  195. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/{content-hosts-bulk-action-environment.controller.js → content-hosts-bulk-environment-modal.controller.js} +24 -13
  196. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +124 -0
  197. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +86 -0
  198. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/{content-hosts-bulk-action-packages.controller.js → content-hosts-bulk-packages-modal.controller.js} +24 -17
  199. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/{content-hosts-bulk-action-subscriptions.controller.js → content-hosts-bulk-subscriptions-modal.controller.js} +31 -12
  200. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-destroy-modal.html +4 -0
  201. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/{bulk-actions-environment.html → content-hosts-bulk-environment-modal.html} +27 -13
  202. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +107 -0
  203. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-host-collections-modal.html +91 -0
  204. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +162 -0
  205. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +121 -0
  206. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/errata-details.html +0 -5
  207. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +108 -16
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.module.js +2 -279
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +251 -0
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +19 -19
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +5 -4
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +3 -3
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +2 -2
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +5 -5
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +35 -34
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +3 -3
  217. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +8 -7
  218. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +12 -13
  219. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-traces.html +28 -20
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/errata-details.html +42 -62
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +17 -12
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +22 -10
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +4 -0
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +2 -4
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +17 -12
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-repository-sets.controller.js +64 -0
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +12 -12
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html +21 -49
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +136 -148
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-events.html +1 -1
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-host-collections-table.html +59 -0
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-host-collections.html +20 -0
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +198 -256
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-provisioning-info.html +38 -54
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-repository-sets.html +93 -0
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions-list.html +6 -54
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions.html +47 -82
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-tasks.html +3 -4
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +107 -13
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register.html +26 -31
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +1 -1
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +115 -33
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-activation-keys.controller.js +1 -0
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-content-hosts.controller.js +2 -1
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/content-view-deletion.html +2 -2
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +3 -3
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-confirm.html +3 -3
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-content-hosts.html +3 -3
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-environments.html +2 -2
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +1 -0
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +1 -0
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +4 -6
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +4 -6
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite.html +1 -1
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +1 -0
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-file-repositories.controller.js +1 -0
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +1 -0
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-repositories.controller.js +1 -0
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +1 -0
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-file-repositories-list.controller.js +1 -0
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +1 -0
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +2 -1
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +2 -1
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories-list.controller.js +1 -0
  265. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +7 -0
  266. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +10 -1
  267. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +1 -0
  268. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +9 -1
  269. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/docker-tag-filter.controller.js +137 -0
  270. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter-list.controller.js +1 -1
  271. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-helper.service.js +2 -1
  272. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +9 -0
  273. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter.factory.js +28 -0
  274. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filters.controller.js +11 -7
  275. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/new-filter.controller.js +22 -5
  276. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +66 -80
  277. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-list-filter.controller.js +1 -0
  278. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata-filter.html +1 -1
  279. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/docker-filter.html +28 -0
  280. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/docker-tag-filter-details.html +65 -0
  281. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter-details.html +10 -8
  282. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter.html +48 -51
  283. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-repositories.html +5 -5
  284. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filters.html +17 -8
  285. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/new-filter.html +49 -42
  286. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +144 -171
  287. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter.html +7 -7
  288. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter-details.html +4 -4
  289. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter.html +9 -9
  290. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/partials/filter-repositories-count.html +2 -2
  291. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.controller.js +1 -0
  292. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/views/content-view-history.html +1 -3
  293. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +1 -0
  294. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +1 -0
  295. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-names.html +17 -19
  296. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-versions.html +17 -21
  297. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-modules.html +3 -3
  298. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +20 -6
  299. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +6 -8
  300. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-file-repositories.html +5 -7
  301. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +2 -3
  302. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-ostree-repositories.html +5 -7
  303. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-promotion.html +21 -2
  304. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +29 -11
  305. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +8 -10
  306. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +34 -16
  307. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/views/content-view-new.html +2 -2
  308. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version.factory.js +2 -1
  309. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +1 -1
  310. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-ostree-branches.html +2 -7
  311. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-package-groups.html +2 -7
  312. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-packages.html +2 -7
  313. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-puppet-modules.html +1 -1
  314. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +13 -0
  315. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +2 -1
  316. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views.html +1 -1
  317. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +1 -0
  318. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-environments.html +1 -1
  319. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.controller.js +1 -1
  320. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.factory.js +7 -1
  321. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment-content.controller.js +1 -1
  322. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment.controller.js +1 -1
  323. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +2 -8
  324. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-details.html +15 -19
  325. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-docker.html +5 -12
  326. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +7 -14
  327. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-ostree.html +5 -12
  328. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-packages.html +5 -12
  329. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-puppet-modules.html +4 -11
  330. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-repositories.html +4 -9
  331. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment.html +32 -51
  332. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +73 -29
  333. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/new-environment.controller.js +1 -1
  334. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/environments.html +8 -12
  335. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/new-environment.html +2 -2
  336. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +17 -21
  337. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/{errata-content-hosts.controller.js → erratum-content-hosts.controller.js} +13 -12
  338. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/{errata-details-repositories.controller.js → erratum-repositories.controller.js} +7 -6
  339. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/{errata-details.controller.js → erratum.controller.js} +3 -3
  340. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +78 -0
  341. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-info.html +58 -0
  342. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/{errata-details-repositories.html → erratum-repositories.html} +22 -35
  343. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum.html +37 -0
  344. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.controller.js +8 -30
  345. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.module.js +2 -1
  346. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.routes.js +90 -83
  347. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +149 -0
  348. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +7 -17
  349. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-select-content-hosts.html +4 -14
  350. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata.html +9 -26
  351. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-task-details.html +1 -1
  352. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-tasks-list.html +1 -1
  353. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-tasks.html +6 -9
  354. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata.html +77 -34
  355. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +44 -0
  356. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-repositories.controller.js +36 -0
  357. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file.controller.js +37 -0
  358. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-content-views.html +43 -0
  359. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-info.html +15 -0
  360. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-repositories.html +54 -0
  361. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file.html +37 -0
  362. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +28 -0
  363. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +35 -0
  364. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.module.js +20 -0
  365. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.routes.js +71 -0
  366. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/views/files.html +39 -0
  367. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-products.controller.js +1 -0
  368. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-repositories.controller.js +1 -0
  369. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-info.html +1 -1
  370. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/gpg-keys.controller.js +1 -1
  371. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/new/views/new-gpg-key.html +2 -2
  372. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/views/gpg-keys.html +3 -2
  373. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-add-hosts.controller.js +1 -0
  374. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-hosts.controller.js +1 -0
  375. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-add-hosts.html +3 -4
  376. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-copy.html +1 -1
  377. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-details.html +3 -3
  378. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html +2 -2
  379. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts.html +1 -1
  380. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collection.factory.js +1 -1
  381. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.controller.js +1 -1
  382. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/views/new-host-collection.html +24 -23
  383. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/views/host-collections.html +2 -2
  384. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +1 -0
  385. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-subscription.factory.js +1 -1
  386. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +3 -3
  387. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +6 -6
  388. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +6 -6
  389. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +6 -6
  390. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +6 -6
  391. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +6 -6
  392. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +6 -6
  393. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +6 -6
  394. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +6 -6
  395. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +6 -6
  396. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +10 -10
  397. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/katello-features.run.js +2 -2
  398. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +24 -14
  399. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/views/organization-selector.html +3 -1
  400. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/{ostree-branches-details-repositories.controller.js → ostree-branch-repositories.controller.js} +7 -6
  401. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/{ostree-branches-details.controller.js → ostree-branch.controller.js} +2 -2
  402. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-info.html +18 -0
  403. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/{ostree-branches-details-repositories.html → ostree-branch-repositories.html} +25 -34
  404. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch.html +30 -0
  405. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.controller.js +1 -1
  406. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +24 -27
  407. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches.html +28 -7
  408. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/package-repositories.controller.js +1 -0
  409. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-files.html +1 -3
  410. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-repositories.html +17 -27
  411. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +1 -1
  412. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/views/packages.html +12 -14
  413. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/{product-bulk-action.factory.js → bulk/product-bulk-action.factory.js} +1 -1
  414. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-advanced-sync-modal.controller.js +54 -0
  415. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-sync-plan-modal.controller.js +80 -0
  416. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-advanced-sync-modal.html +26 -0
  417. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-sync-plan-modal.html +87 -0
  418. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +1 -0
  419. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-advanced-sync.controller.js +33 -0
  420. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +17 -2
  421. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js +29 -0
  422. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +5 -4
  423. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +18 -0
  424. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync-options.html +54 -0
  425. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync.html +29 -0
  426. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +26 -9
  427. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +46 -11
  428. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +1 -1
  429. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-files.html +64 -0
  430. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +1 -1
  431. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +5 -5
  432. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +6 -3
  433. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +52 -31
  434. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/ostree-upstream-sync-policy.service.js +26 -0
  435. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.module.js +2 -1
  436. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +19 -0
  437. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +2 -1
  438. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +12 -7
  439. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-details.html +2 -2
  440. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/{discovery-form.controller.js → discovery-create.controller.js} +109 -35
  441. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery-repositories.service.js +94 -0
  442. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +84 -30
  443. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-base.html +1 -1
  444. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create-status.html +3 -0
  445. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +154 -123
  446. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +94 -67
  447. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/views/product-new-form.html +4 -1
  448. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/views/product-new.html +3 -3
  449. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +93 -11
  450. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.routes.js +3 -4
  451. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +43 -44
  452. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/{puppet-modules-details-content-views.controller.js → puppet-module-content-views.controller.js} +6 -5
  453. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/{puppet-modules-details-repositories.controller.js → puppet-module-repositories.controller.js} +6 -5
  454. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/{puppet-modules-details.controller.js → puppet-module.controller.js} +4 -4
  455. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/{puppet-modules-details-content-views.html → puppet-module-content-views.html} +12 -6
  456. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-info.html +32 -0
  457. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/{puppet-modules-details-repositories.html → puppet-module-repositories.html} +11 -9
  458. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module.html +37 -0
  459. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.controller.js +3 -4
  460. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.routes.js +31 -29
  461. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules.html +34 -7
  462. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/content-override-helper.service.js +47 -0
  463. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/repository-sets-enabled.filter.js +34 -0
  464. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/repository-sets.module.js +8 -0
  465. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +2 -0
  466. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-content-hosts.html +1 -1
  467. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-info.html +13 -0
  468. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-products.html +1 -1
  469. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest-import.controller.js +8 -0
  470. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-delete-modal.html +19 -0
  471. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +11 -5
  472. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-start-date.directive.js +21 -0
  473. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.controller.js +2 -2
  474. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +2 -0
  475. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions.html +8 -9
  476. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-add-products.controller.js +1 -0
  477. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-products.controller.js +1 -0
  478. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-details.html +2 -2
  479. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-products.html +4 -2
  480. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/views/new-sync-plan.html +2 -2
  481. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.controller.js +1 -1
  482. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans.html +2 -2
  483. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-nutupane.factory.js +1 -0
  484. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/task-details.html +53 -66
  485. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +5 -0
  486. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/host_subscriptions.scss +14 -0
  487. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/tasks.scss +4 -0
  488. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -0
  489. data/lib/katello/engine.rb +3 -22
  490. data/lib/katello/permissions/content_view_permissions.rb +2 -2
  491. data/lib/katello/permissions/host_permissions.rb +1 -0
  492. data/lib/katello/permissions/product_permissions.rb +7 -4
  493. data/lib/katello/plugin.rb +18 -2
  494. data/lib/katello/tasks/regenerate_ueber_certs.rake +15 -0
  495. data/lib/katello/tasks/rubocop.rake +3 -2
  496. data/lib/katello/tasks/test.rake +17 -5
  497. data/lib/katello/tasks/unify_hosts.rake +1 -1
  498. data/lib/katello/tasks/update_subscription_facet_backend_data.rake +61 -0
  499. data/lib/katello/tasks/upgrades/3.3/hypervisors.rake +7 -0
  500. data/lib/katello/tasks/upgrades/3.3/import_subscriptions.rake +12 -0
  501. data/lib/katello/tasks/virt_who_report.rake +150 -0
  502. data/lib/katello/version.rb +1 -1
  503. metadata +116 -115
  504. data/app/lib/actions/candlepin/owner/refresh_subscriptions.rb +0 -15
  505. data/app/lib/actions/candlepin/product/delete_unused.rb +0 -13
  506. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-product-details.controller.js +0 -88
  507. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-products.controller.js +0 -46
  508. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-products.html +0 -49
  509. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-action-errata.controller.js +0 -127
  510. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-action-host-collections.controller.js +0 -79
  511. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-action.controller.js +0 -81
  512. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-errata.html +0 -113
  513. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-host-collections.html +0 -82
  514. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-packages.html +0 -153
  515. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-subscriptions.html +0 -86
  516. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions.html +0 -92
  517. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-products.controller.js +0 -99
  518. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-products.html +0 -56
  519. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/host-collections-table.html +0 -90
  520. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/host-collections.html +0 -20
  521. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts-table-collapsed.html +0 -25
  522. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts-table-full.html +0 -61
  523. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details-content-hosts.html +0 -91
  524. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details-info.html +0 -62
  525. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details.html +0 -52
  526. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-table-collapsed.html +0 -20
  527. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-table-full.html +0 -46
  528. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branches-details-info.html +0 -23
  529. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branches-details.html +0 -43
  530. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches-table-collapsed.html +0 -19
  531. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches-table-full.html +0 -21
  532. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products-bulk-action.controller.js +0 -93
  533. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-modules-details-info.html +0 -31
  534. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-modules-details.html +0 -52
  535. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules-table-collapsed.html +0 -20
  536. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules-table-full.html +0 -29
  537. data/lib/katello/tasks/gettext.rake +0 -5
  538. data/lib/katello/tasks/jshint.rake +0 -50
  539. data/lib/katello/tasks/jsroutes.rake +0 -5
  540. data/lib/katello/tasks/pretty_routes.rake +0 -30
  541. data/lib/katello/tasks/simplecov.rake +0 -7
  542. data/vendor/assets/javascripts/katello/jquery-1.7.2.js +0 -9404
@@ -1,15 +0,0 @@
1
- module Actions
2
- module Candlepin
3
- module Owner
4
- class RefreshSubscriptions < Candlepin::AbstractAsyncTask
5
- input_format do
6
- param :label
7
- end
8
-
9
- def invoke_external_task
10
- ::Katello::Resources::Candlepin::Subscription.refresh_for_owner(input[:label])
11
- end
12
- end
13
- end
14
- end
15
- end
@@ -1,13 +0,0 @@
1
- module Actions
2
- module Candlepin
3
- module Product
4
- class DeleteUnused < Candlepin::Abstract
5
- def plan(organization)
6
- organization.products.each do |product|
7
- plan_action(Candlepin::Product::Destroy, cp_id: product.cp_id) unless product.used_by_another_org?
8
- end
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,88 +0,0 @@
1
- /**
2
- * @ngdoc object
3
- * @name Bastion.activation-keys.controller:ActivationKeyProductDetailsController
4
- *
5
- * @requires $scope
6
- * @requires translate
7
- * @requires ActivationKey
8
- */
9
- angular.module('Bastion.activation-keys').controller('ActivationKeyProductDetailsController',
10
- ['$scope', 'translate', 'ActivationKey',
11
- function ($scope, translate, ActivationKey) {
12
-
13
- $scope.expanded = true;
14
- $scope.details = null;
15
-
16
- $scope.productDetails = function (product) {
17
- var override;
18
-
19
- if ($scope.details === null) {
20
- $scope.details = product;
21
- angular.forEach($scope.details['available_content'], function (content) {
22
- override = _.find($scope.activationKey["content_overrides"],
23
- {"contentLabel": content.content.label, name: "enabled"});
24
- if (angular.isUndefined(override)) {
25
- content.overrideEnabled = null;
26
- } else {
27
- content.overrideEnabled = Number(override.value);
28
- }
29
- content.enabledText = $scope.getEnabledText(content.enabled, content.overrideEnabled);
30
- });
31
- }
32
- };
33
-
34
- $scope.overrideEnableChoices = function (content) {
35
- var choices;
36
- if (content.enabled === true) {
37
- choices = [
38
- {name: $scope.getEnabledText(content.enabled, null), id: null},
39
- {name: $scope.getEnabledText(null, 0), id: 0}
40
- ];
41
- } else {
42
- choices = [
43
- {name: $scope.getEnabledText(content.enabled, null), id: null},
44
- {name: $scope.getEnabledText(null, 1), id: 1}
45
- ];
46
- }
47
- return choices;
48
- };
49
-
50
- $scope.getEnabledText = function (enabled, overrideEnabled) {
51
- var enabledText;
52
-
53
- if (overrideEnabled === null) {
54
- enabledText = enabled ? translate("Yes (Default)") : translate("No (Default)");
55
- } else if (overrideEnabled === 1) {
56
- enabledText = translate("Override to Yes");
57
- } else {
58
- enabledText = translate("Override to No");
59
- }
60
-
61
- return enabledText;
62
- };
63
-
64
- $scope.saveContentOverride = function (content) {
65
- var deferred, overrideValue = 'default';
66
-
67
- if (content.overrideEnabled !== null) {
68
- overrideValue = content.overrideEnabled;
69
- }
70
-
71
- deferred = ActivationKey.contentOverride({id: $scope.activationKey.id},
72
- {'content_override': {'content_label': content.content.label,
73
- value: overrideValue}
74
- },
75
- function (response) {
76
- content.enabledText = $scope.getEnabledText(content.enabled, content.overrideEnabled);
77
- $scope.successMessages.push(translate('Updated override to "%x".')
78
- .replace('%x', content.enabledText));
79
- $scope.setActivationKey(response);
80
- },
81
- function (response) {
82
- $scope.errorMessages.push(response.data.errors);
83
- });
84
-
85
- return deferred.$promise;
86
- };
87
- }]
88
- );
@@ -1,46 +0,0 @@
1
- /**
2
- * @ngdoc object
3
- * @name Bastion.activation-keys.controller:ActivationKeyProductsController
4
- *
5
- * @requires $scope
6
- * @requires translate
7
- * @requires ActivationKey
8
- * @requires Product
9
- * @requires CurrentOrganization
10
- *
11
- * @description
12
- * Provides the functionality for the activation-key products action pane.
13
- */
14
- angular.module('Bastion.activation-keys').controller('ActivationKeyProductsController',
15
- ['$scope', 'translate', 'ActivationKey', 'Product', 'CurrentOrganization',
16
- function ($scope, translate, ActivationKey, Product, CurrentOrganization) {
17
-
18
- $scope.successMessages = [];
19
- $scope.errorMessages = [];
20
- $scope.displayArea = { working: true, isAvailableContent: false };
21
-
22
- $scope.isAnyAvailableContent = function (products) {
23
- var isAvailableContent = false;
24
- angular.forEach(products, function (product) {
25
- if (product['available_content'].length > 0) {
26
- isAvailableContent = true;
27
- }
28
- });
29
- return isAvailableContent;
30
- };
31
-
32
- $scope.activationKey.$promise.then(function () {
33
- ActivationKey.products({id: $scope.activationKey.id,
34
- 'organization_id': CurrentOrganization,
35
- enabled: true,
36
- 'full_result': true,
37
- 'include_available_content': true
38
- }, function (response) {
39
- $scope.products = response.results;
40
- $scope.displayArea.isAvailableContent = $scope.isAnyAvailableContent($scope.products);
41
- $scope.displayArea.working = false;
42
- });
43
- });
44
-
45
- }]
46
- );
@@ -1,49 +0,0 @@
1
- <div bst-alert="info">
2
- {{ "Below are the repository content sets currently available for this activation key through its subscriptions. For Red Hat subscriptions, additional content can be made available through the" | translate}}
3
- <a ng-href="/katello/providers/redhat_provider" translate>Red Hat Repositories page.</a>
4
- {{ "Changing default settings for content hosts that register with this activation key requires subscription-manager version 1.10 or newer to be installed on that host." | translate }}
5
- </div>
6
-
7
- <div bst-alerts success-messages="successMessages" error-messages="errorMessages"></div>
8
-
9
- <div class="loading-mask loading-mask-panel" ng-show="displayArea.working">
10
- <i class="fa fa-spinner fa-spin"></i>
11
- {{ "Loading..." | translate }}
12
- </div>
13
-
14
- <div class="details details-full pull-left">
15
- <section>
16
- <div ng-hide="displayArea.isAvailableContent" translate>
17
- No repository content provided through subscriptions.
18
- </div>
19
-
20
- <div ng-repeat="product in products" ng-hide="product.available_content.length < 1"
21
- ng-controller="ActivationKeyProductDetailsController" ng-init="productDetails(product)">
22
- <i ng-class="{'fa fa-plus': !expanded, 'fa fa-minus': expanded}" class="expand-icon"
23
- ng-click="expanded = !expanded"></i>
24
- <b>{{ product.name }}</b>
25
-
26
- <div class="row" ng-show="expanded">
27
- <div class="col-md-11 col-md-offset-1" ng-show="details.available_content.length < 1"
28
- translate>
29
- No repository content.
30
- </div>
31
-
32
- <div class="col-md-11 col-md-offset-1" ng-repeat="content in product.available_content">
33
- <h4><u>{{ content.content.name }}</u></h4>
34
-
35
- <div class="detail row">
36
- <span class="col-sm-4" translate>Enabled?</span>
37
- <span class="col-sm-3"
38
- bst-edit-select="content.enabledText"
39
- readonly="denied('edit_activation_keys', activationKey)"
40
- selector="content.overrideEnabled"
41
- options="overrideEnableChoices(content)"
42
- on-save="saveContentOverride(content)">
43
- </span>
44
- </div>
45
- </div>
46
- </div>
47
- </div>
48
- </section>
49
- </div>
@@ -1,127 +0,0 @@
1
- /**
2
- * @ngdoc object
3
- * @name Bastion.content-hosts.controller:ContentHostsBulkActionController
4
- *
5
- * @requires $scope
6
- * @requires $q
7
- * @requires $location
8
- * @requires $timeout
9
- * @requires $window
10
- * @requires HostBulkAction
11
- * @requires HostCollection
12
- * @requires Nutupane
13
- * @requires CurrentOrganization
14
- * @requires Erratum
15
- * @requires translate
16
- * @requires BastionConfig
17
- *
18
- * @description
19
- * A controller for providing bulk action functionality to the content hosts page.
20
- */
21
- angular.module('Bastion.content-hosts').controller('ContentHostsBulkActionErrataController',
22
- ['$scope', '$q', '$location', '$timeout', '$window', 'HostBulkAction', 'HostCollection', 'Nutupane', 'CurrentOrganization', 'Erratum', 'BastionConfig',
23
- function ($scope, $q, $location, $timeout, $window, HostBulkAction, HostCollection, Nutupane, CurrentOrganization, Erratum, BastionConfig) {
24
- var nutupane;
25
-
26
- function installParams() {
27
- var params = $scope.nutupane.getAllSelectedResults();
28
- params['content_type'] = 'errata';
29
- params.content = _.map($scope.detailsTable.getSelected(), 'errata_id');
30
- params['organization_id'] = CurrentOrganization;
31
- return params;
32
- }
33
-
34
- function fetchErratum(errataId) {
35
- $scope.erratum = Erratum.get({id: errataId, 'organization_id': CurrentOrganization});
36
- }
37
-
38
- $scope.errataActionFormValues = {
39
- authenticityToken: $window.AUTH_TOKEN.replace(/&quot;/g, '')
40
- };
41
- nutupane = new Nutupane(HostBulkAction, {}, 'installableErrata');
42
- nutupane.table.closeItem = function () {};
43
- $scope.detailsTable = nutupane.table;
44
- $scope.detailsTable.errataFilterTerm = "";
45
- $scope.detailsTable.initialLoad = false;
46
- $scope.outOfDate = false;
47
- $scope.initialLoad = true;
48
- $scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
49
- $scope.remoteExecutionByDefault = BastionConfig.remoteExecutionByDefault;
50
- $scope.setState(false, [], []);
51
-
52
- $scope.fetchErrata = function () {
53
- var params = $scope.nutupane.getAllSelectedResults('id');
54
- params['organization_id'] = CurrentOrganization;
55
- nutupane.setParams(params);
56
- $scope.detailsTable.working = true;
57
- $scope.outOfDate = false;
58
- if ($scope.table.numSelected > 0) {
59
- nutupane.refresh().then(function () {
60
- $scope.detailsTable.working = false;
61
- $scope.outOfDate = false;
62
- });
63
- } else {
64
- $scope.detailsTable.working = false;
65
- }
66
- };
67
-
68
- $scope.$watch('nutupane.table.rows', function (rows) {
69
- if ($scope.initialLoad && rows.length > 0) {
70
- $scope.initialLoad = false;
71
- $scope.fetchErrata();
72
- }
73
- });
74
-
75
- $scope.$watch('nutupane.table.numSelected', function (numSelected) {
76
- if ((numSelected > 0) && !$scope.detailsTable.working) {
77
- $scope.outOfDate = true;
78
- }
79
- });
80
-
81
- $scope.transitionToErrata = function (erratum) {
82
- fetchErratum(erratum['errata_id']);
83
- $scope.transitionTo('content-hosts.bulk-actions.errata.details', {errataId: erratum['errata_id']});
84
- };
85
-
86
- $scope.transitionToErrataContentHosts = function (erratum) {
87
- $scope.erratum = erratum;
88
- $scope.transitionTo('content-hosts.bulk-actions.errata.content-hosts', {errataId: erratum['errata_id']});
89
- };
90
-
91
- $scope.installErrata = function () {
92
- if ($scope.remoteExecutionByDefault) {
93
- $scope.installErrataViaRemoteExecution();
94
- } else {
95
- $scope.installErrataViaKatelloAgent(false);
96
- }
97
- };
98
-
99
- $scope.installErrataViaKatelloAgent = function () {
100
- var params = installParams();
101
- $scope.setState(true, [], []);
102
- HostBulkAction.installContent(params,
103
- function (data) {
104
- $scope.setState(false, [], []);
105
- $scope.transitionTo('content-hosts.bulk-actions.task-details', {taskId: data.id});
106
- },
107
- function (data) {
108
- $scope.setState(false, [], data.errors);
109
- });
110
- };
111
-
112
- $scope.installErrataViaRemoteExecution = function(customize) {
113
- var errataIds = _.map($scope.detailsTable.getSelected(), 'errata_id'),
114
- selectedHosts = $scope.nutupane.getAllSelectedResults();
115
- $scope.errataActionFormValues.remoteAction = 'errata_install';
116
- $scope.errataActionFormValues.errata = errataIds.join(',');
117
- $scope.errataActionFormValues.hostIds = selectedHosts.included.ids.join(',');
118
- $scope.errataActionFormValues.search = selectedHosts.included.search;
119
- $scope.errataActionFormValues.customize = customize;
120
-
121
- $timeout(function () {
122
- angular.element('#errataBulkActionForm').submit();
123
- }, 0);
124
- };
125
-
126
- }]
127
- );
@@ -1,79 +0,0 @@
1
- /**
2
- * @ngdoc object
3
- * @name Bastion.content-hosts.controller:ContentHostsBulkActionHostCollectionsController
4
- *
5
- * @requires $scope
6
- * @requires $q
7
- * @requires $location
8
- * @requires translate
9
- * @requires Nutupane
10
- * @requires HostBulkAction
11
- * @requires HostCollection
12
- * @requires CurrentOrganization
13
- *
14
- * @description
15
- * A controller for providing bulk action functionality to the content hosts page.
16
- */
17
- angular.module('Bastion.content-hosts').controller('ContentHostsBulkActionHostCollectionsController',
18
- ['$scope', '$q', '$location', 'translate', 'Nutupane', 'HostBulkAction', 'HostCollection', 'CurrentOrganization',
19
- function ($scope, $q, $location, translate, Nutupane, HostBulkAction, HostCollection, CurrentOrganization) {
20
- var hostCollectionNutupane, nutupaneParams;
21
-
22
- $scope.hostCollections = {
23
- action: null
24
- };
25
- $scope.setState(false, [], []);
26
-
27
- nutupaneParams = {
28
- 'organization_id': CurrentOrganization,
29
- 'offset': 0,
30
- 'sort_by': 'name',
31
- 'sort_order': 'ASC',
32
- 'paged': true
33
- };
34
-
35
- hostCollectionNutupane = new Nutupane(HostCollection, nutupaneParams, 'queryPaged');
36
-
37
- $scope.setState(false, [], []);
38
- $scope.detailsTable = hostCollectionNutupane.table;
39
- $scope.detailsTable.closeItem = function () {};
40
-
41
- $scope.confirmHostCollectionAction = function (action) {
42
- $scope.hostCollections.confirm = true;
43
- $scope.hostCollections.action = action;
44
- };
45
-
46
- $scope.performHostCollectionAction = function () {
47
- var params, action, success, error, deferred = $q.defer();
48
-
49
- action = $scope.hostCollections.action;
50
- params = $scope.nutupane.getAllSelectedResults('id');
51
- params['organization_id'] = CurrentOrganization;
52
- params['host_collection_ids'] = hostCollectionNutupane.getAllSelectedResults('id').included.ids;
53
-
54
- $scope.hostCollections.action = null;
55
- $scope.setState(true, [], []);
56
-
57
- success = function (data) {
58
- deferred.resolve(data);
59
- $scope.setState(false, data.displayMessages.success, data.displayMessages.error);
60
- hostCollectionNutupane.refresh();
61
- };
62
-
63
- error = function (response) {
64
- deferred.reject(response.data.errors);
65
- $scope.setState(false, [], [response.data.displayMessage]);
66
- $scope.editMode = true;
67
- };
68
-
69
- if (action === 'add') {
70
- HostBulkAction.addHostCollections(params, success, error);
71
- } else if (action === 'remove') {
72
- HostBulkAction.removeHostCollections(params, success, error);
73
- }
74
-
75
- return deferred.promise;
76
- };
77
-
78
- }]
79
- );
@@ -1,81 +0,0 @@
1
- /**
2
- * @ngdoc object
3
- * @name Bastion.content-hosts.controller:ContentHostsBulkActionController
4
- *
5
- * @requires $scope
6
- * @requires $q
7
- * @requires $location
8
- * @requires translate
9
- * @requires HostBulkAction
10
- * @requires CurrentOrganization
11
- *
12
- * @description
13
- * A controller for providing bulk action functionality to the content hosts page.
14
- */
15
- angular.module('Bastion.content-hosts').controller('ContentHostsBulkActionController',
16
- ['$scope', '$q', '$window', '$location', 'translate', 'HostBulkAction', 'CurrentOrganization',
17
- function ($scope, $q, $window, $location, translate, HostBulkAction, CurrentOrganization) {
18
- $scope.successMessages = [];
19
- $scope.errorMessages = [];
20
- $scope.showConfirm = false;
21
-
22
- $scope.unregisterContentHosts = {
23
- confirm: false,
24
- workingMode: false
25
- };
26
-
27
- $scope.state = {
28
- successMessages: [],
29
- errorMessages: [],
30
- working: false
31
- };
32
-
33
- $scope.setState = function (working, success, error) {
34
- $scope.state.working = working;
35
- $scope.state.successMessages = success;
36
- $scope.state.errorMessages = error;
37
- };
38
-
39
- $scope.showConfirmDialog = function () {
40
- $scope.showConfirm = true;
41
- };
42
-
43
- $scope.hideConfirmDialog = function () {
44
- $scope.showConfirm = false;
45
- };
46
-
47
- $scope.actionParams = {
48
- ids: []
49
- };
50
-
51
- $scope.showNoSelectionWarning = function () {
52
- return $scope.nutupane.table.numSelected === 0 && !$scope.isState('content-hosts.bulk-actions.task-details');
53
- };
54
-
55
- $scope.performDestroyHosts = function () {
56
- var params, success, error, deferred = $q.defer();
57
-
58
- $scope.unregisterContentHosts.confirm = false;
59
- $scope.state.working = true;
60
-
61
- params = $scope.nutupane.getAllSelectedResults();
62
- params['organization_id'] = CurrentOrganization;
63
-
64
- success = function (data) {
65
- deferred.resolve(data);
66
- $scope.setState(false, [], []);
67
- $window.location = "/foreman_tasks/tasks/" + data.id;
68
- };
69
-
70
- error = function (response) {
71
- deferred.reject(response.data.errors);
72
- $scope.setState(false, [], response.data.errors);
73
- };
74
-
75
- HostBulkAction.destroyHosts(params, success, error);
76
-
77
- return deferred.promise;
78
- };
79
-
80
- }]
81
- );