katello 3.5.2 → 3.6.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 (490) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/sync_management/sync_management.js +5 -2
  3. data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +2 -0
  4. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +35 -16
  5. data/app/controllers/katello/api/v2/activation_keys_controller.rb +2 -2
  6. data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -2
  7. data/app/controllers/katello/api/v2/content_view_components_controller.rb +1 -0
  8. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
  9. data/app/controllers/katello/api/v2/content_view_histories_controller.rb +1 -1
  10. data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -1
  11. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +1 -1
  12. data/app/controllers/katello/api/v2/content_views_controller.rb +3 -3
  13. data/app/controllers/katello/api/v2/debs_controller.rb +19 -0
  14. data/app/controllers/katello/api/v2/docker_manifest_lists_controller.rb +20 -0
  15. data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
  16. data/app/controllers/katello/api/v2/errata_controller.rb +24 -0
  17. data/app/controllers/katello/api/v2/file_units_controller.rb +4 -1
  18. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +10 -4
  19. data/app/controllers/katello/api/v2/host_autocomplete_controller.rb +0 -1
  20. data/app/controllers/katello/api/v2/host_collections_controller.rb +1 -1
  21. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
  22. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +13 -5
  23. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  24. data/app/controllers/katello/api/v2/package_groups_controller.rb +3 -2
  25. data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +1 -1
  26. data/app/controllers/katello/api/v2/products_controller.rb +3 -3
  27. data/app/controllers/katello/api/v2/repositories_controller.rb +28 -12
  28. data/app/controllers/katello/api/v2/repository_sets_controller.rb +21 -13
  29. data/app/controllers/katello/api/v2/root_controller.rb +0 -1
  30. data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -19
  31. data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -1
  32. data/app/controllers/katello/application_controller.rb +0 -18
  33. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +12 -13
  34. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +17 -13
  35. data/app/controllers/katello/concerns/containers/steps_controller_extensions.rb +39 -37
  36. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +14 -14
  37. data/app/controllers/katello/concerns/organizations_controller_extensions.rb +34 -33
  38. data/app/controllers/katello/concerns/smart_proxies_controller_extensions.rb +18 -17
  39. data/app/controllers/katello/products_controller.rb +1 -1
  40. data/app/controllers/katello/providers_controller.rb +11 -0
  41. data/app/controllers/katello/react_controller.rb +9 -0
  42. data/app/controllers/katello/sync_management_controller.rb +1 -1
  43. data/app/helpers/katello/concerns/hosts_and_hostgroups_helper_extensions.rb +10 -9
  44. data/app/helpers/katello/concerns/settings_helper_extensions.rb +42 -33
  45. data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +1 -1
  46. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +1 -3
  47. data/app/helpers/katello/providers_helper.rb +2 -5
  48. data/app/lib/actions/candlepin/listen_on_candlepin_events.rb +5 -15
  49. data/app/lib/actions/katello/capsule_content/sync.rb +8 -0
  50. data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
  51. data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +2 -2
  52. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +2 -5
  53. data/app/lib/actions/katello/event_queue/monitor.rb +10 -11
  54. data/app/lib/actions/katello/event_queue/suspended_action.rb +1 -1
  55. data/app/lib/actions/katello/host/register.rb +1 -1
  56. data/app/lib/actions/katello/host/update.rb +1 -3
  57. data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -5
  58. data/app/lib/actions/katello/product/content_create.rb +11 -1
  59. data/app/lib/actions/katello/product/content_destroy.rb +8 -0
  60. data/app/lib/actions/katello/product/destroy.rb +2 -2
  61. data/app/lib/actions/katello/product/update.rb +0 -3
  62. data/app/lib/actions/katello/repository/bulk_metadata_generate.rb +15 -0
  63. data/app/lib/actions/katello/repository/check_matching_content.rb +10 -3
  64. data/app/lib/actions/katello/repository/clear.rb +4 -1
  65. data/app/lib/actions/katello/repository/clone_deb_content.rb +70 -0
  66. data/app/lib/actions/katello/repository/clone_to_environment.rb +4 -1
  67. data/app/lib/actions/katello/repository/clone_to_version.rb +19 -10
  68. data/app/lib/actions/katello/repository/clone_yum_content.rb +2 -0
  69. data/app/lib/actions/katello/repository/clone_yum_metadata.rb +1 -2
  70. data/app/lib/actions/katello/repository/create.rb +6 -2
  71. data/app/lib/actions/katello/repository/destroy.rb +1 -1
  72. data/app/lib/actions/katello/repository/export.rb +15 -0
  73. data/app/lib/actions/katello/repository/fetch_pxe_files.rb +49 -0
  74. data/app/lib/actions/katello/repository/filtered_index_content.rb +2 -0
  75. data/app/lib/actions/katello/repository/metadata_generate.rb +5 -1
  76. data/app/lib/actions/katello/repository/remove_content.rb +2 -0
  77. data/app/lib/actions/katello/repository/sync.rb +5 -6
  78. data/app/lib/actions/katello/repository/update.rb +14 -4
  79. data/app/lib/actions/katello/repository/upload_package_group.rb +0 -1
  80. data/app/lib/actions/katello/repository_set/disable_repository.rb +7 -7
  81. data/app/lib/actions/katello/repository_set/enable_repository.rb +17 -7
  82. data/app/lib/actions/katello/repository_set/scan_cdn.rb +8 -10
  83. data/app/lib/actions/pulp/consumer/abstract_content_action.rb +1 -1
  84. data/app/lib/actions/pulp/repository/copy_deb.rb +15 -0
  85. data/app/lib/actions/pulp/repository/copy_deb_component.rb +11 -0
  86. data/app/lib/actions/pulp/repository/copy_deb_release.rb +11 -0
  87. data/app/lib/actions/pulp/repository/copy_srpm.rb +16 -0
  88. data/app/lib/actions/pulp/repository/create.rb +38 -3
  89. data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +101 -0
  90. data/app/lib/actions/pulp/repository/remove_deb.rb +15 -0
  91. data/app/lib/actions/pulp/repository/remove_docker_blob.rb +11 -0
  92. data/app/lib/actions/pulp/repository/remove_docker_manifest_list.rb +11 -0
  93. data/app/lib/actions/pulp/repository/remove_docker_tag.rb +11 -0
  94. data/app/lib/actions/pulp/repository/sync.rb +2 -0
  95. data/app/lib/katello/api/v2/error_handling.rb +1 -1
  96. data/app/lib/katello/capsule_content.rb +1 -1
  97. data/app/lib/katello/concerns/renderer_extensions.rb +12 -10
  98. data/app/lib/katello/errors.rb +0 -4
  99. data/app/lib/katello/resources/candlepin.rb +2 -3
  100. data/app/lib/katello/util/cdn_var_substitutor.rb +2 -2
  101. data/app/lib/katello/util/docker_manifest_clause_generator.rb +1 -1
  102. data/app/lib/katello/util/package_clause_generator.rb +1 -1
  103. data/app/lib/katello/util/support.rb +1 -1
  104. data/app/models/katello/activation_key.rb +1 -1
  105. data/app/models/katello/authorization/content_view_history.rb +1 -0
  106. data/app/models/katello/authorization/content_view_version.rb +1 -1
  107. data/app/models/katello/authorization/pool.rb +2 -0
  108. data/app/models/katello/authorization/repository.rb +2 -0
  109. data/app/models/katello/candlepin/docker_repository_mapper.rb +77 -0
  110. data/app/models/katello/candlepin/repository_mapper.rb +143 -0
  111. data/app/models/katello/concerns/container_extensions.rb +14 -12
  112. data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -2
  113. data/app/models/katello/concerns/docker_container_wizard_state_extensions.rb +6 -4
  114. data/app/models/katello/concerns/docker_container_wizard_state_image_extensions.rb +8 -6
  115. data/app/models/katello/concerns/host_managed_extensions.rb +2 -13
  116. data/app/models/katello/concerns/location_extensions.rb +5 -1
  117. data/app/models/katello/concerns/organization_extensions.rb +22 -1
  118. data/app/models/katello/concerns/pulp_database_unit.rb +26 -5
  119. data/app/models/katello/concerns/redhat_extensions.rb +22 -21
  120. data/app/models/katello/concerns/smart_proxy_extensions.rb +11 -9
  121. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +8 -7
  122. data/app/models/katello/content.rb +26 -0
  123. data/app/models/katello/content_view.rb +18 -5
  124. data/app/models/katello/content_view_component.rb +1 -1
  125. data/app/models/katello/content_view_docker_filter.rb +15 -6
  126. data/app/models/katello/content_view_filter.rb +8 -2
  127. data/app/models/katello/content_view_puppet_environment.rb +12 -0
  128. data/app/models/katello/content_view_repository.rb +2 -1
  129. data/app/models/katello/content_view_version.rb +57 -15
  130. data/app/models/katello/deb.rb +50 -0
  131. data/app/models/katello/docker_manifest.rb +14 -8
  132. data/app/models/katello/docker_manifest_list.rb +39 -0
  133. data/app/models/katello/docker_manifest_list_manifest.rb +6 -0
  134. data/app/models/katello/docker_meta_tag.rb +3 -3
  135. data/app/models/katello/docker_tag.rb +30 -10
  136. data/app/models/katello/errata_status.rb +1 -1
  137. data/app/models/katello/erratum.rb +3 -4
  138. data/app/models/katello/file_unit.rb +2 -2
  139. data/app/models/katello/glue/candlepin/activation_key.rb +1 -1
  140. data/app/models/katello/glue/candlepin/content.rb +9 -34
  141. data/app/models/katello/glue/candlepin/owner.rb +0 -32
  142. data/app/models/katello/glue/candlepin/pool.rb +2 -3
  143. data/app/models/katello/glue/candlepin/product.rb +34 -52
  144. data/app/models/katello/glue/candlepin/repository.rb +31 -0
  145. data/app/models/katello/glue/provider.rb +16 -19
  146. data/app/models/katello/glue/pulp/repo.rb +89 -16
  147. data/app/models/katello/host/content_facet.rb +6 -6
  148. data/app/models/katello/host/info_provider.rb +2 -2
  149. data/app/models/katello/host/subscription_facet.rb +4 -4
  150. data/app/models/katello/kt_environment.rb +6 -2
  151. data/app/models/katello/package_group.rb +1 -1
  152. data/app/models/katello/pool.rb +13 -12
  153. data/app/models/katello/product.rb +12 -6
  154. data/app/models/katello/product_content.rb +36 -0
  155. data/app/models/katello/provider.rb +1 -1
  156. data/app/models/katello/puppet_module.rb +5 -5
  157. data/app/models/katello/repository.rb +103 -11
  158. data/app/models/katello/repository_deb.rb +7 -0
  159. data/app/models/katello/repository_docker_manifest_list.rb +7 -0
  160. data/app/models/katello/repository_srpm.rb +7 -0
  161. data/app/models/katello/rhsm_fact_importer.rb +2 -2
  162. data/app/models/katello/rhsm_fact_parser.rb +1 -1
  163. data/app/models/katello/rpm.rb +5 -5
  164. data/app/models/katello/srpm.rb +40 -0
  165. data/app/models/katello/subscription.rb +3 -2
  166. data/app/models/katello/sync_plan.rb +8 -5
  167. data/app/models/setting/content.rb +5 -3
  168. data/app/services/katello/product_content_finder.rb +1 -1
  169. data/app/services/katello/pulp/deb.rb +46 -0
  170. data/app/services/katello/pulp/docker_manifest_list.rb +7 -0
  171. data/app/services/katello/pulp/server.rb +4 -12
  172. data/app/services/katello/pulp/srpm.rb +17 -0
  173. data/app/views/foreman/unattended/finish-katello.erb +4 -4
  174. data/app/views/foreman/unattended/kickstart-katello-atomic.erb +3 -3
  175. data/app/views/foreman/unattended/kickstart-katello.erb +5 -9
  176. data/app/views/foreman/unattended/snippets/_subscription_manager_registration.erb +3 -3
  177. data/app/views/foreman/unattended/userdata-katello.erb +8 -8
  178. data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +1 -2
  179. data/app/views/katello/api/v2/content_facet/base.json.rabl +6 -1
  180. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +3 -0
  181. data/app/views/katello/api/v2/content_views/show.json.rabl +12 -0
  182. data/app/views/katello/api/v2/debs/base.json.rabl +10 -0
  183. data/app/views/katello/api/v2/debs/index.json.rabl +7 -0
  184. data/app/views/katello/api/v2/debs/show.json.rabl +3 -0
  185. data/app/views/katello/api/v2/docker_manifest_lists/index.json.rabl +7 -0
  186. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +12 -0
  187. data/app/views/katello/api/v2/docker_manifests/compare.json.rabl +10 -0
  188. data/app/views/katello/api/v2/docker_manifests/show.json.rabl +5 -1
  189. data/app/views/katello/api/v2/docker_tags/_base.json.rabl +4 -4
  190. data/app/views/katello/api/v2/docker_tags/compare.json.rabl +10 -0
  191. data/app/views/katello/api/v2/docker_tags/show.json.rabl +1 -1
  192. data/app/views/katello/api/v2/errata/_counts.json.rabl +1 -0
  193. data/app/views/katello/api/v2/errata/available_errata.rabl +7 -0
  194. data/app/views/katello/api/v2/file_units/compare.json.rabl +10 -0
  195. data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +1 -2
  196. data/app/views/katello/api/v2/hostgroups_extensions/show.json.rabl +2 -1
  197. data/app/views/katello/api/v2/hosts_bulk_actions/applicable_errata.json.rabl +7 -0
  198. data/app/views/katello/api/v2/layouts/resource.json.erb +1 -1
  199. data/app/views/katello/api/v2/ostree_branches/compare.json.rabl +10 -0
  200. data/app/views/katello/api/v2/package_groups/compare.json.rabl +10 -0
  201. data/app/views/katello/api/v2/packages/compare.json.rabl +10 -0
  202. data/app/views/katello/api/v2/products/_product_content.json.rabl +9 -0
  203. data/app/views/katello/api/v2/products/base.json.rabl +3 -1
  204. data/app/views/katello/api/v2/products/show.json.rabl +6 -2
  205. data/app/views/katello/api/v2/puppet_modules/compare.json.rabl +10 -0
  206. data/app/views/katello/api/v2/repositories/base.json.rabl +5 -1
  207. data/app/views/katello/api/v2/repositories/show.json.rabl +2 -0
  208. data/app/views/katello/api/v2/repository_sets/show.json.rabl +15 -3
  209. data/app/views/katello/layouts/react.html.erb +15 -0
  210. data/app/views/katello/providers/redhat/_repo_sets.html.erb +5 -5
  211. data/app/views/katello/sync_management/index.html.erb +4 -0
  212. data/app/views/smart_proxies/pulp_status.html.erb +6 -6
  213. data/config/katello.yaml.example +0 -4
  214. data/config/routes.rb +3 -0
  215. data/config/routes/api/v2.rb +30 -3
  216. data/config/routes/overrides.rb +1 -0
  217. data/db/migrate/20131014135042_katello_tables.rb +1 -1
  218. data/db/migrate/20131014225132_add_users_fields.rb +1 -1
  219. data/db/migrate/20131016124255_add_foreign_keys_engine.rb +1 -1
  220. data/db/migrate/20131120225132_add_organization_fields.rb +1 -1
  221. data/db/migrate/20131216212502_add_quantity_to_katello_key_pools.rb +1 -1
  222. data/db/migrate/20131216212621_add_cp_id_to_katello_activation_keys.rb +1 -1
  223. data/db/migrate/20131218174203_drop_katello_key_pools_table.rb +1 -1
  224. data/db/migrate/20140110000001_update_environments_add_katello_id.rb +1 -1
  225. data/db/migrate/20140117160939_refactor_content_views.rb +1 -1
  226. data/db/migrate/20140206200439_create_content_view_puppet_modules.rb +1 -1
  227. data/db/migrate/20140212131812_create_content_view_package_filter_rules.rb +1 -1
  228. data/db/migrate/20140212143454_create_content_view_package_group_filter_rules.rb +1 -1
  229. data/db/migrate/20140212143642_create_content_view_erratum_filter_rules.rb +1 -1
  230. data/db/migrate/20140217145303_remove_changeset.rb +1 -1
  231. data/db/migrate/20140217160132_create_content_view_history.rb +1 -1
  232. data/db/migrate/20140222022712_remove_provider_discovery.rb +1 -1
  233. data/db/migrate/20140305101813_allow_null_for_repository_content_id.rb +1 -1
  234. data/db/migrate/20140306132108_create_content_view_puppet_environments.rb +1 -1
  235. data/db/migrate/20140310102051_repository_add_checksum_type.rb +1 -1
  236. data/db/migrate/20140318174203_drop_cdn_import_success_column.rb +1 -1
  237. data/db/migrate/20140325185413_create_content_view_foreign_keys.rb +1 -1
  238. data/db/migrate/20140404122011_drop_repositories_enabled_column.rb +1 -1
  239. data/db/migrate/20140411134235_update_content_view_description_type.rb +1 -1
  240. data/db/migrate/20140414214152_allow_null_content_view_to_activation_key.rb +1 -1
  241. data/db/migrate/20140418124032_add_next_version_to_katello_content_views.rb +1 -1
  242. data/db/migrate/20140422000001_update_products_add_organization.rb +1 -1
  243. data/db/migrate/20140423191446_add_anonymous_providers_to_orgs.rb +1 -1
  244. data/db/migrate/20140425155126_add_host_id_to_system.rb +1 -1
  245. data/db/migrate/20140429193743_add_release_version_to_activation_keys.rb +1 -1
  246. data/db/migrate/20140502164009_rename_system_groups_to_host_collections.rb +1 -1
  247. data/db/migrate/20140502174412_update_host_collections_foreign_keys.rb +1 -1
  248. data/db/migrate/20140514165842_create_capsule_lifecycle_environments.rb +1 -1
  249. data/db/migrate/20140531160506_package_filter_add_original_packages.rb +1 -1
  250. data/db/migrate/20140610083129_add_pulp_proxy_to_host.rb +1 -1
  251. data/db/migrate/20140610154745_content_view_puppet_environment_id.rb +1 -1
  252. data/db/migrate/20140610170142_add_uuid_to_content_view_package_group_filter_rule.rb +1 -1
  253. data/db/migrate/20140617100300_add_description_to_content_view_filter_rules.rb +1 -1
  254. data/db/migrate/20140623103442_drop_taxonomies_owner_auto_attach_all_systems_task_id_column.rb +1 -1
  255. data/db/migrate/20140624183938_add_foreign_keys_for_organizations.rb +1 -1
  256. data/db/migrate/20140624184401_remove_label_from_activation_key.rb +1 -1
  257. data/db/migrate/20140626055258_add_missing_foreign_keys.rb +1 -1
  258. data/db/migrate/20140626204657_add_unlimited_to_activation_keys.rb +1 -1
  259. data/db/migrate/20140626204902_add_unlimited_to_host_collection.rb +1 -1
  260. data/db/migrate/20140707203534_location_add_katello_default.rb +1 -1
  261. data/db/migrate/20140709150428_remove_deletion_task_id_from_taxonomies.rb +1 -1
  262. data/db/migrate/20140716211853_repo_rename_feed_to_url.rb +1 -1
  263. data/db/migrate/20140807175457_remove_hidden_column_from_user.rb +1 -1
  264. data/db/migrate/20140811141742_remove_delayed_jobs.rb +1 -1
  265. data/db/migrate/20140821084214_add_sync_plan_enabled_to_sync_plan.rb +1 -1
  266. data/db/migrate/20140928210618_add_description_to_content_view_versions.rb +1 -1
  267. data/db/migrate/20140930170628_add_errata.rb +1 -1
  268. data/db/migrate/20141001170628_add_system_repository.rb +1 -1
  269. data/db/migrate/20141003210742_add_docker_container_registry_url_to_providers.rb +1 -1
  270. data/db/migrate/20141015173220_add_docker_image_fields.rb +1 -1
  271. data/db/migrate/20141031150814_add_tag_repository_id_index.rb +1 -1
  272. data/db/migrate/20141112180709_add_auto_attach_to_activation_keys.rb +1 -1
  273. data/db/migrate/20141124182205_content_view_version_add_minor.rb +1 -1
  274. data/db/migrate/20141203123206_add_timestamps_to_repository_join_tables.rb +1 -1
  275. data/db/migrate/20141204203609_add_default_value_to_auto_attach.rb +1 -1
  276. data/db/migrate/20141209103005_disown_foreman_templates.rb +1 -1
  277. data/db/migrate/20141210173220_create_docker_tables.rb +1 -1
  278. data/db/migrate/20141215213720_track_version_components.rb +1 -1
  279. data/db/migrate/20141222151001_add_host_content_view_environment.rb +1 -1
  280. data/db/migrate/20150109012657_add_capsule_id_to_container.rb +1 -1
  281. data/db/migrate/20150114225023_add_upstream_name_to_repository.rb +1 -1
  282. data/db/migrate/20150119153452_update_promote_errata_email_description.rb +1 -1
  283. data/db/migrate/20150224083608_remove_docker_registry_url.rb +1 -1
  284. data/db/migrate/20150227213850_change_descriptions_to_text_fields.rb +1 -1
  285. data/db/migrate/20150423134004_add_content_host_id_to_smart_proxy.rb +1 -1
  286. data/db/migrate/20150505180030_change_errata_timestamps_to_dates.rb +1 -1
  287. data/db/migrate/20150507131145_update_composite_default_for_content_view.rb +1 -1
  288. data/db/migrate/20150513034751_add_ostree_branches.rb +1 -1
  289. data/db/migrate/20150602153753_remove_help_tips.rb +1 -1
  290. data/db/migrate/20150602153754_remove_search_histories.rb +1 -1
  291. data/db/migrate/20150602153755_remove_search_favorites.rb +1 -1
  292. data/db/migrate/20150602153756_remove_user_notices.rb +1 -1
  293. data/db/migrate/20150602153757_remove_notices.rb +1 -1
  294. data/db/migrate/20150603045418_remove_user_fields.rb +1 -1
  295. data/db/migrate/20150606021722_create_puppet_modules.rb +1 -1
  296. data/db/migrate/20150611140455_remove_default_and_custom_info.rb +1 -1
  297. data/db/migrate/20150613134559_add_rpm.rb +1 -1
  298. data/db/migrate/20150623135424_create_package_groups.rb +1 -1
  299. data/db/migrate/20150715142649_assign_content_host_to_smart_proxies.rb +1 -1
  300. data/db/migrate/20150717142559_add_distributions_to_repository.rb +1 -1
  301. data/db/migrate/20150813185339_create_subscriptions.rb +1 -1
  302. data/db/migrate/20150826165942_add_subscription_facet.rb +1 -1
  303. data/db/migrate/20150826170004_add_content_facet.rb +1 -1
  304. data/db/migrate/20150901213759_remove_distributors.rb +1 -1
  305. data/db/migrate/20150902164543_remove_apply_info_task_id_from_taxonomies.rb +1 -1
  306. data/db/migrate/20150908222711_drop_marketing_engineering_products.rb +1 -1
  307. data/db/migrate/20150928221648_update_location_katello_default.rb +1 -1
  308. data/db/migrate/20150930183738_migrate_content_hosts.rb +1 -1
  309. data/db/migrate/20151014144004_host_collection_to_hosts.rb +1 -1
  310. data/db/migrate/20151015152947_add_virt_only_to_katello_pools.rb +1 -1
  311. data/db/migrate/20151203230940_add_date_type_to_content_view_erratum_filter_rules.rb +1 -1
  312. data/db/migrate/20151219152536_rename_index_repository_errata.rb +1 -1
  313. data/db/migrate/20151219203225_rename_index_repository_puppet_module.rb +1 -1
  314. data/db/migrate/20160114200145_add_mirror_on_sync_to_repositories.rb +1 -1
  315. data/db/migrate/20160129192548_add_docker_v2_schema.rb +1 -1
  316. data/db/migrate/20160131182301_add_download_policy_to_katello_repositories.rb +1 -1
  317. data/db/migrate/20160203195736_remove_docker_image_schema.rb +1 -1
  318. data/db/migrate/20160211134035_remove_system_errata.rb +1 -1
  319. data/db/migrate/20160222143432_move_system_description_to_host.rb +1 -1
  320. data/db/migrate/20160224155909_add_registered_at_to_subscription_facet.rb +1 -1
  321. data/db/migrate/20160301070319_add_version_ostree_branches.rb +1 -1
  322. data/db/migrate/20160317171813_change_activation_key_column_names.rb +1 -1
  323. data/db/migrate/20160323065901_increase_cdn_length.rb +1 -1
  324. data/db/migrate/20160404132250_remove_katello_from_notification_name.rb +1 -1
  325. data/db/migrate/20160413230128_add_kickstart_repository_to_hosts_and_hostgroups.rb +1 -1
  326. data/db/migrate/20160426145517_move_host_description_to_host_comment.rb +1 -1
  327. data/db/migrate/20160505181337_rename_katello_settings.rb +1 -1
  328. data/db/migrate/20160520175340_add_host_applicable_package.rb +1 -1
  329. data/db/migrate/20160530184400_add_repo_id_indexes.rb +1 -1
  330. data/db/migrate/20160605160933_remove_jobs.rb +1 -1
  331. data/db/migrate/20160605162929_remove_system_smart_proxy.rb +1 -1
  332. data/db/migrate/20160613150922_add_event_queue.rb +1 -1
  333. data/db/migrate/20160617124149_remove_duplicate_view_filters.rb +1 -1
  334. data/db/migrate/20160619223332_fix_viewer_role.rb +1 -1
  335. data/db/migrate/20160627125310_delete_system.rb +1 -1
  336. data/db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb +1 -1
  337. data/db/migrate/20160722193256_add_verify_ssl_on_sync_to_repository.rb +1 -1
  338. data/db/migrate/20160727144242_add_registered_through_to_katello_subscription_facets.rb +1 -1
  339. data/db/migrate/20160728005028_add_latest_version_to_content_view_component.rb +1 -1
  340. data/db/migrate/20160808002834_add_files.rb +1 -1
  341. data/db/migrate/20160906181923_add_puppet_path_to_smart_proxy.rb +1 -1
  342. data/db/migrate/20160907231049_add_username_password_to_repository.rb +1 -1
  343. data/db/migrate/20160908234510_add_rpm_nvra.rb +1 -1
  344. data/db/migrate/20160923143611_add_action_to_content_view_histories.rb +1 -1
  345. data/db/migrate/20160924213020_change_katello_widget_names.rb +1 -1
  346. data/db/migrate/20160930121245_content_view_force_puppet_env.rb +1 -1
  347. data/db/migrate/20160930150810_add_smart_proxy_download_policy.rb +1 -1
  348. data/db/migrate/20161003130853_add_architecture_to_katello_content_view_package_filter_rule.rb +1 -1
  349. data/db/migrate/20161003204325_add_user_to_katello_subscription_facets.rb +1 -1
  350. data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +2 -4
  351. data/db/migrate/20161021072346_fix_subscription_permissions.rb +1 -1
  352. data/db/migrate/20161026191118_fix_invalid_interfaces.rb +1 -1
  353. data/db/migrate/20161028153131_sub_facet_user_index_not_uniq.rb +1 -1
  354. data/db/migrate/20161031204903_add_tracer_support.rb +1 -1
  355. data/db/migrate/20161102194100_create_content_view_docker_filter_rules.rb +1 -1
  356. data/db/migrate/20161209162947_add_virt_who_to_katello_pools.rb +1 -1
  357. data/db/migrate/20161214151548_move_content_source_id_to_content_facets.rb +1 -1
  358. data/db/migrate/20170114051758_add_depth_to_repositories.rb +1 -1
  359. data/db/migrate/20170122204325_add_hypervisor_to_subscription_facets.rb +1 -1
  360. data/db/migrate/20170125152421_move_default_location_to_settings.rb +1 -1
  361. data/db/migrate/20170208215148_add_docker_repo_name.rb +1 -1
  362. data/db/migrate/20170220679403_remove_system_permissions.rb +1 -1
  363. data/db/migrate/20170222131211_change_pool_columns_to_dates.rb +1 -1
  364. data/db/migrate/20170321012632_fill_in_content_view_components.rb +1 -1
  365. data/db/migrate/20170523182831_create_docker_meta_tag.rb +1 -1
  366. data/db/migrate/20170714144125_add_deb.rb +34 -0
  367. data/db/migrate/20170718142148_create_katello_subscription_facet_pools.rb +1 -1
  368. data/db/migrate/20170720142145_add_deb_release_parameters_to_repositories.rb +7 -0
  369. data/db/migrate/20170821170915_add_index_to_installed_packages.rb +1 -1
  370. data/db/migrate/20170821170916_add_nvra_index_to_installed_packages.rb +1 -1
  371. data/db/migrate/20170822104447_add_katello_content_to_image.rb +1 -1
  372. data/db/migrate/20170913183848_add_errata_counts.rb +1 -1
  373. data/db/migrate/20171010170443_add_index_to_katello_content_facet_errata.rb +1 -1
  374. data/db/migrate/20171010172724_add_docker_manifest_list.rb +67 -0
  375. data/db/migrate/20171011175510_add_srpm.rb +38 -0
  376. data/db/migrate/20171014051810_remove_docker_manifest_name.rb +9 -0
  377. data/db/migrate/20171025163149_remove_use_pulp_oauth_setting.rb +5 -0
  378. data/db/migrate/20171112174357_create_katello_content.rb +13 -0
  379. data/db/migrate/20171112174358_create_katello_product_content.rb +16 -0
  380. data/db/migrate/20171114150937_cleanup_installed_packages.rb +1 -1
  381. data/db/migrate/20171114183353_add_hypervisor_id_to_katello_pools.rb +1 -1
  382. data/db/migrate/20171120144843_add_repository_ignore_proxy.rb +5 -0
  383. data/db/migrate/20171211124439_add_uuid_index_to_katello_subscription_facets.rb +1 -1
  384. data/db/migrate/20180103230812_set_errata_updated_date.rb +7 -0
  385. data/db/seeds.d/101-locations.rb +6 -4
  386. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -1
  387. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
  388. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +6 -0
  389. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +1 -4
  390. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +2 -2
  391. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +0 -2
  392. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +8 -10
  393. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +5 -3
  394. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +13 -5
  395. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +1 -1
  396. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +44 -0
  397. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-deb-repositories.controller.js +48 -0
  398. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-deb-repositories-list.controller.js +46 -0
  399. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +11 -7
  400. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +3 -0
  401. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +4 -14
  402. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +4 -0
  403. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-deb-repositories.html +87 -0
  404. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +7 -0
  405. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +6 -0
  406. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +12 -1
  407. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +5 -0
  408. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +10 -1
  409. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +13 -2
  410. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +3 -1
  411. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-apt.html +25 -0
  412. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-deb.html +19 -0
  413. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +2 -2
  414. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +3 -0
  415. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +16 -2
  416. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/deb.factory.js +28 -0
  417. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +34 -0
  418. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.module.js +20 -0
  419. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.routes.js +71 -0
  420. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +44 -0
  421. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +36 -0
  422. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb.controller.js +34 -0
  423. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-content-views.html +41 -0
  424. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +21 -0
  425. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-repositories.html +52 -0
  426. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb.html +37 -0
  427. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/views/debs.html +43 -0
  428. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-list.factory.js +26 -0
  429. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-lists.module.js +19 -0
  430. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +17 -3
  431. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-environments.controller.js +2 -11
  432. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-details.html +2 -2
  433. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-info.html +7 -8
  434. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.routes.js +1 -1
  435. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags.html +1 -1
  436. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +2 -2
  437. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +11 -25
  438. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +3 -3
  439. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.routes.js +1 -1
  440. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +2 -3
  441. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +6 -17
  442. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +1 -1
  443. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +2 -2
  444. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization-selector.controller.js +2 -1
  445. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +1 -1
  446. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.routes.js +1 -1
  447. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +17 -6
  448. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +69 -8
  449. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-debs.html +68 -0
  450. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifest-lists.html +44 -0
  451. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +13 -7
  452. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +2 -2
  453. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +2 -2
  454. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +42 -4
  455. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.module.js +3 -1
  456. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +18 -0
  457. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +21 -2
  458. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +2 -0
  459. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +8 -0
  460. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +3 -3
  461. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +1 -1
  462. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +1 -1
  463. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/new-sync-plan.controller.js +1 -0
  464. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +1 -0
  465. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/docker.scss +16 -0
  466. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -0
  467. data/lib/katello/engine.rb +4 -6
  468. data/lib/katello/permission_creator.rb +14 -12
  469. data/lib/katello/permissions/host_permissions.rb +1 -0
  470. data/lib/katello/plugin.rb +83 -54
  471. data/lib/katello/prevent_json_parsing.rb +15 -0
  472. data/lib/katello/repository_types/deb.rb +1 -0
  473. data/lib/katello/tasks/clean_old_file_repos.rake +33 -0
  474. data/lib/katello/tasks/clean_published_repo_directories.rake +4 -4
  475. data/lib/katello/tasks/reimport.rake +8 -1
  476. data/lib/katello/tasks/repository.rake +3 -3
  477. data/lib/katello/tasks/rubocop.rake +1 -1
  478. data/lib/katello/tasks/test.rake +1 -0
  479. data/lib/katello/tasks/upgrades/3.6/import_product_content.rake +12 -0
  480. data/lib/katello/tasks/upgrades/3.6/republish_file_repos.rake +16 -0
  481. data/lib/katello/tasks/virt_who_report.rake +2 -2
  482. data/lib/katello/version.rb +1 -1
  483. data/locale/README +1 -0
  484. metadata +121 -30
  485. data/app/lib/actions/candlepin/owner/upstream_regenerate_certificates.rb +0 -17
  486. data/app/lib/actions/candlepin/product/update.rb +0 -32
  487. data/app/lib/actions/katello/event_queue/run_once_coordinator_lock.rb +0 -12
  488. data/app/models/katello/candlepin/content.rb +0 -252
  489. data/app/models/katello/candlepin/product_content.rb +0 -48
  490. data/lib/katello/params_parser_wrapper.rb +0 -16
@@ -18,7 +18,9 @@ angular.module('Bastion.repositories', [
18
18
  'Bastion.packages',
19
19
  'Bastion.products',
20
20
  'Bastion.docker-manifests',
21
- 'Bastion.files'
21
+ 'Bastion.docker-manifest-lists',
22
+ 'Bastion.files',
23
+ 'Bastion.debs'
22
24
  ]);
23
25
 
24
26
  angular.module('Bastion.repositories').run(['$rootScope', '$state', '$stateParams',
@@ -108,6 +108,15 @@
108
108
  parent: 'product.repository.info'
109
109
  }
110
110
  })
111
+ .state('product.repository.manage-content.docker-manifest-lists', {
112
+ url: '/content/docker_manifest_lists',
113
+ permission: 'view_products',
114
+ templateUrl: 'products/details/repositories/details/views/repository-manage-docker-manifest-lists.html',
115
+ ncyBreadcrumb: {
116
+ label: "{{'Docker Manifest Lists' | translate }}",
117
+ parent: 'product.repository.info'
118
+ }
119
+ })
111
120
  .state('product.repository.manage-content.files', {
112
121
  url: '/content/files',
113
122
  permission: 'view_products',
@@ -125,6 +134,15 @@
125
134
  label: "{{'OSTree Branches' | translate }}",
126
135
  parent: 'product.repository.info'
127
136
  }
137
+ })
138
+ .state('product.repository.manage-content.debs', {
139
+ url: '/content/debs',
140
+ permission: 'view_products',
141
+ templateUrl: 'products/details/repositories/details/views/repository-manage-debs.html',
142
+ ncyBreadcrumb: {
143
+ label: "{{'Debs' | translate }}",
144
+ parent: 'product.repository.info'
145
+ }
128
146
  });
129
147
 
130
148
  $stateProvider.state('product.repository.tasks', {
@@ -38,8 +38,8 @@
38
38
  <div data-block="modal-body"
39
39
  translate
40
40
  translate-n="table.numSelected"
41
- translate-plural="Remove {{ table.numSelected }} repositories?">
42
- Are you sure you want to remove {{ table.getSelected()[0].name }}?
41
+ translate-plural="Are you sure you want to remove {{ table.getSelected().length }} repositories?">
42
+ Are you sure you want to remove the {{ table.getSelected()[0].name }} repository?
43
43
  </div>
44
44
  </div>
45
45
 
@@ -115,6 +115,12 @@
115
115
  </a>
116
116
  </div>
117
117
 
118
+ <div>
119
+ <span translate ng-show="repository.content_counts.srpm > 0">
120
+ {{ repository.content_counts.srpm }} Source RPMs
121
+ </span>
122
+ </div>
123
+
118
124
  <div>
119
125
  <a ui-sref="errata({repositoryId: repository.id})" translate>
120
126
  {{ repository.content_counts.erratum || 0 }} Errata
@@ -134,6 +140,11 @@
134
140
  {{ repository.content_counts.docker_manifest || 0 }} Docker Manifests
135
141
  </a>
136
142
  </div>
143
+ <div>
144
+ <a ui-sref="product.repository.manage-content.docker-manifest-lists({productId: product.id, repositoryId: repository.id})" translate>
145
+ {{ repository.content_counts.docker_manifest_list || 0 }} Docker Manifest Lists
146
+ </a>
147
+ </div>
137
148
  <div>
138
149
  <a ui-sref="product.repository.manage-content.docker-manifests({productId: product.id, repositoryId: repository.id})" translate>
139
150
  {{ repository.content_counts.docker_tag || 0 }} Docker Tags
@@ -157,6 +168,14 @@
157
168
  </div>
158
169
  </span>
159
170
 
171
+ <span ng-show="repository.content_type == 'deb'">
172
+ <div>
173
+ <a translate ui-sref="product.repository.manage-content.debs({productId: product.id, repositoryId: repository.id})">
174
+ {{ repository.content_counts.deb || 0 }} deb Packages
175
+ </a>
176
+ </div>
177
+ </span>
178
+
160
179
  </td>
161
180
  </tr>
162
181
  </tbody>
@@ -137,6 +137,8 @@ angular.module('Bastion.products').controller('DiscoveryController',
137
137
  };
138
138
 
139
139
  Organization.repoDiscover(params, function (task) {
140
+ // Hide pagination
141
+ $scope.table.resource['per_page'] = false;
140
142
  $scope.taskSearchId = Task.registerSearch({ 'type': 'task', 'task_id': task.id }, $scope.updateTask);
141
143
  });
142
144
  };
@@ -95,6 +95,14 @@ angular.module('Bastion.products').controller('ProductsController',
95
95
  ProductBulkAction.syncProducts(getBulkParams(), success, bulkError);
96
96
  };
97
97
 
98
+ $scope.goToDiscoveries = function () {
99
+ nutupane.table.rows = [];
100
+ nutupane.table.resource.results = [];
101
+ nutupane.table.resource.total = 0;
102
+ nutupane.table.resource.subtotal = 0;
103
+ $state.go("product-discovery.scan");
104
+ };
105
+
98
106
  $scope.openSyncPlanModal = function () {
99
107
  nutupane.invalidate();
100
108
  $uibModal.open({
@@ -15,7 +15,7 @@
15
15
  </button>
16
16
 
17
17
  <button type="button" class="btn btn-default"
18
- ui-sref="product-discovery.scan"
18
+ ng-click="goToDiscoveries()"
19
19
  bst-feature-flag="custom_products"
20
20
  ng-show="permitted('edit_products')">
21
21
  <span translate>Repo Discovery</span>
@@ -56,8 +56,8 @@
56
56
  <div data-block="modal-body"
57
57
  translate
58
58
  translate-n="table.getSelected().length"
59
- translate-plural="Are you sure you want to remove {{ table.getSelected().length }} products selected?">
60
- Are you sure you want to remove {{ table.getSelected()[0].name }}?
59
+ translate-plural="Are you sure you want to remove {{ table.getSelected().length }} products?">
60
+ Are you sure you want to remove the {{ table.getSelected()[0].name }} product?
61
61
  </div>
62
62
  </div>
63
63
  </li>
@@ -53,6 +53,6 @@ angular.module('Bastion.subscriptions').controller('SubscriptionDetailsControlle
53
53
  return "";
54
54
  };
55
55
 
56
- $scope.virtWhoToolTip = translate("If the virt-who field is Yes then the subscription requires the use of virt-who. Learn how to configure and use this tool at the <a href=\"https://access.redhat.com/articles/subscription-management-satellite-6\">Subscription Management Home Page</a>.");
56
+ $scope.virtWhoToolTip = translate("If the virt-who field is Yes then the subscription requires the use of virt-who. Learn how to configure and use this tool in the <a href=\"https://access.redhat.com/documentation/en/red-hat-satellite/6.2/single/virtual-instances-guide/\">Virtual Instances Guide</a>.");
57
57
  }]
58
58
  );
@@ -78,7 +78,7 @@
78
78
 
79
79
  <div bst-alert="info" ng-if="details.virt_who">
80
80
  <span translate>
81
- The uploaded manifest contains subscriptions that require the use of virt-who. Learn how to configure and use this tool at the <a href="https://access.redhat.com/articles/subscription-management-satellite-6">Subscription Management Home Page</a>.
81
+ The uploaded manifest contains subscriptions that require the use of virt-who. Learn how to configure and use this tool in the <a href="https://access.redhat.com/documentation/en/red-hat-satellite/6.2/single/virtual-instances-guide/">Virtual Instances Guide</a>.
82
82
  </span>
83
83
  </div>
84
84
  </section>
@@ -18,6 +18,7 @@ angular.module('Bastion.sync-plans').controller('NewSyncPlanController',
18
18
 
19
19
  $scope.syncPlan = new SyncPlan();
20
20
  $scope.syncPlan.interval = $scope.intervals[0].id;
21
+ $scope.syncPlan.startDate = new Date();
21
22
 
22
23
  function success(syncPlan) {
23
24
  $scope.working = false;
@@ -6,6 +6,7 @@
6
6
  @import "errata";
7
7
  @import "subscriptions";
8
8
  @import "host_subscriptions";
9
+ @import "docker";
9
10
 
10
11
  a {
11
12
  &.confined-text {
@@ -0,0 +1,16 @@
1
+ @import "bastion/variables";
2
+
3
+ .registry-image-tag {
4
+ border: 1px solid #ccc;
5
+ border-radius: 3px;
6
+ white-space: nowrap;
7
+ overflow: hidden;
8
+ background-color: #fff;
9
+ margin-left: 2px;
10
+ text-align: center;
11
+ font-weight: normal;
12
+ display: inline;
13
+ padding: 0 5px;
14
+ -webkit-border-radius: 3;
15
+ -moz-border-radius: 3;
16
+ }
@@ -20,6 +20,7 @@ module BastionKatello
20
20
  activation_keys
21
21
  content_hosts
22
22
  content_views
23
+ debs
23
24
  docker_tags
24
25
  files
25
26
  ostree_branches
@@ -3,10 +3,10 @@ module Katello
3
3
  isolate_namespace Katello
4
4
 
5
5
  initializer 'katello.selective_params_parser', :before => :build_middleware_stack do |app|
6
- require 'katello/params_parser_wrapper'
7
- app.middleware.swap(
8
- ActionDispatch::ParamsParser,
9
- Katello::ParamsParserWrapper,
6
+ require 'katello/prevent_json_parsing'
7
+ app.middleware.insert_after(
8
+ Rack::MethodOverride,
9
+ Katello::PreventJsonParsing,
10
10
  ->(env) { env['PATH_INFO'] =~ /consumers/ && env['PATH_INFO'] =~ /profile|packages/ }
11
11
  )
12
12
  end
@@ -28,8 +28,6 @@ module Katello
28
28
  :pulp => {
29
29
  :default_login => 'admin',
30
30
  :url => 'https://localhost/pulp/api/v2/',
31
- :oauth_key => 'katello',
32
- :oauth_secret => 'katello',
33
31
  :bulk_load_size => 100,
34
32
  :skip_checksum_validation => false,
35
33
  :upload_chunk_size => 1_048_575, # upload size in bytes to pulp. see SSLRenegBufferSize in apache
@@ -72,9 +72,9 @@ module Katello
72
72
  'katello/api/v2/content_view_puppet_modules' => [:index, :show, :auto_complete_search],
73
73
  'katello/api/v2/content_view_versions' => [:index, :show, :auto_complete_search],
74
74
  'katello/api/v2/content_view_components' => [:index, :show],
75
- 'katello/api/v2/package_groups' => [:index, :show],
76
- 'katello/api/v2/errata' => [:index, :show],
77
- 'katello/api/v2/puppet_modules' => [:index, :show],
75
+ 'katello/api/v2/package_groups' => [:index, :show, :auto_complete_search, :compare],
76
+ 'katello/api/v2/errata' => [:index, :show, :auto_complete_search, :compare, :available_errata],
77
+ 'katello/api/v2/puppet_modules' => [:index, :show, :auto_complete_search, :compare],
78
78
  'katello/content_views' => [:auto_complete, :auto_complete_search],
79
79
  'katello/errata' => [:short_details, :auto_complete],
80
80
  'katello/packages' => [:details, :auto_complete],
@@ -145,7 +145,7 @@ module Katello
145
145
  def gpg_key_permissions
146
146
  @plugin.permission :view_gpg_keys,
147
147
  {
148
- 'katello/api/v2/gpg_keys' => [:index, :show, :auto_complete_search]
148
+ 'katello/api/v2/gpg_keys' => [:index, :show, :content, :auto_complete_search]
149
149
  },
150
150
  :resource_type => 'Katello::GpgKey'
151
151
  @plugin.permission :create_gpg_keys,
@@ -155,7 +155,7 @@ module Katello
155
155
  :resource_type => 'Katello::GpgKey'
156
156
  @plugin.permission :edit_gpg_keys,
157
157
  {
158
- 'katello/api/v2/gpg_keys' => [:update, :content]
158
+ 'katello/api/v2/gpg_keys' => [:update, :set_content]
159
159
  },
160
160
  :resource_type => 'Katello::GpgKey'
161
161
  @plugin.permission :destroy_gpg_keys,
@@ -222,14 +222,16 @@ module Katello
222
222
  'katello/products' => [:auto_complete, :auto_complete_search],
223
223
  'katello/api/v2/products' => [:index, :show, :auto_complete_search],
224
224
  'katello/api/v2/repositories' => [:index, :show, :repository_types, :auto_complete_search, :cancel],
225
- 'katello/api/v2/packages' => [:index, :show, :auto_complete_search, :auto_complete_name, :auto_complete_arch],
226
- 'katello/api/v2/package_groups' => [:index, :show, :auto_complete_search],
227
- 'katello/api/v2/docker_manifests' => [:index, :show, :auto_complete_search],
228
- 'katello/api/v2/docker_tags' => [:index, :show, :auto_complete_search, :auto_complete_name],
229
- 'katello/api/v2/file_units' => [:index, :show, :auto_complete_search],
230
- 'katello/api/v2/ostree_branches' => [:index, :show, :auto_complete_search],
225
+ 'katello/api/v2/packages' => [:index, :show, :auto_complete_search, :auto_complete_name, :auto_complete_arch, :compare],
226
+ 'katello/api/v2/debs' => [:index, :show, :auto_complete_search],
227
+ 'katello/api/v2/package_groups' => [:index, :show, :auto_complete_search, :compare],
228
+ 'katello/api/v2/docker_manifests' => [:index, :show, :auto_complete_search, :compare],
229
+ 'katello/api/v2/docker_manifest_lists' => [:index, :show, :auto_complete_search, :compare],
230
+ 'katello/api/v2/docker_tags' => [:index, :show, :auto_complete_search, :auto_complete_name, :compare],
231
+ 'katello/api/v2/file_units' => [:index, :show, :auto_complete_search, :compare],
232
+ 'katello/api/v2/ostree_branches' => [:index, :show, :auto_complete_search, :compare],
231
233
  'katello/api/v2/errata' => [:index, :show, :auto_complete_search, :compare],
232
- 'katello/api/v2/puppet_modules' => [:index, :show, :auto_complete_search],
234
+ 'katello/api/v2/puppet_modules' => [:index, :show, :auto_complete_search, :compare],
233
235
  'katello/errata' => [:short_details, :auto_complete],
234
236
  'katello/packages' => [:details, :auto_complete],
235
237
  'katello/puppet_modules' => [:show],
@@ -42,6 +42,7 @@ Foreman::AccessControl.permission(:view_hosts).actions.concat [
42
42
  'katello/api/v2/host_subscriptions/index',
43
43
  'katello/api/v2/host_subscriptions/events',
44
44
  'katello/api/v2/host_subscriptions/product_content',
45
+ 'katello/api/v2/hosts_bulk_actions/applicable_errata',
45
46
  'katello/api/v2/hosts_bulk_actions/installable_errata',
46
47
  'katello/api/v2/hosts_bulk_actions/available_incremental_updates',
47
48
  'katello/api/v2/host_packages/index',
@@ -3,15 +3,8 @@ require 'katello/permission_creator'
3
3
  Foreman::Plugin.register :katello do
4
4
  requires_foreman '>= 1.16'
5
5
 
6
- sub_menu :top_menu, :content_menu, :caption => N_('Content'), :after => :monitor_menu do
7
- menu :top_menu,
8
- :environments,
9
- :caption => N_('Lifecycle Environments'),
10
- :url => '/lifecycle_environments',
11
- :url_hash => {:controller => 'katello/api/v2/environments',
12
- :action => 'index'},
13
- :engine => Katello::Engine,
14
- :turbolinks => false
6
+ sub_menu :top_menu, :content_menu, :caption => N_('Content'),
7
+ :icon => 'fa fa-book', :after => :monitor_menu do
15
8
  menu :top_menu,
16
9
  :red_hat_subscriptions,
17
10
  :caption => N_('Red Hat Subscriptions'),
@@ -20,16 +13,7 @@ Foreman::Plugin.register :katello do
20
13
  :action => 'index'},
21
14
  :engine => Katello::Engine,
22
15
  :turbolinks => false
23
- menu :top_menu,
24
- :activation_keys,
25
- :caption => N_('Activation Keys'),
26
- :url => '/activation_keys',
27
- :url_hash => {:controller => 'katello/api/v2/activation_keys',
28
- :action => 'index'},
29
- :engine => Katello::Engine,
30
- :turbolinks => false
31
16
 
32
- divider :top_menu, :parent => :content_menu
33
17
  menu :top_menu,
34
18
  :redhat_provider,
35
19
  :caption => N_('Red Hat Repositories'),
@@ -56,7 +40,15 @@ Foreman::Plugin.register :katello do
56
40
  :engine => Katello::Engine,
57
41
  :turbolinks => false
58
42
 
59
- divider :top_menu, :parent => :content_menu
43
+ menu :top_menu,
44
+ :sync_plans,
45
+ :caption => N_('Sync Plans'),
46
+ :url => '/sync_plans',
47
+ :url_hash => {:controller => 'katello/api/v2/sync_plans',
48
+ :action => 'index'},
49
+ :engine => Katello::Engine,
50
+ :turbolinks => false
51
+
60
52
  menu :top_menu,
61
53
  :sync_status,
62
54
  :caption => N_('Sync Status'),
@@ -65,16 +57,17 @@ Foreman::Plugin.register :katello do
65
57
  :engine => Katello::Engine,
66
58
  :turbolinks => false
67
59
 
60
+ divider :top_menu, :caption => N_('Lifecycle'), :parent => :content_menu
61
+
68
62
  menu :top_menu,
69
- :sync_plans,
70
- :caption => N_('Sync Plans'),
71
- :url => '/sync_plans',
72
- :url_hash => {:controller => 'katello/api/v2/sync_plans',
63
+ :environments,
64
+ :caption => N_('Lifecycle Environments'),
65
+ :url => '/lifecycle_environments',
66
+ :url_hash => {:controller => 'katello/api/v2/environments',
73
67
  :action => 'index'},
74
68
  :engine => Katello::Engine,
75
69
  :turbolinks => false
76
70
 
77
- divider :top_menu, :parent => :content_menu
78
71
  menu :top_menu,
79
72
  :content_views,
80
73
  :caption => N_('Content Views'),
@@ -84,30 +77,22 @@ Foreman::Plugin.register :katello do
84
77
  :engine => Katello::Engine,
85
78
  :turbolinks => false
86
79
 
87
- divider :top_menu, :parent => :content_menu
88
80
  menu :top_menu,
89
- :errata,
90
- :caption => N_('Errata'),
91
- :url => '/errata',
92
- :url_hash => {:controller => 'katello/api/v2/errata',
81
+ :activation_keys,
82
+ :caption => N_('Activation Keys'),
83
+ :url => '/activation_keys',
84
+ :url_hash => {:controller => 'katello/api/v2/activation_keys',
93
85
  :action => 'index'},
94
86
  :engine => Katello::Engine,
95
87
  :turbolinks => false
96
88
 
97
- menu :top_menu,
98
- :packages,
99
- :caption => N_('Packages'),
100
- :url => '/packages',
101
- :url_hash => {:controller => 'katello/api/v2/packages',
102
- :action => 'index'},
103
- :engine => Katello::Engine,
104
- :turbolinks => false
89
+ divider :top_menu, :caption => N_('Content Types'), :parent => :content_menu
105
90
 
106
91
  menu :top_menu,
107
- :puppet_modules,
108
- :caption => N_('Puppet Modules'),
109
- :url => '/puppet_modules',
110
- :url_hash => {:controller => 'katello/api/v2/puppet_modules',
92
+ :debs,
93
+ :caption => N_('Deb Packages'),
94
+ :url => '/debs',
95
+ :url_hash => {:controller => 'katello/api/v2/debs',
111
96
  :action => 'index'},
112
97
  :engine => Katello::Engine,
113
98
  :turbolinks => false
@@ -121,6 +106,15 @@ Foreman::Plugin.register :katello do
121
106
  :engine => Katello::Engine,
122
107
  :turbolinks => false
123
108
 
109
+ menu :top_menu,
110
+ :errata,
111
+ :caption => N_('Errata'),
112
+ :url => '/errata',
113
+ :url_hash => {:controller => 'katello/api/v2/errata',
114
+ :action => 'index'},
115
+ :engine => Katello::Engine,
116
+ :turbolinks => false
117
+
124
118
  menu :top_menu,
125
119
  :files,
126
120
  :caption => N_('Files'),
@@ -138,6 +132,24 @@ Foreman::Plugin.register :katello do
138
132
  :action => 'index'},
139
133
  :engine => Katello::Engine,
140
134
  :turbolinks => false
135
+
136
+ menu :top_menu,
137
+ :packages,
138
+ :caption => N_('Packages'),
139
+ :url => '/packages',
140
+ :url_hash => {:controller => 'katello/api/v2/packages',
141
+ :action => 'index'},
142
+ :engine => Katello::Engine,
143
+ :turbolinks => false
144
+
145
+ menu :top_menu,
146
+ :puppet_modules,
147
+ :caption => N_('Puppet Modules'),
148
+ :url => '/puppet_modules',
149
+ :url_hash => {:controller => 'katello/api/v2/puppet_modules',
150
+ :action => 'index'},
151
+ :engine => Katello::Engine,
152
+ :turbolinks => false
141
153
  end
142
154
 
143
155
  menu :top_menu,
@@ -148,7 +160,7 @@ Foreman::Plugin.register :katello do
148
160
  :action => 'index'},
149
161
  :engine => Katello::Engine,
150
162
  :parent => :hosts_menu,
151
- :after => :hosts,
163
+ :after => :newhost,
152
164
  :turbolinks => false
153
165
 
154
166
  menu :top_menu,
@@ -162,6 +174,15 @@ Foreman::Plugin.register :katello do
162
174
  :after => :content_hosts,
163
175
  :turbolinks => false
164
176
 
177
+ menu :labs_menu,
178
+ :experimental_ui,
179
+ :url => '/xui',
180
+ :url_hash => {:controller => 'katello/react',
181
+ :action => 'index'},
182
+ :caption => N_('Content Experimental UI'),
183
+ :parent => :lab_features_menu,
184
+ :turbolinks => false
185
+
165
186
  allowed_template_helpers :subscription_manager_configuration_url
166
187
  search_path_override("Katello") do |resource|
167
188
  "/#{Katello::Util::Model.model_to_controller_path(resource)}/auto_complete_search"
@@ -244,22 +265,30 @@ Foreman::Plugin.register :katello do
244
265
  'bastion/bastion/index_ie should have a permission that grants access'
245
266
  ])
246
267
 
247
- in_to_prepare do
248
- add_controller_action_scope(HostsController, :index) do |base_scope|
249
- base_scope
250
- .preload(:content_view, :lifecycle_environment, :subscription_facet)
251
- .preload(content_facet: [:bound_repositories, :content_view, :lifecycle_environment])
252
- end
253
-
254
- add_controller_action_scope(Api::V2::HostsController, :index) do |base_scope|
255
- base_scope
256
- .preload(:content_view, :lifecycle_environment, :subscription_facet)
257
- .preload(content_facet: [:bound_repositories, :content_view, :lifecycle_environment])
258
- end
268
+ add_controller_action_scope(HostsController, :index) do |base_scope|
269
+ base_scope
270
+ .preload(:content_view, :lifecycle_environment, :subscription_facet)
271
+ .preload(content_facet: [:bound_repositories, :content_view, :lifecycle_environment])
272
+ end
273
+
274
+ add_controller_action_scope(Api::V2::HostsController, :index) do |base_scope|
275
+ base_scope
276
+ .preload(:content_view, :lifecycle_environment, :subscription_facet)
277
+ .preload(content_facet: [:bound_repositories, :content_view, :lifecycle_environment])
259
278
  end
260
279
 
261
280
  register_info_provider Katello::Host::InfoProvider
262
281
 
263
282
  Katello::PermissionCreator.new(self).define
264
283
  add_all_permissions_to_default_roles
284
+
285
+ role 'Register hosts', [
286
+ :view_hostgroups, :view_activation_keys, :view_hosts,
287
+ :create_hosts, :edit_hosts, :destroy_hosts,
288
+ :view_content_views, :view_gpg_keys, :view_subscriptions,
289
+ :attach_subscriptions, :view_host_collections,
290
+ :view_organizations, :view_lifecycle_environments, :view_products,
291
+ :view_locations, :view_domains, :view_architectures,
292
+ :view_operatingsystems
293
+ ]
265
294
  end