katello 3.2.1.1 → 3.3.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 (486) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/common/katello.global.js +1 -1
  3. data/app/assets/javascripts/katello/common/vendor.js +0 -1
  4. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +20 -12
  5. data/app/controllers/katello/api/v2/activation_keys_controller.rb +2 -2
  6. data/app/controllers/katello/api/v2/api_controller.rb +4 -2
  7. data/app/controllers/katello/api/v2/capsule_content_controller.rb +14 -14
  8. data/app/controllers/katello/api/v2/capsules_controller.rb +3 -3
  9. data/app/controllers/katello/api/v2/content_view_components_controller.rb +100 -0
  10. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +3 -2
  11. data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -1
  12. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +19 -6
  13. data/app/controllers/katello/api/v2/content_views_controller.rb +3 -4
  14. data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
  15. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -1
  16. data/app/controllers/katello/api/v2/host_collections_controller.rb +2 -2
  17. data/app/controllers/katello/api/v2/host_tracer_controller.rb +31 -0
  18. data/app/controllers/katello/api/v2/packages_controller.rb +53 -1
  19. data/app/controllers/katello/api/v2/products_controller.rb +1 -1
  20. data/app/controllers/katello/api/v2/puppet_modules_controller.rb +8 -0
  21. data/app/controllers/katello/api/v2/repositories_controller.rb +9 -4
  22. data/app/controllers/katello/api/v2/subscriptions_controller.rb +3 -6
  23. data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -1
  24. data/app/controllers/katello/application_controller.rb +0 -4
  25. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +11 -3
  26. data/app/controllers/katello/concerns/api/v2/smart_proxies_controller_extensions.rb +35 -0
  27. data/app/controllers/katello/providers_controller.rb +2 -2
  28. data/app/controllers/katello/remote_execution_controller.rb +2 -0
  29. data/app/helpers/katello/concerns/foreman_docker/container_steps_helper_extensions.rb +2 -2
  30. data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +23 -0
  31. data/app/lib/actions/candlepin/candlepin_listening_service.rb +8 -2
  32. data/app/lib/actions/candlepin/owner/destroy_imports.rb +17 -0
  33. data/app/lib/actions/candlepin/owner/import.rb +19 -0
  34. data/app/lib/actions/candlepin/owner/import_products.rb +16 -0
  35. data/app/lib/actions/candlepin/owner/upstream_export.rb +18 -0
  36. data/app/lib/actions/candlepin/owner/upstream_update.rb +17 -0
  37. data/app/lib/actions/katello/activation_key/update.rb +4 -0
  38. data/app/lib/actions/katello/capsule_content/configure_capsule.rb +2 -2
  39. data/app/lib/actions/katello/capsule_content/create_repos.rb +17 -6
  40. data/app/lib/actions/katello/capsule_content/sync.rb +12 -8
  41. data/app/lib/actions/katello/content_view/capsule_generate_and_sync.rb +1 -1
  42. data/app/lib/actions/katello/content_view/promote.rb +5 -62
  43. data/app/lib/actions/katello/content_view/promote_to_environment.rb +75 -0
  44. data/app/lib/actions/katello/content_view/publish.rb +11 -6
  45. data/app/lib/actions/katello/content_view/remove.rb +2 -0
  46. data/app/lib/actions/katello/content_view/remove_from_environment.rb +1 -0
  47. data/app/lib/actions/katello/content_view/remove_version.rb +1 -0
  48. data/app/lib/actions/katello/content_view_version/export.rb +1 -0
  49. data/app/lib/actions/katello/content_view_version/incremental_update.rb +82 -22
  50. data/app/lib/actions/katello/event_queue/monitor.rb +1 -1
  51. data/app/lib/actions/katello/host/attach_subscriptions.rb +2 -2
  52. data/app/lib/actions/katello/host/generate_applicability.rb +1 -1
  53. data/app/lib/actions/katello/host/package/install.rb +4 -0
  54. data/app/lib/actions/katello/host/package/remove.rb +4 -0
  55. data/app/lib/actions/katello/host/package/update.rb +4 -0
  56. data/app/lib/actions/katello/host/package_group/install.rb +4 -0
  57. data/app/lib/actions/katello/host/package_group/remove.rb +4 -0
  58. data/app/lib/actions/katello/host/recalculate_errata_status.rb +20 -0
  59. data/app/lib/actions/katello/host/remove_subscriptions.rb +5 -3
  60. data/app/lib/actions/katello/organization/create.rb +5 -1
  61. data/app/lib/actions/katello/organization/destroy.rb +1 -1
  62. data/app/lib/actions/katello/organization/manifest_delete.rb +27 -0
  63. data/app/lib/actions/katello/organization/manifest_import.rb +32 -0
  64. data/app/lib/actions/katello/organization/manifest_refresh.rb +41 -0
  65. data/app/lib/actions/katello/product/content_create.rb +15 -10
  66. data/app/lib/actions/katello/repository/capsule_generate_and_sync.rb +1 -1
  67. data/app/lib/actions/katello/repository/clone_to_environment.rb +1 -1
  68. data/app/lib/actions/katello/repository/clone_to_version.rb +17 -13
  69. data/app/lib/actions/katello/repository/create.rb +3 -1
  70. data/app/lib/actions/katello/repository/filtered_index_content.rb +4 -4
  71. data/app/lib/actions/katello/repository/import_applicability.rb +1 -1
  72. data/app/lib/actions/katello/repository/index_errata.rb +1 -1
  73. data/app/lib/actions/katello/repository/index_package_groups.rb +1 -1
  74. data/app/lib/actions/katello/repository/refresh_repository.rb +2 -1
  75. data/app/lib/actions/katello/sync_plan/add_products.rb +4 -0
  76. data/app/lib/actions/pulp/consumer.rb +19 -1
  77. data/app/lib/actions/pulp/repository/create.rb +10 -0
  78. data/app/lib/actions/pulp/repository/destroy.rb +3 -0
  79. data/app/lib/actions/pulp/repository/refresh.rb +1 -1
  80. data/app/lib/katello/http_resource.rb +6 -1
  81. data/app/lib/katello/resources/candlepin.rb +17 -5
  82. data/app/lib/katello/util/cdn_var_substitutor.rb +3 -3
  83. data/app/lib/katello/validators/content_view_erratum_filter_rule_validator.rb +2 -2
  84. data/app/models/katello/concerns/content_facet_host_extensions.rb +27 -3
  85. data/app/models/katello/concerns/environment_extensions.rb +1 -1
  86. data/app/models/katello/concerns/host_managed_extensions.rb +11 -14
  87. data/app/models/katello/concerns/location_extensions.rb +5 -0
  88. data/app/models/katello/concerns/pulp_database_unit.rb +31 -7
  89. data/app/models/katello/concerns/redhat_extensions.rb +1 -1
  90. data/app/models/katello/concerns/setting_extensions.rb +6 -0
  91. data/app/models/katello/concerns/smart_proxy_extensions.rb +18 -0
  92. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +0 -2
  93. data/app/models/katello/content_facet_applicable_rpm.rb +8 -0
  94. data/app/models/katello/content_view.rb +103 -30
  95. data/app/models/katello/content_view_component.rb +64 -7
  96. data/app/models/katello/content_view_erratum_filter_rule.rb +8 -0
  97. data/app/models/katello/content_view_history.rb +14 -5
  98. data/app/models/katello/content_view_package_filter.rb +4 -0
  99. data/app/models/katello/content_view_version.rb +15 -3
  100. data/app/models/katello/docker_manifest.rb +1 -1
  101. data/app/models/katello/docker_tag.rb +16 -10
  102. data/app/models/katello/errata_status.rb +9 -3
  103. data/app/models/katello/erratum.rb +2 -1
  104. data/app/models/katello/events/{import_host_errata.rb → import_host_applicability.rb} +2 -2
  105. data/app/models/katello/glue.rb +0 -169
  106. data/app/models/katello/glue/candlepin/content.rb +2 -0
  107. data/app/models/katello/glue/candlepin/pool.rb +8 -5
  108. data/app/models/katello/glue/candlepin/product.rb +14 -3
  109. data/app/models/katello/glue/provider.rb +1 -170
  110. data/app/models/katello/glue/pulp/repo.rb +41 -233
  111. data/app/models/katello/glue/pulp/repos.rb +0 -21
  112. data/app/models/katello/host/content_facet.rb +96 -27
  113. data/app/models/katello/host/subscription_facet.rb +9 -6
  114. data/app/models/katello/host_tracer.rb +14 -0
  115. data/app/models/katello/input_template_renderer.rb +7 -0
  116. data/app/models/katello/kt_environment.rb +0 -16
  117. data/app/models/katello/ping.rb +62 -51
  118. data/app/models/katello/pool.rb +1 -1
  119. data/app/models/katello/repository.rb +12 -6
  120. data/app/models/katello/rhsm_fact_name.rb +4 -0
  121. data/app/models/katello/rpm.rb +41 -4
  122. data/app/models/setting/content.rb +12 -4
  123. data/app/overrides/add_smart_proxy_form.rb +5 -0
  124. data/app/services/katello/pulp/consumer.rb +6 -0
  125. data/app/services/katello/pulp/docker_tag.rb +7 -0
  126. data/app/services/katello/pulp/pulp_content_unit.rb +35 -8
  127. data/app/services/katello/pulp/server.rb +4 -0
  128. data/app/views/dashboard/_subscription_widget.html.erb +7 -6
  129. data/app/views/foreman/job_templates/restart_services.erb +17 -0
  130. data/app/views/foreman_docker/containers/steps/_katello_container.html.erb +2 -2
  131. data/app/views/katello/api/v2/content_facet/base.json.rabl +8 -0
  132. data/app/views/katello/api/v2/content_view_components/index.json.rabl +7 -0
  133. data/app/views/katello/api/v2/content_view_components/show.json.rabl +29 -0
  134. data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +1 -0
  135. data/app/views/katello/api/v2/content_view_histories/show.json.rabl +1 -5
  136. data/app/views/katello/api/v2/content_views/base.json.rabl +12 -2
  137. data/app/views/katello/api/v2/docker_manifests/show.json.rabl +3 -5
  138. data/app/views/katello/api/v2/docker_tags/_base.json.rabl +2 -2
  139. data/app/views/katello/api/v2/host_tracer/base.json.rabl +6 -0
  140. data/app/views/katello/api/v2/host_tracer/index.json.rabl +7 -0
  141. data/app/views/katello/api/v2/packages/base.json.rabl +3 -0
  142. data/app/views/katello/api/v2/products/show.json.rabl +2 -6
  143. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -0
  144. data/app/views/overrides/smart_proxies/_download_policy.erb +3 -0
  145. data/app/views/overrides/smart_proxies/_environment_tab_pane.html.erb +1 -1
  146. data/config/locales/compare_upstream.sh +0 -0
  147. data/config/locales/update.sh +0 -0
  148. data/config/routes.rb +1 -33
  149. data/config/routes/api/rhsm.rb +1 -1
  150. data/config/routes/api/v2.rb +13 -61
  151. data/config/routes/overrides.rb +3 -0
  152. data/db/migrate/20160520175340_add_host_applicable_package.rb +11 -0
  153. data/db/migrate/20160728005028_add_latest_version_to_content_view_component.rb +9 -0
  154. data/db/migrate/20160907231049_add_username_password_to_repository.rb +6 -0
  155. data/db/migrate/20160908234510_add_rpm_nvra.rb +10 -0
  156. data/db/migrate/20160923143611_add_action_to_content_view_histories.rb +34 -0
  157. data/db/migrate/20160930121245_content_view_force_puppet_env.rb +5 -0
  158. data/db/migrate/20160930150810_add_smart_proxy_download_policy.rb +14 -0
  159. data/db/migrate/20161003130853_add_architecture_to_katello_content_view_package_filter_rule.rb +5 -0
  160. data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +41 -0
  161. data/db/migrate/20161031204903_add_tracer_support.rb +13 -0
  162. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +1 -6
  163. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.module.js +0 -108
  164. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.routes.js +127 -0
  165. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-host-collections.controller.js +7 -7
  166. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +4 -4
  167. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +3 -3
  168. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-copy.controller.js +30 -0
  169. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +1 -15
  170. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-host-collections.controller.js +7 -7
  171. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-product-details.controller.js +1 -1
  172. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +4 -4
  173. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html +11 -14
  174. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +5 -10
  175. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-copy.html +17 -0
  176. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +77 -107
  177. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-host-collections-table.html +30 -48
  178. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-host-collections.html +4 -5
  179. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-info.html +96 -107
  180. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-products.html +1 -1
  181. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions-list.html +17 -32
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html +4 -4
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/new/new-activation-key.controller.js +2 -3
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/new/views/activation-key-new.html +65 -82
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys.html +34 -7
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +3 -3
  187. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +4 -4
  188. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/sync-state.service.js +1 -1
  189. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-action-errata.controller.js +2 -2
  190. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-errata.html +5 -5
  191. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-host-collections.html +3 -3
  192. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-packages.html +16 -16
  193. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-subscriptions.html +1 -1
  194. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register.controller.js +2 -2
  195. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.module.js +37 -7
  196. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +2 -0
  197. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-actions.controller.js +14 -0
  198. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +51 -0
  199. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +37 -0
  200. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +18 -44
  201. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +69 -0
  202. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +14 -13
  203. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +67 -0
  204. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +65 -0
  205. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +52 -0
  206. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages.html +9 -119
  207. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-traces.html +76 -0
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +2 -2
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +2 -2
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html +1 -1
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +32 -8
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +3 -3
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-products.html +1 -1
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions-list.html +2 -2
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/host-collections-table.html +1 -1
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts-table-full.html +15 -1
  217. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +4 -5
  218. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-view.factory.js +3 -3
  219. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +0 -1
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +11 -6
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-deletion.controller.js +1 -1
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-activation-keys.controller.js +2 -2
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-content-hosts.controller.js +1 -1
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-environments.controller.js +3 -3
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion.controller.js +2 -2
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +1 -1
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-component.factory.js +32 -0
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/{content-view-composite-available-content-views.controller.js → components/content-view-composite-available-content-views.controller.js} +21 -22
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +66 -0
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/{views → components/views}/content-view-composite-available-content-views.html +18 -18
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +86 -0
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/{views → components/views}/content-view-composite.html +4 -4
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +30 -8
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +7 -4
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories.service.js +2 -2
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +2 -2
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +12 -1
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata-filter.html +1 -2
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata.html +2 -2
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter-details.html +6 -4
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-repositories.html +3 -3
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filters.html +1 -1
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/new-filter.html +1 -1
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +16 -1
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.controller.js +2 -0
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/views/content-view-history.html +1 -1
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-names.html +2 -3
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-modules.html +1 -1
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +5 -5
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +7 -4
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-file-repositories.html +3 -0
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +14 -0
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-ostree-repositories.html +5 -2
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-promotion.html +11 -0
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +1 -1
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +8 -5
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +3 -7
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/content-view-new.controller.js +1 -1
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/views/content-view-new.html +1 -1
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views.html +1 -1
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/{docker-tags-details.controller.js → docker-tag-details.controller.js} +5 -3
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-details.html +32 -0
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-environments.html +50 -0
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-info.html +42 -0
  265. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.controller.js +1 -1
  266. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.routes.js +33 -18
  267. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags.html +31 -6
  268. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment.controller.js +12 -4
  269. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +1 -1
  270. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-docker.html +1 -1
  271. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +1 -1
  272. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-ostree.html +1 -1
  273. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-packages.html +1 -1
  274. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-puppet-modules.html +1 -1
  275. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-repositories.html +1 -1
  276. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment.html +53 -49
  277. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/new-environment.html +1 -1
  278. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +2 -2
  279. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/errata-content-hosts.controller.js +1 -1
  280. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/errata-details-repositories.controller.js +3 -3
  281. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details-content-hosts.html +1 -1
  282. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details-repositories.html +3 -3
  283. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +6 -2
  284. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata.html +4 -4
  285. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata.html +4 -4
  286. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-details.controller.js +1 -5
  287. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-products.controller.js +35 -0
  288. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-repositories.controller.js +35 -0
  289. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-details.html +40 -48
  290. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-info.html +34 -22
  291. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-products.html +30 -29
  292. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-repositories.html +30 -34
  293. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/gpg-key.factory.js +21 -1
  294. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/gpg-keys.controller.js +0 -19
  295. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/gpg-keys.module.js +0 -76
  296. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/gpg-keys.routes.js +76 -0
  297. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/new/new-gpg-key.controller.js +10 -11
  298. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/new/views/new-gpg-key.html +44 -0
  299. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/views/gpg-keys.html +36 -10
  300. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-add-hosts.controller.js +4 -4
  301. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-copy.controller.js +30 -0
  302. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-details.controller.js +10 -17
  303. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-hosts.controller.js +3 -3
  304. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-add-hosts.html +7 -9
  305. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-copy.html +17 -0
  306. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-details.html +55 -94
  307. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html +8 -10
  308. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts.html +4 -4
  309. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-info.html +91 -58
  310. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.controller.js +4 -12
  311. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.module.js +0 -85
  312. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.routes.js +80 -0
  313. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/host-collection-form.controller.js +1 -1
  314. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/new-host-collection.controller.js +22 -2
  315. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/views/new-host-collection.html +53 -0
  316. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/views/host-collections.html +36 -7
  317. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-package.factory.js +2 -1
  318. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces.factory.js +18 -0
  319. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/katello-features.run.js +4 -4
  320. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +1 -0
  321. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/views/organization-selector.html +1 -1
  322. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branches-details-repositories.controller.js +3 -3
  323. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branches-details-repositories.html +1 -1
  324. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/{package-details-repositories.controller.js → package-repositories.controller.js} +10 -10
  325. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/{package-details.controller.js → package.controller.js} +9 -7
  326. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/{packages-details-dependencies.html → package-dependencies.html} +0 -0
  327. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-files.html +11 -0
  328. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-info.html +81 -0
  329. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/{packages-details-repositories.html → package-repositories.html} +10 -12
  330. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package.html +44 -0
  331. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/package.factory.js +6 -0
  332. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +18 -4
  333. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.routes.js +37 -35
  334. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/views/packages.html +53 -8
  335. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/partials/sync-status.html +17 -19
  336. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details-info.controller.js +3 -12
  337. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details.controller.js +14 -8
  338. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +30 -24
  339. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/{repositories → products/details/repositories}/details/repository-details-info.controller.js +4 -82
  340. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/{repositories → products/details/repositories}/details/repository-details-manage-content.controller.js +17 -9
  341. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +98 -0
  342. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +78 -0
  343. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +299 -0
  344. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +71 -0
  345. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-ostree-branches.html +46 -0
  346. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-package-groups.html +18 -0
  347. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +60 -0
  348. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +68 -0
  349. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-tasks.html +4 -0
  350. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/{repositories → products/details/repositories}/download-policy.service.js +0 -0
  351. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/{repositories → products/details/repositories}/new/new-repository.controller.js +27 -14
  352. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/{repositories/new/views/repository-new.html → products/details/repositories/new/views/new-repository.html} +31 -14
  353. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/{repositories → products/details/repositories}/repositories.module.js +1 -0
  354. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +138 -0
  355. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/{repositories → products/details/repositories}/repository.factory.js +0 -0
  356. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +182 -0
  357. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-details.html +71 -57
  358. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-info.html +66 -85
  359. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-new-sync-plan.html +2 -0
  360. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-tasks.html +1 -1
  361. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery-form.controller.js +3 -6
  362. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +5 -3
  363. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-base.html +8 -13
  364. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +135 -144
  365. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +19 -20
  366. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/new-product.controller.js +1 -1
  367. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/product-form.controller.js +3 -4
  368. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/views/product-new-form.html +4 -8
  369. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/views/product-new.html +5 -19
  370. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/product-bulk-action.factory.js +19 -0
  371. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/product.factory.js +1 -21
  372. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products-bulk-action.controller.js +93 -0
  373. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +8 -12
  374. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.module.js +4 -240
  375. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.routes.js +132 -0
  376. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +97 -15
  377. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-modules-details-repositories.html +1 -1
  378. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules.html +1 -1
  379. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/{subscription-associations-activation-keys.controller.js → subscription-activation-keys.controller.js} +5 -3
  380. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/{subscription-associations-content-hosts.controller.js → subscription-content-hosts.controller.js} +5 -3
  381. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/{subscription-associations-activation-keys.html → subscription-activation-keys.html} +1 -1
  382. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/{subscription-associations-content-hosts.html → subscription-content-hosts.html} +0 -0
  383. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-details.html +40 -52
  384. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-info.html +72 -98
  385. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-products.html +1 -1
  386. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest-details.controller.js +1 -1
  387. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +2 -2
  388. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest.html +26 -41
  389. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.controller.js +7 -6
  390. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.module.js +0 -107
  391. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.routes.js +110 -0
  392. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions.html +49 -8
  393. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-add-products.controller.js +15 -11
  394. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-details-info.controller.js +2 -2
  395. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-details.controller.js +32 -29
  396. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-products.controller.js +17 -12
  397. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-details.html +61 -54
  398. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +62 -65
  399. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-products.html +63 -7
  400. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/new-sync-plan.controller.js +3 -6
  401. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/views/new-sync-plan-form.html +19 -10
  402. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/views/new-sync-plan.html +7 -14
  403. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plan.factory.js +1 -3
  404. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.controller.js +4 -15
  405. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.module.js +2 -91
  406. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.routes.js +84 -0
  407. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans.html +40 -8
  408. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/task-input-reduce.filter.js +1 -1
  409. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/task.factory.js +9 -2
  410. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-nutupane.factory.js +1 -1
  411. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-table.directive.js +1 -1
  412. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/task-details.html +1 -1
  413. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/tasks-table.html +1 -1
  414. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/user-tasks-table.html +1 -1
  415. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +3 -2
  416. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/errata.scss +1 -1
  417. data/engines/bastion_katello/bastion_katello.gemspec +1 -1
  418. data/engines/bastion_katello/lib/bastion_katello/engine.rb +4 -1
  419. data/lib/katello/engine.rb +4 -13
  420. data/lib/katello/permissions/activation_key_permissions.rb +3 -2
  421. data/lib/katello/permissions/capsule_content_permissions.rb +2 -1
  422. data/lib/katello/permissions/content_view_permissions.rb +8 -6
  423. data/lib/katello/permissions/gpg_key_permissions.rb +1 -2
  424. data/lib/katello/permissions/host_collections_permissions.rb +2 -3
  425. data/lib/katello/permissions/host_permissions.rb +9 -2
  426. data/lib/katello/permissions/lifecycle_environment_permissions.rb +2 -3
  427. data/lib/katello/permissions/product_permissions.rb +10 -7
  428. data/lib/katello/permissions/roles_permissions.rb +5 -0
  429. data/lib/katello/permissions/sync_plan_permissions.rb +1 -2
  430. data/lib/katello/plugin.rb +28 -3
  431. data/lib/katello/tasks/import_applicability.rake +12 -0
  432. data/lib/katello/tasks/reimport.rake +7 -9
  433. data/lib/katello/tasks/repository.rake +105 -0
  434. data/lib/katello/tasks/unify_hosts.rake +73 -25
  435. data/lib/katello/version.rb +1 -1
  436. metadata +119 -81
  437. data/app/controllers/katello/api/v2/uebercerts_controller.rb +0 -17
  438. data/app/controllers/katello/organizations_controller.rb +0 -32
  439. data/app/lib/actions/katello/provider/manifest_delete.rb +0 -29
  440. data/app/lib/actions/katello/provider/manifest_import.rb +0 -34
  441. data/app/lib/actions/katello/provider/manifest_refresh.rb +0 -30
  442. data/app/lib/katello/glue/queue.rb +0 -69
  443. data/app/lib/katello/glue/task.rb +0 -44
  444. data/db/seeds.d/108-ensure_sync_notification.rb +0 -11
  445. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys-table-collapsed.html +0 -19
  446. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys-table-full.html +0 -24
  447. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-composite-content-views-list.controller.js +0 -63
  448. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-composite-content-views-list.html +0 -80
  449. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tags-details.html +0 -72
  450. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags-table-collapsed.html +0 -19
  451. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags-table-full.html +0 -25
  452. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/new/views/gpg-key-new.html +0 -72
  453. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/views/gpg-keys-table-collapsed.html +0 -17
  454. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/views/gpg-keys-table-full.html +0 -24
  455. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-actions.html +0 -36
  456. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/views/host-collection-new-form.html +0 -45
  457. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/views/host-collection-new.html +0 -21
  458. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/views/host-collections-table-collapsed.html +0 -19
  459. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/views/host-collections-table-full.html +0 -28
  460. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/packages-details-files.html +0 -11
  461. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/packages-details-info.html +0 -85
  462. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/packages-details.html +0 -59
  463. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/views/packages-table-collapsed.html +0 -19
  464. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/views/packages-table-full.html +0 -22
  465. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-action-sync-plan.controller.js +0 -53
  466. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-action-sync.controller.js +0 -26
  467. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-action.controller.js +0 -64
  468. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/bulk-actions-sync-plan.html +0 -65
  469. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/bulk-actions-sync.html +0 -38
  470. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/bulk-actions.html +0 -78
  471. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-repositories.html +0 -190
  472. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products-table-collapsed.html +0 -20
  473. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products-table-full.html +0 -34
  474. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repositories/details/views/repository-info.html +0 -390
  475. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repositories/details/views/repository-manage-docker-manifests.html +0 -77
  476. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repositories/details/views/repository-manage-ostree-branches.html +0 -60
  477. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repositories/details/views/repository-manage-package-groups.html +0 -25
  478. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repositories/details/views/repository-manage-packages.html +0 -72
  479. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repositories/details/views/repository-manage-puppet-modules.html +0 -82
  480. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions-table-collapsed.html +0 -26
  481. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions-table-full.html +0 -34
  482. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-products-table.html +0 -80
  483. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans-table-collapsed.html +0 -21
  484. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans-table-full.html +0 -36
  485. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/gpg-keys.scss +0 -34
  486. data/lib/katello/tasks/regenerate_repo_metadata.rake +0 -18
@@ -15,9 +15,8 @@
15
15
  * within the table.
16
16
  */
17
17
  angular.module('Bastion.host-collections').controller('HostCollectionsController',
18
- ['$scope', '$location', 'translate', 'Nutupane', 'HostCollection', 'CurrentOrganization', 'urlencodeFilter',
19
- function ($scope, $location, translate, Nutupane, HostCollection, CurrentOrganization, urlencodeFilter) {
20
-
18
+ ['$scope', '$location', 'translate', 'Nutupane', 'HostCollection', 'CurrentOrganization',
19
+ function ($scope, $location, translate, Nutupane, HostCollection, CurrentOrganization) {
21
20
  var params = {
22
21
  'organization_id': CurrentOrganization,
23
22
  'search': $location.search().search || "",
@@ -27,19 +26,12 @@ angular.module('Bastion.host-collections').controller('HostCollectionsController
27
26
  };
28
27
 
29
28
  var nutupane = new Nutupane(HostCollection, params);
29
+ nutupane.masterOnly = true;
30
+
30
31
  $scope.table = nutupane.table;
31
32
  $scope.removeRow = nutupane.removeRow;
32
33
  $scope.controllerName = 'katello_host_collections';
33
34
 
34
- $scope.table.closeItem = function () {
35
- $scope.transitionTo('host-collections.index');
36
- };
37
-
38
- $scope.getHostCollectionSearchUrl = function (hostCollectionName) {
39
- var search = 'host_collection="%s"'.replace('%s', hostCollectionName);
40
- return '?select_all=true&search=' + urlencodeFilter(search);
41
- };
42
-
43
35
  $scope.$on("updateContentHostCollection", function (event, hostCollectionRow) {
44
36
  $scope.table.replaceRow(hostCollectionRow);
45
37
  });
@@ -13,88 +13,3 @@ angular.module('Bastion.host-collections', [
13
13
  'Bastion.common',
14
14
  'Bastion.utils'
15
15
  ]);
16
-
17
- angular.module('Bastion.host-collections').config(['$stateProvider', function ($stateProvider) {
18
- $stateProvider.state('host-collections', {
19
- abstract: true,
20
- controller: 'HostCollectionsController',
21
- templateUrl: 'host-collections/views/host-collections.html'
22
- })
23
- .state('host-collections.index', {
24
- url: '/host_collections',
25
- permission: 'view_host_collections',
26
- views: {
27
- 'table': {
28
- templateUrl: 'host-collections/views/host-collections-table-full.html'
29
- }
30
- }
31
- })
32
- .state('host-collections.new', {
33
- abstract: true,
34
- collapsed: true,
35
- views: {
36
- 'table': {
37
- templateUrl: 'host-collections/views/host-collections-table-collapsed.html'
38
- },
39
- 'action-panel': {
40
- controller: 'NewHostCollectionController',
41
- templateUrl: 'host-collections/new/views/host-collection-new.html'
42
- }
43
- }
44
- })
45
- .state('host-collections.new.form', {
46
- url: '/host_collections/new',
47
- permission: 'create_host_collections',
48
- collapsed: true,
49
- controller: 'HostCollectionFormController',
50
- templateUrl: 'host-collections/new/views/host-collection-new-form.html'
51
- });
52
-
53
- $stateProvider.state("host-collections.details", {
54
- abstract: true,
55
- url: '/host_collections/:hostCollectionId',
56
- permission: 'view_host_collections',
57
- collapsed: true,
58
- views: {
59
- 'table': {
60
- templateUrl: 'host-collections/views/host-collections-table-collapsed.html'
61
- },
62
- 'action-panel': {
63
- controller: 'HostCollectionDetailsController',
64
- templateUrl: 'host-collections/details/views/host-collection-details.html'
65
- }
66
- }
67
- })
68
- .state('host-collections.details.info', {
69
- url: '/info',
70
- permission: 'view_host_collections',
71
- collapsed: true,
72
- templateUrl: 'host-collections/details/views/host-collection-info.html'
73
- })
74
- .state('host-collections.details.hosts', {
75
- abstract: true,
76
- collapsed: true,
77
- templateUrl: 'host-collections/details/views/host-collection-hosts.html'
78
- })
79
- .state('host-collections.details.hosts.list', {
80
- url: '/hosts',
81
- permission: 'view_host_collections',
82
- collapsed: true,
83
- controller: 'HostCollectionHostsController',
84
- templateUrl: 'host-collections/details/views/host-collection-hosts-list.html'
85
- })
86
- .state('host-collections.details.hosts.add', {
87
- url: '/add-hosts',
88
- permission: 'edit_host_collections',
89
- collapsed: true,
90
- controller: 'HostCollectionAddHostsController',
91
- templateUrl: 'host-collections/details/views/host-collection-add-hosts.html'
92
- })
93
- .state('host-collections.details.actions', {
94
- url: '/actions',
95
- permission: 'edit_host_collections',
96
- collapsed: true,
97
- templateUrl: 'host-collections/details/views/host-collection-actions.html'
98
- });
99
-
100
- }]);
@@ -0,0 +1,80 @@
1
+ angular.module('Bastion.host-collections').config(['$stateProvider', function ($stateProvider) {
2
+ $stateProvider.state('host-collections', {
3
+ url: '/host_collections',
4
+ permission: 'view_host_collections',
5
+ template: '<div ui-view></div>',
6
+ views: {
7
+ '@': {
8
+ controller: 'HostCollectionsController',
9
+ templateUrl: 'host-collections/views/host-collections.html'
10
+ }
11
+ },
12
+ ncyBreadcrumb: {
13
+ label: "{{ 'Host Collections' | translate }}"
14
+ }
15
+ })
16
+ .state('host-collections.new', {
17
+ url: '/new',
18
+ permission: 'create_host_collections',
19
+ views: {
20
+ '@': {
21
+ controller: 'NewHostCollectionController',
22
+ templateUrl: 'host-collections/new/views/new-host-collection.html'
23
+ }
24
+ },
25
+ ncyBreadcrumb: {
26
+ label: "{{ 'New Host Collection' | translate }}"
27
+ }
28
+ });
29
+
30
+ $stateProvider.state("host-collection", {
31
+ abstract: true,
32
+ url: '/host_collections/:hostCollectionId',
33
+ permission: 'view_host_collections',
34
+ controller: 'HostCollectionDetailsController',
35
+ templateUrl: 'host-collections/details/views/host-collection-details.html'
36
+ })
37
+ .state('host-collection.info', {
38
+ url: '',
39
+ permission: 'view_host_collections',
40
+ templateUrl: 'host-collections/details/views/host-collection-info.html',
41
+ ncyBreadcrumb: {
42
+ label: "{{ hostCollection.name }}",
43
+ parent: 'host-collections'
44
+ }
45
+ })
46
+ .state('host-collection.hosts', {
47
+ abstract: true,
48
+ templateUrl: 'host-collections/details/views/host-collection-hosts.html'
49
+ })
50
+ .state('host-collection.hosts.list', {
51
+ url: '/hosts',
52
+ permission: 'view_host_collections',
53
+ controller: 'HostCollectionHostsController',
54
+ templateUrl: 'host-collections/details/views/host-collection-hosts-list.html',
55
+ ncyBreadcrumb: {
56
+ label: "{{ 'List Hosts' | translate }}",
57
+ parent: 'host-collection.info'
58
+ }
59
+ })
60
+ .state('host-collection.hosts.add', {
61
+ url: '/add-hosts',
62
+ permission: 'edit_host_collections',
63
+ controller: 'HostCollectionAddHostsController',
64
+ templateUrl: 'host-collections/details/views/host-collection-add-hosts.html',
65
+ ncyBreadcrumb: {
66
+ label: "{{ 'List Hosts' | translate }}",
67
+ parent: 'host-collection.info'
68
+ }
69
+ })
70
+ .state('host-collection.copy', {
71
+ url: '/copy',
72
+ permission: 'create_host_collections',
73
+ controller: 'HostCollectionCopyController',
74
+ templateUrl: 'host-collections/details/views/host-collection-copy.html',
75
+ ncyBreadcrumb: {
76
+ label: "{{ 'Create Copy' | translate }}",
77
+ parent: 'host-collection.info'
78
+ }
79
+ });
80
+ }]);
@@ -16,7 +16,7 @@ angular.module('Bastion.host-collections').controller('HostCollectionFormControl
16
16
 
17
17
  function success(response) {
18
18
  $scope.table.addRow(response);
19
- $scope.transitionTo('host-collections.details.info', {hostCollectionId: $scope.hostCollection.id});
19
+ $scope.transitionTo('host-collection.info', {hostCollectionId: $scope.hostCollection.id});
20
20
  }
21
21
 
22
22
  function error(response) {
@@ -4,16 +4,36 @@
4
4
  *
5
5
  * @requires $scope
6
6
  * @requires HostCollection
7
+ * @requires CurrentOrganization
7
8
  *
8
9
  * @description
9
10
  * Controls the creation of an empty HostCollection object for use by sub-controllers.
10
11
  */
11
12
  angular.module('Bastion.host-collections').controller('NewHostCollectionController',
12
- ['$scope', 'HostCollection',
13
- function ($scope, HostCollection) {
13
+ ['$scope', 'HostCollection', 'CurrentOrganization',
14
+ function ($scope, HostCollection, CurrentOrganization) {
14
15
 
15
16
  $scope.hostCollection = new HostCollection();
16
17
  $scope.panel = {loading: false};
17
18
 
19
+ function success() {
20
+ $scope.transitionTo('host-collection.info', {hostCollectionId: $scope.hostCollection.id});
21
+ }
22
+
23
+ function error(response) {
24
+ $scope.working = false;
25
+ angular.forEach(response.data.errors, function (errors, field) {
26
+ $scope.hostCollectionForm[field].$setValidity('', false);
27
+ $scope.hostCollectionForm[field].$error.messages = errors;
28
+ });
29
+ }
30
+
31
+ $scope.hostCollection = $scope.hostCollection || new HostCollection();
32
+ $scope.hostCollection['unlimited_hosts'] = true;
33
+
34
+ $scope.save = function (hostCollection) {
35
+ hostCollection['organization_id'] = CurrentOrganization;
36
+ hostCollection.$save(success, error);
37
+ };
18
38
  }]
19
39
  );
@@ -0,0 +1,53 @@
1
+ <span page-title>{{ 'New Host Collection' | translate }}</span>
2
+
3
+ <div data-extend-template="layouts/details-page-with-breadcrumbs.html">
4
+ <header data-block="header">
5
+ <h2 translate>New Host Collection</h2>
6
+ </header>
7
+
8
+ <div data-block="content">
9
+ <form name="hostCollectionForm" class="col-sm-5" novalidate role="form">
10
+ <div bst-form-group label="{{ 'Name' | translate }}">
11
+ <input id="name"
12
+ name="name"
13
+ ng-model="hostCollection.name"
14
+ type="text"
15
+ tabindex="1"
16
+ autofocus
17
+ required/>
18
+ </div>
19
+
20
+ <div bst-form-group label="{{ 'Content Host Limit' | translate }}" field="max_hosts">
21
+ <span translate>Unlimited Hosts:</span>
22
+ <input type="checkbox"
23
+ name="limit"
24
+ ng-model="hostCollection.unlimited_hosts"/>
25
+
26
+ <div bst-form-group label="{{ 'Limit' | translate }}" ng-hide="hostCollection.unlimited_hosts">
27
+ <input id="max_hosts"
28
+ name="max_hosts"
29
+ class="form-control"
30
+ ng-model="hostCollection.max_hosts"
31
+ ng-required="!hostCollection.unlimited_hosts"
32
+ type="number"
33
+ min="1"
34
+ tabindex="2"/>
35
+ </div>
36
+ </div>
37
+
38
+ <div bst-form-group label="{{ 'Description' | translate }}">
39
+ <textarea id="description"
40
+ name="description"
41
+ ng-model="hostCollection.description"
42
+ tabindex="3">
43
+ </textarea>
44
+ </div>
45
+
46
+ <div bst-form-buttons
47
+ on-cancel="transitionTo('host-collections')"
48
+ on-save="save(hostCollection)"
49
+ working="working">
50
+ </div>
51
+ </form>
52
+ </div>
53
+ </div>
@@ -1,16 +1,15 @@
1
1
  <span page-title>{{ 'Host Collections' | translate }}</span>
2
2
 
3
- <div data-extend-template="layouts/nutupane.html">
3
+ <div data-extend-template="layouts/table-with-header.html">
4
4
 
5
5
  <div data-block="header">
6
- {{ 'Host Collections' | translate }}
6
+ <h2 translate>Host Collections</h2>
7
7
  </div>
8
8
 
9
- <div data-block="actions">
10
- <button class="btn btn-primary"
11
- ui-sref="host-collections.new.form"
9
+ <div data-block="list-actions">
10
+ <button class="btn btn-default"
11
+ ui-sref="host-collections.new"
12
12
  ng-hide="denied('create_host_collections')">
13
- <i class="fa fa-plus"></i>
14
13
  {{ "New Host Collection" | translate }}
15
14
  </button>
16
15
  </div>
@@ -19,8 +18,38 @@
19
18
  You currently don't have any Host Collections, you can add Host Collections using the button on the right.
20
19
  </span>
21
20
 
22
- <span data-block="no-search-results-message">
21
+ <span data-block="no-search-results-message" translate>
23
22
  Your search returned zero Host Collections.
24
23
  </span>
25
24
 
25
+ <div data-block="table">
26
+ <table class="table table-striped"
27
+ ng-class="{'table-mask': table.working}"
28
+ ng-show="table.rows.length > 0">
29
+ <thead>
30
+ <tr bst-table-head>
31
+ <th bst-table-column="name" sortable><span translate>Name</span></th>
32
+ <th bst-table-column="hosts"><span translate>Content Hosts</span></th>
33
+ <th bst-table-column="limit"><span translate>Limit</span></th>
34
+ </tr>
35
+ </thead>
36
+
37
+ <tbody>
38
+ <tr bst-table-row ng-repeat="hostCollection in table.rows">
39
+ <td bst-table-cell>
40
+ <a ui-sref="host-collection.info({hostCollectionId: hostCollection.id})">
41
+ {{ hostCollection.name }}
42
+ </a>
43
+ <i class="fa fa-chevron-right selected-icon" ng-show="hostCollection.selected"></i>
44
+ </td>
45
+ <td bst-table-cell>
46
+ <a ui-sref="host-collection.hosts.list({hostCollectionId: hostCollection.id})">
47
+ {{ hostCollection.total_hosts }}
48
+ </a>
49
+ </td>
50
+ <td bst-table-cell>{{ hostCollection.max_hosts | unlimitedFilter:hostCollection.unlimited_hosts }}</td>
51
+ </tr>
52
+ </tbody>
53
+ </table>
54
+ </div>
26
55
  </div>
@@ -16,7 +16,8 @@ angular.module('Bastion.hosts').factory('HostPackage',
16
16
  install: {method: 'PUT', params: {action: 'install'}},
17
17
  update: {method: 'PUT', params: {action: 'upgrade'}},
18
18
  updateAll: {method: 'PUT', params: {action: 'upgrade_all'}},
19
- autocomplete: {method: 'GET', isArray: true, params: {action: 'auto_complete_search'}}
19
+ autocomplete: {method: 'GET', isArray: true, params: {action: 'auto_complete_search'}},
20
+ applicable: {method: 'GET', params: {action: 'applicable'}}
20
21
  });
21
22
 
22
23
  }]
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @ngdoc service
3
+ * @name Bastion.hosts.factory:HostTraces
4
+ *
5
+ * @requires BastionResource
6
+ *
7
+ * @description
8
+ * Provides a BastionResource for the packages of a single content host
9
+ */
10
+ angular.module('Bastion.hosts').factory('HostTraces',
11
+ ['BastionResource', function (BastionResource) {
12
+
13
+ return BastionResource('/api/v2/hosts/:id/traces/:action', {id: '@id'}, {
14
+ get: {method: 'GET', isArray: false}
15
+ });
16
+
17
+ }]
18
+ );
@@ -23,11 +23,11 @@
23
23
  'products.discovery',
24
24
  'products.discovery.scan',
25
25
  'products.discovery.create',
26
- 'gpg-keys.index',
26
+ 'gpg-keys',
27
27
  'gpg-keys.new',
28
- 'gpg-keys.details.info',
29
- 'gpg-keys.details.products',
30
- 'gpg-keys.details.repositories'
28
+ 'gpg-key.info',
29
+ 'gpg-key.products',
30
+ 'gpg-key.repositories'
31
31
  ];
32
32
 
33
33
  FeatureFlag.addStates('remote_actions', remoteActions);
@@ -15,6 +15,7 @@ angular.module('Bastion.organizations').service('FencedPages',
15
15
  'subscriptions',
16
16
  'gpg-keys',
17
17
  'sync-plans',
18
+ 'sync-plan',
18
19
  'content-views',
19
20
  'errata',
20
21
  'content-hosts',
@@ -1,6 +1,6 @@
1
1
  <div class="well col-sm-6 col-sm-offset-3">
2
2
 
3
- <form name="organizationSelectorForm" class="form-horizontal" novalidate role="form">
3
+ <form name="organizationSelectorForm" novalidate role="form">
4
4
 
5
5
  <h1 class="center-header" translate>Select an Organization</h1>
6
6
 
@@ -31,12 +31,12 @@ angular.module('Bastion.ostree-branches').controller('OstreeBranchesDetailsRepos
31
31
 
32
32
  environment = Environment.queryUnpaged(function (response) {
33
33
  $scope.environments = response.results;
34
- $scope.environmentFilter = _.findWhere($scope.environments, {library: true}).id;
34
+ $scope.environmentFilter = _.find($scope.environments, {library: true}).id;
35
35
  });
36
36
 
37
37
  contentView = ContentView.queryUnpaged(function (response) {
38
38
  $scope.contentViews = response.results;
39
- $scope.contentViewFilter = _.findWhere($scope.contentViews, {'default': true});
39
+ $scope.contentViewFilter = _.find($scope.contentViews, {'default': true});
40
40
  });
41
41
 
42
42
  $scope.detailsTable.working = true;
@@ -50,7 +50,7 @@ angular.module('Bastion.ostree-branches').controller('OstreeBranchesDetailsRepos
50
50
  params['content_view_version_id'] = $scope.contentViewFilter;
51
51
 
52
52
  if ($scope.contentViewFilter) {
53
- params['content_view_version_id'] = _.pluck($scope.contentViewFilter.versions, 'id');
53
+ params['content_view_version_id'] = _.map($scope.contentViewFilter.versions, 'id');
54
54
  }
55
55
 
56
56
  repositoriesNutupane.setParams(params);