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,13 +1,7 @@
1
- <div data-extend-template="layouts/details-nutupane.html">
2
-
3
- <div data-block="header"></div>
4
- <div data-block="selection-summary"></div>
5
-
6
- <div class="well" data-block="filters">
7
- <div>
8
- <select ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
9
- <select ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
10
- </div>
1
+ <div data-extend-template="layouts/partials/table.html">
2
+ <div data-block="search-filter">
3
+ <select class="form-control" ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
4
+ <select class="form-control" ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
11
5
  </div>
12
6
 
13
7
  <span data-block="no-rows-message" translate>
@@ -28,12 +22,11 @@
28
22
  </thead>
29
23
 
30
24
  <tbody>
31
- <tr bst-table-row ng-repeat="dockerTag in detailsTable.rows">
25
+ <tr bst-table-row ng-repeat="dockerTag in table.rows">
32
26
  <td bst-table-cell>{{ dockerTag.name }}</td>
33
27
  <td bst-table-cell>{{ dockerTag.product.name }}</td>
34
28
  <td bst-table-cell>{{ dockerTag.repository.name }}</td>
35
29
  </tr>
36
30
  </tbody>
37
31
  </table>
38
-
39
32
  </div>
@@ -1,13 +1,7 @@
1
- <div data-extend-template="layouts/details-nutupane.html">
2
-
3
- <div data-block="header"></div>
4
- <div data-block="selection-summary"></div>
5
-
6
- <div class="well" data-block="filters">
7
- <div>
8
- <select ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
9
- <select ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
10
- </div>
1
+ <div data-extend-template="layouts/partials/table.html">
2
+ <div data-block="search-filter">
3
+ <select class="form-control" ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
4
+ <select class="form-control" ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
11
5
  </div>
12
6
 
13
7
  <span data-block="no-rows-message" translate>
@@ -24,15 +18,15 @@
24
18
  <th bst-table-column="errataId" sortable>{{ "Errata ID" | translate }}</th>
25
19
  <th bst-table-column="title">{{ "Title" | translate }}</th>
26
20
  <th bst-table-column="type">{{ "Type" | translate }}</th>
27
- <th bst-table-column="numberOfContentHosts">{{ "Affected Content Hosts" | translate }}</th>
21
+ <th bst-table-column="numberOfContentHosts">{{ "Applicable Content Hosts" | translate }}</th>
28
22
  <th bst-table-column="updated">{{ "Updated" | translate }}</th>
29
23
  </tr>
30
24
  </thead>
31
25
 
32
26
  <tbody>
33
- <tr bst-table-row ng-repeat="errata in detailsTable.rows">
27
+ <tr bst-table-row ng-repeat="errata in table.rows">
34
28
  <td bst-table-cell>
35
- <a ui-sref="errata.details.info({errataId: errata.id})">
29
+ <a ui-sref="erratum.info({errataId: errata.id})">
36
30
  {{ errata.errata_id }}
37
31
  </a>
38
32
  </td>
@@ -60,5 +54,4 @@
60
54
  </tr>
61
55
  </tbody>
62
56
  </table>
63
-
64
57
  </div>
@@ -1,13 +1,7 @@
1
- <div data-extend-template="layouts/details-nutupane.html">
2
-
3
- <div data-block="header"></div>
4
- <div data-block="selection-summary"></div>
5
-
6
- <div class="well" data-block="filters">
7
- <div>
8
- <select ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
9
- <select ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
10
- </div>
1
+ <div data-extend-template="layouts/partials/table.html">
2
+ <div data-block="search-filter">
3
+ <select class="form-control" ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
4
+ <select class="form-control" ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
11
5
  </div>
12
6
 
13
7
  <span data-block="no-rows-message" translate>
@@ -29,7 +23,7 @@
29
23
  </thead>
30
24
 
31
25
  <tbody>
32
- <tr bst-table-row ng-repeat="branch in detailsTable.rows">
26
+ <tr bst-table-row ng-repeat="branch in table.rows">
33
27
  <td bst-table-cell>{{ branch.name }}</td>
34
28
  <td bst-table-cell>{{ branch.version }}</td>
35
29
  <td bst-table-cell>{{ branch.commit }}</td>
@@ -37,5 +31,4 @@
37
31
  </tr>
38
32
  </tbody>
39
33
  </table>
40
-
41
34
  </div>
@@ -1,13 +1,7 @@
1
- <div data-extend-template="layouts/details-nutupane.html">
2
-
3
- <div data-block="header"></div>
4
- <div data-block="selection-summary"></div>
5
-
6
- <div class="well" data-block="filters">
7
- <div>
8
- <select ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
9
- <select ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
10
- </div>
1
+ <div data-extend-template="layouts/partials/table.html">
2
+ <div data-block="search-filter">
3
+ <select class="form-control" ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
4
+ <select class="form-control" ng-model="repository" ng-change="repositorySelected(repository)" ng-options="repository.name for (id, repository) in repositories"></select>
11
5
  </div>
12
6
 
13
7
  <span data-block="no-rows-message" translate>
@@ -29,7 +23,7 @@
29
23
  </thead>
30
24
 
31
25
  <tbody>
32
- <tr bst-table-row ng-repeat="package in detailsTable.rows">
26
+ <tr bst-table-row ng-repeat="package in table.rows">
33
27
  <td bst-table-cell>{{ package.name }}</td>
34
28
  <td bst-table-cell>{{ package.version }}</td>
35
29
  <td bst-table-cell>{{ package.release }}</td>
@@ -37,5 +31,4 @@
37
31
  </tr>
38
32
  </tbody>
39
33
  </table>
40
-
41
34
  </div>
@@ -1,12 +1,6 @@
1
- <div data-extend-template="layouts/details-nutupane.html">
2
-
3
- <div data-block="header"></div>
4
- <div data-block="selection-summary"></div>
5
-
6
- <div class="well" data-block="filters">
7
- <div>
8
- <select ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
9
- </div>
1
+ <div data-extend-template="layouts/partials/table.html">
2
+ <div data-block="search-filter">
3
+ <select class="form-control" ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
10
4
  </div>
11
5
 
12
6
  <table data-block="table" class="table table-striped table-bordered">
@@ -27,12 +21,11 @@
27
21
  </span>
28
22
 
29
23
  <tbody>
30
- <tr bst-table-row ng-repeat="puppetModule in detailsTable.rows">
24
+ <tr bst-table-row ng-repeat="puppetModule in table.rows">
31
25
  <td bst-table-cell>{{ puppetModule.name }}</td>
32
26
  <td bst-table-cell>{{ puppetModule.author }}</td>
33
27
  <td bst-table-cell>{{ puppetModule.version }}</td>
34
28
  </tr>
35
29
  </tbody>
36
30
  </table>
37
-
38
31
  </div>
@@ -1,10 +1,6 @@
1
- <div data-extend-template="layouts/details-nutupane.html">
2
-
3
- <div data-block="header"></div>
4
- <div data-block="selection-summary"></div>
5
-
6
- <span class="input-group-addon" data-block="search-filter">
7
- <select ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
1
+ <div data-extend-template="layouts/partials/table.html">
2
+ <span data-block="search-filter">
3
+ <select class="form-control" ng-model="contentView" ng-change="contentViewSelected(contentView)" ng-options="contentView.name for (id, contentView) in contentViews"></select>
8
4
  </span>
9
5
 
10
6
  <table data-block="table" class="table table-striped table-bordered">
@@ -24,11 +20,10 @@
24
20
  </span>
25
21
 
26
22
  <tbody>
27
- <tr bst-table-row ng-repeat="repository in detailsTable.rows">
23
+ <tr bst-table-row ng-repeat="repository in table.rows">
28
24
  <td bst-table-cell>{{ repository.name }}</td>
29
25
  <td bst-table-cell>{{ repository.product.name }}</td>
30
26
  </tr>
31
27
  </tbody>
32
28
  </table>
33
-
34
29
  </div>
@@ -1,53 +1,34 @@
1
- <div data-extend-template="layouts/panel.html">
2
- <section data-block="panel" class="details-page">
3
- <div ng-show="panel.error" bst-alerts error-messages="errorMessages"></div>
4
-
5
- <div ng-hide="panel.error">
6
- <ol class="breadcrumb">
7
- <li>
8
- <a ui-sref="environments.index" translate>Environments List</a>
9
- </li>
10
-
11
- <li class="active">
12
- <a translate>
13
- {{ environment.name }} Environment
14
- </a>
15
- </li>
16
- </ol>
17
-
18
- <div class="row">
19
- <h1 class="col-sm-12">
20
- <span translate>Environment: {{ environment.name }}</span>
21
- <button ng-show="!environment.library && !environment.successor"
22
- ng-click="remove(environment)"
23
- class="btn btn-default fr">
24
- <i class="fa fa-trash-o inline-icon"></i>
25
- Remove Environment
26
- </button>
27
- </h1>
28
- </div>
29
-
30
- <div bst-alerts success-messages="successMessages" error-messages="errorMessages"></div>
31
-
32
- <nav>
33
- <ul class="nav nav-tabs">
34
-
35
- <li ng-repeat="type in contentTypes" ng-class="{active: isState('environments.environment.' + type.state)}">
36
- <a ng-href="{{ $state.href('environments.environment.' + type.state, {environmentId: environment.id}) }}">
37
- <span translate>{{ type.display }}</span>
38
- </a>
39
- </li>
40
-
41
- <li ng-class="{active: isState('environments.environment.details')}">
42
- <a ui-sref="environments.environment.details({environmentId: environment.id})">
43
- <span translate>Details</span>
44
- </a>
45
- </li>
46
-
47
- </ul>
48
- </nav>
49
-
50
- <div ui-view></div>
51
- </div>
1
+ <div data-extend-template="layouts/details-page-with-breadcrumbs.html">
2
+ <header data-block="header">
3
+ {{ environment.name }}
4
+ </header>
5
+
6
+ <div data-block="item-actions">
7
+ <button ng-show="!environment.library && !environment.successor"
8
+ ng-click="remove(environment)"
9
+ type="button"
10
+ class="btn btn-default">
11
+ <span translate>Remove Environment</span>
12
+ </button>
13
+ </div>
14
+
15
+ <nav data-block="navigation">
16
+ <ul class="nav nav-tabs">
17
+ <li ng-class="{active: isState('environment.details')}">
18
+ <a ui-sref="environment.details({environmentId: environment.id})">
19
+ <span translate>Details</span>
20
+ </a>
21
+ </li>
22
+
23
+ <li ng-repeat="type in contentTypes" ng-class="{active: isState('environment.' + type.state)}">
24
+ <a ng-href="{{ $state.href('environment.' + type.state, {environmentId: environment.id}) }}">
25
+ <span translate>{{ type.display }}</span>
26
+ </a>
27
+ </li>
28
+ </ul>
29
+ </nav>
30
+
31
+ <section data-block="content">
32
+ <div ui-view></div>
52
33
  </section>
53
34
  </div>
@@ -9,83 +9,127 @@
9
9
  */
10
10
  angular.module('Bastion.environments').config(['$stateProvider', function ($stateProvider) {
11
11
  $stateProvider.state('environments', {
12
- abstract: true,
12
+ url: '/lifecycle_environments',
13
13
  permission: 'view_lifecycle_environments',
14
- template: '<div ui-view></div>'
14
+ template: '<div ui-view></div>',
15
+ views: {
16
+ '@': {
17
+ controller: 'EnvironmentsController',
18
+ templateUrl: 'environments/views/environments.html'
19
+ }
20
+ },
21
+ ncyBreadcrumb: {
22
+ label: '{{ "Environments" | translate }}'
23
+ }
15
24
  });
16
25
 
17
- $stateProvider.state('environments.index', {
18
- url: '/lifecycle_environments',
19
- permission: 'view_lifecycle_environments',
20
- controller: 'EnvironmentsController',
21
- templateUrl: 'environments/views/environments.html'
22
- })
23
- .state('environments.new', {
26
+ $stateProvider.state('environments.new', {
24
27
  url: '/lifecycle_environments/:priorId/new',
25
28
  permission: 'create_lifecycle_environments',
26
- controller: 'NewEnvironmentController',
27
- templateUrl: 'environments/views/new-environment.html'
29
+ views: {
30
+ '@': {
31
+ controller: 'NewEnvironmentController',
32
+ templateUrl: 'environments/views/new-environment.html'
33
+ }
34
+ },
35
+ ncyBreadcrumb: {
36
+ label: '{{ "New Environment" | translate }}',
37
+ parent: 'environments'
38
+ }
28
39
  });
29
40
 
30
- $stateProvider.state('environments.environment', {
41
+ $stateProvider.state('environment', {
42
+ abstract: true,
31
43
  url: '/lifecycle_environments/:environmentId',
32
44
  permission: 'view_lifecycle_environments',
33
45
  controller: 'EnvironmentController',
34
46
  templateUrl: 'environments/details/views/environment.html'
35
47
  })
36
- .state('environments.environment.details', {
37
- url: '/details',
48
+ .state('environment.details', {
49
+ url: '',
38
50
  permission: 'view_lifecycle_environments',
39
- templateUrl: 'environments/details/views/environment-details.html'
51
+ templateUrl: 'environments/details/views/environment-details.html',
52
+ ncyBreadcrumb: {
53
+ label: '{{ environment.name }}',
54
+ parent: 'environments'
55
+ }
40
56
  })
41
- .state('environments.environment.errata', {
57
+ .state('environment.errata', {
42
58
  url: '/errata?repositoryId&contentViewId',
43
59
  reloadOnSearch: false,
44
60
  permission: 'view_lifecycle_environments',
45
61
  controller: 'EnvironmentContentController',
46
- templateUrl: 'environments/details/views/environment-errata.html'
62
+ templateUrl: 'environments/details/views/environment-errata.html',
63
+ ncyBreadcrumb: {
64
+ label: '{{ "Errata" | translate }}',
65
+ parent: 'environment.details'
66
+ }
47
67
  })
48
- .state('environments.environment.repositories', {
68
+ .state('environment.repositories', {
49
69
  url: '/repositories?contentViewId',
50
70
  reloadOnSearch: false,
51
71
  permission: 'view_lifecycle_environments',
52
72
  controller: 'EnvironmentContentController',
53
- templateUrl: 'environments/details/views/environment-repositories.html'
73
+ templateUrl: 'environments/details/views/environment-repositories.html',
74
+ ncyBreadcrumb: {
75
+ label: '{{ "Repositories" | translate }}',
76
+ parent: 'environment.details'
77
+ }
54
78
  })
55
- .state('environments.environment.packages', {
79
+ .state('environment.packages', {
56
80
  url: '/packages?repositoryId&contentViewId',
57
81
  reloadOnSearch: false,
58
82
  permission: 'view_lifecycle_environments',
59
83
  controller: 'EnvironmentContentController',
60
- templateUrl: 'environments/details/views/environment-packages.html'
84
+ templateUrl: 'environments/details/views/environment-packages.html',
85
+ ncyBreadcrumb: {
86
+ label: '{{ "Packages" | translate }}',
87
+ parent: 'environment.details'
88
+ }
61
89
  })
62
- .state('environments.environment.puppet-modules', {
90
+ .state('environment.puppet-modules', {
63
91
  url: '/puppet-modules?contentViewId',
64
92
  reloadOnSearch: false,
65
93
  permission: 'view_lifecycle_environments',
66
94
  controller: 'EnvironmentContentController',
67
- templateUrl: 'environments/details/views/environment-puppet-modules.html'
95
+ templateUrl: 'environments/details/views/environment-puppet-modules.html',
96
+ ncyBreadcrumb: {
97
+ label: '{{ "Puppet Modules" | translate }}',
98
+ parent: 'environment.details'
99
+ }
68
100
  })
69
- .state('environments.environment.docker', {
101
+ .state('environment.docker', {
70
102
  url: '/docker?repositoryId&contentViewId',
71
103
  reloadOnSearch: false,
72
104
  permission: 'view_lifecycle_environments',
73
105
  controller: 'EnvironmentContentController',
74
- templateUrl: 'environments/details/views/environment-docker.html'
106
+ templateUrl: 'environments/details/views/environment-docker.html',
107
+ ncyBreadcrumb: {
108
+ label: '{{ "Docker" | translate }}',
109
+ parent: 'environment.details'
110
+ }
75
111
  })
76
- .state('environments.environment.ostree', {
112
+ .state('environment.ostree', {
77
113
  url: '/ostree?repositoryId&contentViewId',
78
114
  reloadOnSearch: false,
79
115
  permission: 'view_lifecycle_environments',
80
116
  controller: 'EnvironmentContentController',
81
- templateUrl: 'environments/details/views/environment-ostree.html'
117
+ templateUrl: 'environments/details/views/environment-ostree.html',
118
+ ncyBreadcrumb: {
119
+ label: '{{ "OSTree Branches" | translate }}',
120
+ parent: 'environment.details'
121
+ }
82
122
  })
83
- .state('environments.environment.content-views', {
123
+ .state('environment.content-views', {
84
124
  url: '/content-views',
85
125
  reloadOnSearch: false,
86
126
  permission: 'view_lifecycle_environments',
87
127
  controller: 'EnvironmentContentController',
88
- templateUrl: 'environments/details/views/environment-content-views.html'
128
+ templateUrl: 'environments/details/views/environment-content-views.html',
129
+ ncyBreadcrumb: {
130
+ label: '{{ "Content Views" | translate }}',
131
+ parent: 'environment.details'
132
+ }
89
133
  });
90
134
 
91
135
  }]);
@@ -11,7 +11,7 @@
11
11
  function NewEnvironmentController($scope, Environment, FormUtils) {
12
12
 
13
13
  function success() {
14
- $scope.transitionTo('environments.index');
14
+ $scope.transitionTo('environments');
15
15
  }
16
16
 
17
17
  function error(response) {