katello 3.5.0.rc1 → 3.5.0.rc2

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 (218) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/containers/container.js +6 -6
  3. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +2 -1
  4. data/app/assets/javascripts/katello/sync_management/sync_management.js +8 -6
  5. data/app/controllers/katello/api/v2/activation_keys_controller.rb +23 -16
  6. data/app/controllers/katello/api/v2/api_controller.rb +7 -2
  7. data/app/controllers/katello/api/v2/capsule_content_controller.rb +10 -2
  8. data/app/controllers/katello/api/v2/content_uploads_controller.rb +5 -5
  9. data/app/controllers/katello/api/v2/content_view_components_controller.rb +9 -9
  10. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +14 -16
  11. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +8 -8
  12. data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +7 -7
  13. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +12 -12
  14. data/app/controllers/katello/api/v2/content_views_controller.rb +5 -5
  15. data/app/controllers/katello/api/v2/errata_controller.rb +2 -2
  16. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +2 -2
  17. data/app/controllers/katello/api/v2/host_collections_controller.rb +7 -7
  18. data/app/controllers/katello/api/v2/host_errata_controller.rb +4 -4
  19. data/app/controllers/katello/api/v2/host_packages_controller.rb +5 -5
  20. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +9 -4
  21. data/app/controllers/katello/api/v2/host_tracer_controller.rb +1 -1
  22. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +9 -1
  23. data/app/controllers/katello/api/v2/organizations_controller.rb +17 -3
  24. data/app/controllers/katello/api/v2/packages_controller.rb +2 -2
  25. data/app/controllers/katello/api/v2/products_controller.rb +3 -3
  26. data/app/controllers/katello/api/v2/repositories_controller.rb +11 -11
  27. data/app/controllers/katello/api/v2/repository_sets_controller.rb +1 -10
  28. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +1 -1
  29. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +3 -3
  30. data/app/helpers/katello/providers_helper.rb +4 -1
  31. data/app/lib/actions/candlepin/abstract.rb +1 -0
  32. data/app/lib/actions/katello/host/hypervisors_update.rb +1 -0
  33. data/app/lib/actions/katello/host/update_release_version.rb +29 -0
  34. data/app/lib/actions/katello/product/create.rb +3 -6
  35. data/app/lib/actions/katello/product/reindex_subscriptions.rb +1 -1
  36. data/app/lib/actions/katello/repository/scheduled_sync.rb +15 -0
  37. data/app/lib/actions/katello/repository/upload_files.rb +4 -0
  38. data/app/lib/actions/middleware/keep_session_id.rb +29 -0
  39. data/app/lib/katello/resources/candlepin.rb +22 -5
  40. data/app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb +30 -0
  41. data/app/models/katello/activation_key.rb +3 -33
  42. data/app/models/katello/candlepin/product_content.rb +1 -14
  43. data/app/models/katello/concerns/content_facet_host_extensions.rb +5 -1
  44. data/app/models/katello/concerns/content_view_filter_rule_common.rb +13 -0
  45. data/app/models/katello/concerns/hostgroup_extensions.rb +1 -0
  46. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +2 -1
  47. data/app/models/katello/content_view_docker_filter_rule.rb +2 -1
  48. data/app/models/katello/content_view_erratum_filter_rule.rb +2 -1
  49. data/app/models/katello/content_view_package_filter_rule.rb +2 -1
  50. data/app/models/katello/content_view_package_group_filter_rule.rb +2 -1
  51. data/app/models/katello/erratum.rb +4 -5
  52. data/app/models/katello/glue/candlepin/owner.rb +32 -0
  53. data/app/models/katello/glue/pulp/repos.rb +1 -1
  54. data/app/models/katello/host/subscription_facet.rb +16 -0
  55. data/app/models/katello/repository.rb +2 -2
  56. data/app/models/katello/subscription.rb +4 -1
  57. data/app/models/katello/subscription_status.rb +8 -4
  58. data/app/presenters/katello/product_content_presenter.rb +7 -2
  59. data/app/services/katello/candlepin/consumer.rb +0 -28
  60. data/app/services/katello/product_content_finder.rb +37 -0
  61. data/app/views/foreman/smart_proxies/_content_sync.html.erb +0 -2
  62. data/app/views/katello/api/v2/activation_keys/base.json.rabl +34 -0
  63. data/app/views/katello/api/v2/activation_keys/index.json.rabl +4 -1
  64. data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +3 -3
  65. data/app/views/katello/api/v2/activation_keys/show.json.rabl +2 -38
  66. data/app/views/katello/api/v2/common/releases.json.rabl +7 -0
  67. data/config/routes/api/v2.rb +1 -0
  68. data/config/routes/overrides.rb +1 -0
  69. data/db/migrate/20171010170443_add_index_to_katello_content_facet_errata.rb +5 -0
  70. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-key.factory.js +1 -1
  71. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-host-collections.controller.js +8 -8
  72. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +5 -4
  73. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-copy.controller.js +3 -6
  74. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +7 -10
  75. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-host-collections.controller.js +7 -6
  76. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +5 -5
  77. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +5 -4
  78. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-host-collections-table.html +1 -3
  79. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +7 -5
  80. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.factory.js +1 -1
  81. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsules/capsule.factory.js +1 -1
  82. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/api-error-handler.service.js +6 -16
  83. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-environment-modal.controller.js +4 -4
  84. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +5 -5
  85. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +5 -5
  86. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +5 -5
  87. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-release-version-modal.controller.js +62 -0
  88. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js +4 -4
  89. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +4 -4
  90. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-release-version-modal.html +56 -0
  91. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +1 -1
  92. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-modal-helper.service.js +11 -0
  93. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +10 -9
  94. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +6 -4
  95. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +0 -2
  96. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +3 -6
  97. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +5 -4
  98. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-base-subscriptions.controller.js +5 -4
  99. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +0 -3
  100. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +8 -9
  101. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +10 -8
  102. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-repository-sets.controller.js +5 -5
  103. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +5 -4
  104. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-repository-sets.html +0 -2
  105. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +6 -0
  106. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-view.factory.js +1 -1
  107. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-deletion.controller.js +3 -3
  108. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-confirm.controller.js +5 -5
  109. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-component.factory.js +3 -3
  110. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +6 -6
  111. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +5 -5
  112. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +3 -3
  113. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +6 -6
  114. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +5 -5
  115. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +5 -5
  116. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +11 -5
  117. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/docker-tag-filter.controller.js +6 -6
  118. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/edit-filter.controller.js +4 -4
  119. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter-list.controller.js +5 -5
  120. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +6 -6
  121. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter.factory.js +1 -1
  122. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filters.controller.js +4 -4
  123. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/new-filter.controller.js +3 -3
  124. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +6 -6
  125. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-list-filter.controller.js +5 -5
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/rule.factory.js +1 -1
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.factory.js +1 -1
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +5 -5
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module.factory.js +1 -1
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +5 -5
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version.factory.js +1 -1
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifests/docker-manifest.factory.js +1 -1
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +0 -3
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-details.html +0 -2
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.factory.js +1 -1
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment.controller.js +5 -7
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environment.factory.js +1 -1
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/new-environment.controller.js +3 -6
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/new-environment.html +0 -2
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +9 -4
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +0 -3
  142. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/erratum.factory.js +1 -1
  143. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +0 -2
  144. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file.controller.js +0 -3
  145. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +1 -1
  146. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-details-info.controller.js +6 -5
  147. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-details.controller.js +4 -6
  148. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/gpg-key.factory.js +1 -1
  149. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/new/new-gpg-key.controller.js +6 -9
  150. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-add-hosts.controller.js +3 -3
  151. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-copy.controller.js +3 -6
  152. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-details.controller.js +13 -22
  153. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-hosts.controller.js +6 -5
  154. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-info.html +3 -3
  155. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collection.factory.js +1 -1
  156. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +2 -1
  157. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-erratum.factory.js +1 -1
  158. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-package.factory.js +1 -1
  159. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-subscription.factory.js +1 -1
  160. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces.factory.js +1 -1
  161. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host.factory.js +1 -1
  162. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization.factory.js +7 -5
  163. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branch.factory.js +1 -1
  164. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/package-groups/package-group.factory.js +1 -1
  165. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/package.factory.js +1 -1
  166. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +1 -1
  167. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-advanced-sync-modal.controller.js +5 -5
  168. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-sync-plan-modal.controller.js +6 -6
  169. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details-info.controller.js +5 -8
  170. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details.controller.js +6 -6
  171. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +15 -14
  172. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-advanced-sync.controller.js +6 -3
  173. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +9 -9
  174. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +5 -4
  175. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +7 -7
  176. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync.html +0 -2
  177. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +0 -2
  178. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +0 -2
  179. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-files.html +0 -2
  180. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-ostree-branches.html +0 -2
  181. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +0 -2
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +0 -2
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +5 -8
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +0 -2
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +2 -2
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +0 -20
  187. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-info.html +0 -1
  188. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery-create.controller.js +4 -6
  189. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +5 -8
  190. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-base.html +0 -2
  191. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/product-form.controller.js +3 -3
  192. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/product.factory.js +1 -1
  193. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +7 -7
  194. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module.controller.js +0 -3
  195. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-module.factory.js +1 -1
  196. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/repository-set.factory.js +1 -1
  197. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/settings/setting.factory.js +1 -1
  198. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +0 -3
  199. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-details.html +0 -2
  200. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest-import.controller.js +9 -9
  201. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +0 -2
  202. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.factory.js +4 -4
  203. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-add-products.controller.js +6 -8
  204. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-details-info.controller.js +5 -6
  205. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-details.controller.js +5 -5
  206. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-products.controller.js +8 -8
  207. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +0 -2
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-products.html +0 -2
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/new-sync-plan.controller.js +4 -4
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plan.factory.js +1 -1
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/task.factory.js +2 -2
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks.module.js +3 -3
  213. data/lib/katello/permission_creator.rb +3 -2
  214. data/lib/katello/permissions/host_permissions.rb +1 -0
  215. data/lib/katello/permissions/organization_permissions.rb +1 -0
  216. data/lib/katello/tasks/clean_installed_packages.rake +20 -3
  217. data/lib/katello/version.rb +1 -1
  218. metadata +17 -6
@@ -10,18 +10,16 @@
10
10
  * @requires Product
11
11
  * @requires CurrentOrganization
12
12
  * @requires Nutupane
13
+ * @requires Notification
13
14
  *
14
15
  * @description
15
16
  * Provides the functionality for the sync plan list products details action pane.
16
17
  */
17
18
  angular.module('Bastion.sync-plans').controller('SyncPlanProductsController',
18
- ['$scope', '$q', '$location', 'translate', 'SyncPlan', 'Product', 'CurrentOrganization', 'Nutupane',
19
- function ($scope, $q, $location, translate, SyncPlan, Product, CurrentOrganization, Nutupane) {
19
+ ['$scope', '$q', '$location', 'translate', 'SyncPlan', 'Product', 'CurrentOrganization', 'Nutupane', 'Notification',
20
+ function ($scope, $q, $location, translate, SyncPlan, Product, CurrentOrganization, Nutupane, Notification) {
20
21
  var productsNutupane, params;
21
22
 
22
- $scope.successMessages = [];
23
- $scope.errorMessages = [];
24
-
25
23
  $scope.table = {};
26
24
 
27
25
  params = {
@@ -49,8 +47,8 @@ angular.module('Bastion.sync-plans').controller('SyncPlanProductsController',
49
47
  };
50
48
 
51
49
  success = function (response) {
52
- $scope.successMessages = [translate('Removed %x products from sync plan "%y".')
53
- .replace('%x', $scope.table.numSelected).replace('%y', $scope.syncPlan.name)];
50
+ Notification.setSuccessMessage(translate('Removed %x products from sync plan "%y".')
51
+ .replace('%x', $scope.table.numSelected).replace('%y', $scope.syncPlan.name));
54
52
  $scope.table.working = false;
55
53
  $scope.table.selectAll(false);
56
54
  productsNutupane.refresh();
@@ -60,7 +58,9 @@ angular.module('Bastion.sync-plans').controller('SyncPlanProductsController',
60
58
 
61
59
  error = function (response) {
62
60
  deferred.reject(response.data.errors);
63
- $scope.errorMessages = response.data.errors;
61
+ angular.forEach(response.data.errors, function (responseError) {
62
+ Notification.setErrorMessage(responseError);
63
+ });
64
64
  $scope.table.working = false;
65
65
  };
66
66
 
@@ -1,7 +1,5 @@
1
1
  <span page-title ng-model="syncPlan">{{ 'Sync Plan:' | translate }} {{ syncPlan.name }}</span>
2
2
 
3
- <div bst-alerts success-messages="successMessages" error-messages="errorMessages"></div>
4
-
5
3
  <div class="row">
6
4
  <div class="col-sm-6">
7
5
  <h4 translate>Basic Information</h4>
@@ -1,7 +1,5 @@
1
1
  <span page-title ng-model="syncPlan">{{ 'Product Management for Sync Plan:' | translate }} {{ syncPlan.name }}</span>
2
2
 
3
- <div bst-alerts success-messages="successMessages" error-messages="errorMessages"></div>
4
-
5
3
  <nav>
6
4
  <ul class="nav nav-tabs nav-tabs-pf">
7
5
  <li ng-class="{active: isState('sync-plan.products.list')}">
@@ -6,14 +6,14 @@
6
6
  * @requires translate
7
7
  * @requires SyncPlan
8
8
  * @requires SyncPlanHelper
9
- * @requires GlobalNotification
9
+ * @requires Notification
10
10
  *
11
11
  * @description
12
12
  * Controls the creation of an empty SyncPlan object for use by sub-controllers.
13
13
  */
14
14
  angular.module('Bastion.sync-plans').controller('NewSyncPlanController',
15
- ['$scope', '$rootScope', 'translate', 'SyncPlan', 'SyncPlanHelper', 'GlobalNotification',
16
- function ($scope, $rootScope, translate, SyncPlan, SyncPlanHelper, GlobalNotification) {
15
+ ['$scope', '$rootScope', 'translate', 'SyncPlan', 'SyncPlanHelper', 'Notification',
16
+ function ($scope, $rootScope, translate, SyncPlan, SyncPlanHelper, Notification) {
17
17
  $scope.intervals = SyncPlanHelper.getIntervals();
18
18
 
19
19
  $scope.syncPlan = new SyncPlan();
@@ -22,7 +22,7 @@ angular.module('Bastion.sync-plans').controller('NewSyncPlanController',
22
22
  function success(syncPlan) {
23
23
  $scope.working = false;
24
24
  $scope.$state.go('sync-plan.info', {syncPlanId: syncPlan.id});
25
- GlobalNotification.setSuccessMessage(translate('New sync plan successfully created.'));
25
+ Notification.setSuccessMessage(translate('New sync plan successfully created.'));
26
26
  }
27
27
 
28
28
  function error(response) {
@@ -12,7 +12,7 @@ angular.module('Bastion.sync-plans').factory('SyncPlan',
12
12
  ['BastionResource', 'CurrentOrganization',
13
13
  function (BastionResource, CurrentOrganization) {
14
14
 
15
- return BastionResource('/katello/api/v2/organizations/:organizationId/sync_plans/:id/:action',
15
+ return BastionResource('katello/api/v2/organizations/:organizationId/sync_plans/:id/:action',
16
16
  {id: '@id', organizationId: CurrentOrganization}, {
17
17
  autocomplete: {method: 'GET', isArray: true, params: {id: 'auto_complete_search'}},
18
18
  update: { method: 'PUT' },
@@ -24,10 +24,10 @@ angular.module('Bastion.tasks').factory('Task',
24
24
  var bulkSearchRunning = false, searchIdGenerator = 0,
25
25
  searchParamsById = {}, callbackById = {}, pollCount = 0, maxPollInterval = 10000;
26
26
 
27
- var resource = BastionResource('/katello/api/v2/tasks/:id/:action',
27
+ var resource = BastionResource('katello/api/v2/tasks/:id/:action',
28
28
  {id: '@id', 'organization_id': CurrentOrganization}, {});
29
29
 
30
- var foremanTasksResource = BastionResource('/foreman_tasks/api/tasks/:id/:action',
30
+ var foremanTasksResource = BastionResource('foreman_tasks/api/tasks/:id/:action',
31
31
  {},
32
32
  {
33
33
  bulkSearch: {method: 'POST', isArray: true, params: { action: 'bulk_search'}}
@@ -28,19 +28,19 @@ angular.module('Bastion.tasks').config(['$stateProvider', function ($stateProvid
28
28
  templateUrl: 'tasks/views/tasks.html'
29
29
  })
30
30
  .state('tasks.index', {
31
- url: '/katello_tasks',
31
+ url: 'katello_tasks',
32
32
  permission: 'view_tasks',
33
33
  templateUrl: 'tasks/views/tasks-index.html'
34
34
  })
35
35
  .state('tasks.details', {
36
- url: '/katello_tasks/:taskId',
36
+ url: 'katello_tasks/:taskId',
37
37
  permission: 'view_tasks',
38
38
  collapsed: true,
39
39
  controller: 'TaskDetailsController',
40
40
  templateUrl: 'tasks/views/task-details-standalone.html'
41
41
  })
42
42
  .state('task', {
43
- url: '/katello_tasks/single/:taskId',
43
+ url: 'katello_tasks/single/:taskId',
44
44
  controller: 'TaskDetailsController',
45
45
  permission: 'view_tasks',
46
46
  templateUrl: 'tasks/views/task-details-standalone.html'
@@ -47,14 +47,15 @@ module Katello
47
47
  def capsule_content_permissions
48
48
  @plugin.permission :manage_capsule_content,
49
49
  {
50
- 'katello/api/v2/capsule_content' => [:lifecycle_environments, :available_lifecycle_environments, :add_lifecycle_environment, :remove_lifecycle_environment,
51
- :sync, :sync_status, :cancel_sync],
50
+ 'katello/api/v2/capsule_content' => [:add_lifecycle_environment, :remove_lifecycle_environment,
51
+ :sync, :cancel_sync],
52
52
  'katello/api/v2/capsules' => [:index, :show]
53
53
  },
54
54
  :resource_type => 'SmartProxy'
55
55
 
56
56
  @plugin.permission :view_capsule_content,
57
57
  {
58
+ 'katello/api/v2/capsule_content' => [:lifecycle_environments, :available_lifecycle_environments, :sync_status],
58
59
  'smart_proxies' => [:pulp_storage, :pulp_status, :show_with_content]
59
60
  },
60
61
  :resource_type => "SmartProxy"
@@ -24,6 +24,7 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
24
24
  'katello/api/v2/hosts_bulk_actions/auto_attach',
25
25
  'katello/api/v2/hosts_bulk_actions/content_overrides',
26
26
  'katello/api/v2/hosts_bulk_actions/environment_content_view',
27
+ 'katello/api/v2/hosts_bulk_actions/release_version',
27
28
  'katello/api/rhsm/candlepin_dynflow_proxy/upload_package_profile',
28
29
  'katello/api/rhsm/candlepin_proxies/regenerate_identity_certificates',
29
30
  'katello/api/rhsm/candlepin_proxies/hypervisors_update',
@@ -5,6 +5,7 @@ Foreman::AccessControl.permission(:view_organizations).actions.concat [
5
5
  'katello/api/v2/organizations/show',
6
6
  'katello/api/v2/organizations/redhat_provider',
7
7
  'katello/api/v2/organizations/download_debug_certificate',
8
+ 'katello/api/v2/organizations/releases',
8
9
  'katello/api/v2/tasks/index'
9
10
  ]
10
11
 
@@ -7,6 +7,8 @@ namespace :katello do
7
7
  cache = PackageCache.new
8
8
  cache.populate
9
9
 
10
+ puts "Cleaning katello_host_installed_packages table.."
11
+ cleaning_start = Time.now
10
12
  total = ::Host.count
11
13
  count = 1
12
14
  ::Host.find_each do |host|
@@ -23,17 +25,32 @@ namespace :katello do
23
25
  count += 1
24
26
  end
25
27
 
28
+ cleaning_total = sprintf('%.2f', Time.now - cleaning_start)
29
+ puts "katello_host_installed_packages table has been cleaned, total time was #{cleaning_total} seconds."
30
+ puts "Removing records from katello_installed_packages that are no longer referenced..."
31
+ cleaning_start = Time.now
32
+
26
33
  existing = Katello::HostInstalledPackage.select(:installed_package_id).uniq.pluck(:installed_package_id)
27
34
 
28
35
  batch = 20_000
29
36
  until Katello::InstalledPackage.where('id not in (?)', existing).limit(1).count == 0
30
- deleted = Katello::InstalledPackage.where('id not in (?)', existing).where("id < #{batch}").delete_all
31
- sleep(3) if deleted > 0
32
- puts "Batch of installed packages deleted, #{Katello::InstalledPackage.count} remaining in total"
37
+ begin
38
+ deleted = Katello::InstalledPackage.where('id not in (?)', existing).where("id < #{batch}").delete_all
39
+ sleep(3) if deleted > 0
40
+ puts "Inspected #{batch} records in katello_host_installed_packages to remove unreferenced entries in katello_installed_packages.."
41
+ rescue ActiveRecord::InvalidForeignKey
42
+ puts "Some records in batch #{batch} were unable to be removed. This is usually due to system registrations or updates that occurred after the script started."
43
+ puts "The script will now exit. Usually, simply re-running the script is sufficient to work through this issue."
44
+ raise
45
+ end
33
46
  batch += 20_000
34
47
  end
48
+ cleaning_total = sprintf('%.2f', Time.now - cleaning_start)
49
+ puts "katello_installed_packages table has been cleaned to remove unreferenced entries, total time was #{cleaning_total} seconds."
35
50
 
51
+ puts "Script is complete, setting installed package search to updated method. To disable this, set 'bulk query installed packages' to 'false' in Katello settings."
36
52
  Setting[:bulk_query_installed_packages] = true
53
+ puts "Done!"
37
54
  end
38
55
 
39
56
  class PackageCache
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "3.5.0.rc1".freeze
2
+ VERSION = "3.5.0.rc2".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: katello
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0.rc1
4
+ version: 3.5.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - N/A
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-22 00:00:00.000000000 Z
11
+ date: 2017-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -210,20 +210,20 @@ dependencies:
210
210
  requirements:
211
211
  - - ">="
212
212
  - !ruby/object:Gem::Version
213
- version: 5.0.5
213
+ version: 6.0.0
214
214
  - - "<"
215
215
  - !ruby/object:Gem::Version
216
- version: 6.0.0
216
+ version: 7.0.0
217
217
  type: :runtime
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
221
  - - ">="
222
222
  - !ruby/object:Gem::Version
223
- version: 5.0.5
223
+ version: 6.0.0
224
224
  - - "<"
225
225
  - !ruby/object:Gem::Version
226
- version: 6.0.0
226
+ version: 7.0.0
227
227
  - !ruby/object:Gem::Dependency
228
228
  name: factory_girl_rails
229
229
  requirement: !ruby/object:Gem::Requirement
@@ -636,6 +636,7 @@ files:
636
636
  - app/lib/actions/katello/host/update.rb
637
637
  - app/lib/actions/katello/host/update_content_overrides.rb
638
638
  - app/lib/actions/katello/host/update_content_view.rb
639
+ - app/lib/actions/katello/host/update_release_version.rb
639
640
  - app/lib/actions/katello/host/upload_package_profile.rb
640
641
  - app/lib/actions/katello/organization/auto_attach_subscriptions.rb
641
642
  - app/lib/actions/katello/organization/create.rb
@@ -678,6 +679,7 @@ files:
678
679
  - app/lib/actions/katello/repository/metadata_generate.rb
679
680
  - app/lib/actions/katello/repository/refresh_repository.rb
680
681
  - app/lib/actions/katello/repository/remove_content.rb
682
+ - app/lib/actions/katello/repository/scheduled_sync.rb
681
683
  - app/lib/actions/katello/repository/sync.rb
682
684
  - app/lib/actions/katello/repository/update.rb
683
685
  - app/lib/actions/katello/repository/upload_errata.rb
@@ -694,6 +696,7 @@ files:
694
696
  - app/lib/actions/middleware/candlepin_services_check.rb
695
697
  - app/lib/actions/middleware/execute_if_contents_changed.rb
696
698
  - app/lib/actions/middleware/keep_locale.rb
699
+ - app/lib/actions/middleware/keep_session_id.rb
697
700
  - app/lib/actions/middleware/propagate_candlepin_errors.rb
698
701
  - app/lib/actions/middleware/pulp_services_check.rb
699
702
  - app/lib/actions/middleware/record_fixtures.rb
@@ -803,6 +806,7 @@ files:
803
806
  - app/lib/katello/validators/content_view_filter_version_validator.rb
804
807
  - app/lib/katello/validators/content_view_puppet_module_validator.rb
805
808
  - app/lib/katello/validators/gpg_key_content_validator.rb
809
+ - app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb
806
810
  - app/lib/katello/validators/katello_label_format_validator.rb
807
811
  - app/lib/katello/validators/katello_name_format_validator.rb
808
812
  - app/lib/katello/validators/katello_url_format_validator.rb
@@ -838,6 +842,7 @@ files:
838
842
  - app/models/katello/capsule_lifecycle_environment.rb
839
843
  - app/models/katello/concerns/container_extensions.rb
840
844
  - app/models/katello/concerns/content_facet_host_extensions.rb
845
+ - app/models/katello/concerns/content_view_filter_rule_common.rb
841
846
  - app/models/katello/concerns/docker_container_wizard_state_extensions.rb
842
847
  - app/models/katello/concerns/environment_extensions.rb
843
848
  - app/models/katello/concerns/host_managed_extensions.rb
@@ -969,6 +974,7 @@ files:
969
974
  - app/services/katello/candlepin/consumer.rb
970
975
  - app/services/katello/candlepin/message_handler.rb
971
976
  - app/services/katello/event_queue.rb
977
+ - app/services/katello/product_content_finder.rb
972
978
  - app/services/katello/proxy_status/pulp.rb
973
979
  - app/services/katello/proxy_status/pulp_node.rb
974
980
  - app/services/katello/pulp/consumer.rb
@@ -1014,6 +1020,7 @@ files:
1014
1020
  - app/views/foreman_docker/containers/steps/_katello_container.html.erb
1015
1021
  - app/views/katello/api/v2/activation_keys/available_host_collections.json.rabl
1016
1022
  - app/views/katello/api/v2/activation_keys/available_releases.json.rabl
1023
+ - app/views/katello/api/v2/activation_keys/base.json.rabl
1017
1024
  - app/views/katello/api/v2/activation_keys/index.json.rabl
1018
1025
  - app/views/katello/api/v2/activation_keys/product_content.json.rabl
1019
1026
  - app/views/katello/api/v2/activation_keys/show.json.rabl
@@ -1031,6 +1038,7 @@ files:
1031
1038
  - app/views/katello/api/v2/common/create.json.rabl
1032
1039
  - app/views/katello/api/v2/common/destroy.json.rabl
1033
1040
  - app/views/katello/api/v2/common/index.json.rabl
1041
+ - app/views/katello/api/v2/common/releases.json.rabl
1034
1042
  - app/views/katello/api/v2/common/status.json.rabl
1035
1043
  - app/views/katello/api/v2/common/update.json.rabl
1036
1044
  - app/views/katello/api/v2/content_facet/base.json.rabl
@@ -1409,6 +1417,7 @@ files:
1409
1417
  - db/migrate/20170821170915_add_index_to_installed_packages.rb
1410
1418
  - db/migrate/20170821170916_add_nvra_index_to_installed_packages.rb
1411
1419
  - db/migrate/20170913183848_add_errata_counts.rb
1420
+ - db/migrate/20171010170443_add_index_to_katello_content_facet_errata.rb
1412
1421
  - db/seeds.d/101-locations.rb
1413
1422
  - db/seeds.d/102-organizations.rb
1414
1423
  - db/seeds.d/103-provisioning_templates.rb
@@ -1466,6 +1475,7 @@ files:
1466
1475
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js
1467
1476
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js
1468
1477
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js
1478
+ - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-release-version-modal.controller.js
1469
1479
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js
1470
1480
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js
1471
1481
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-destroy-modal.html
@@ -1473,6 +1483,7 @@ files:
1473
1483
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html
1474
1484
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-host-collections-modal.html
1475
1485
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html
1486
+ - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-release-version-modal.html
1476
1487
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-repository-sets-modal.html
1477
1488
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html
1478
1489
  - engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/errata-content-hosts.html