katello 3.13.4 → 3.14.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 (412) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +25 -16
  3. data/app/controllers/katello/api/v2/activation_keys_controller.rb +26 -21
  4. data/app/controllers/katello/api/v2/ansible_collections_controller.rb +6 -0
  5. data/app/controllers/katello/api/v2/content_uploads_controller.rb +8 -2
  6. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +8 -1
  7. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
  8. data/app/controllers/katello/api/v2/errata_controller.rb +1 -1
  9. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +3 -3
  10. data/app/controllers/katello/api/v2/katello_ping_controller.rb +24 -0
  11. data/app/controllers/katello/api/v2/module_streams_controller.rb +21 -0
  12. data/app/controllers/katello/api/v2/package_groups_controller.rb +5 -0
  13. data/app/controllers/katello/api/v2/packages_controller.rb +16 -0
  14. data/app/controllers/katello/api/v2/repositories_controller.rb +7 -4
  15. data/app/controllers/katello/api/v2/srpms_controller.rb +1 -1
  16. data/app/controllers/katello/api/v2/subscriptions_controller.rb +5 -1
  17. data/app/controllers/katello/api/v2/sync_plans_controller.rb +7 -5
  18. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +36 -5
  19. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +12 -0
  20. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +55 -0
  21. data/app/lib/actions/katello/capsule_content/sync.rb +13 -64
  22. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +40 -0
  23. data/app/lib/actions/katello/content_view/publish.rb +0 -3
  24. data/app/lib/actions/katello/content_view_puppet_environment/destroy.rb +1 -3
  25. data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +21 -0
  26. data/app/lib/actions/katello/repository/create.rb +8 -0
  27. data/app/lib/actions/katello/repository/import_upload.rb +13 -12
  28. data/app/lib/actions/katello/repository/metadata_generate.rb +2 -2
  29. data/app/lib/actions/katello/repository/update.rb +9 -0
  30. data/app/lib/actions/katello/repository/upload_files.rb +4 -11
  31. data/app/lib/actions/pulp/consumer/sync_capsule.rb +4 -0
  32. data/app/lib/actions/pulp/orchestration/orphan_cleanup/remove_orphans.rb +16 -0
  33. data/app/lib/actions/pulp/orchestration/repository/refresh_repos.rb +25 -0
  34. data/app/lib/actions/pulp/orchestration/repository/smart_proxy_sync.rb +34 -0
  35. data/app/lib/actions/pulp/orchestration/repository/upload_content.rb +35 -0
  36. data/app/lib/actions/pulp/orphan_cleanup/remove_orphans.rb +15 -0
  37. data/app/lib/actions/{katello/capsule_content → pulp/orphan_cleanup}/remove_unneeded_repos.rb +2 -2
  38. data/app/lib/actions/pulp/repository/import_upload.rb +7 -11
  39. data/app/lib/actions/pulp3/abstract_async_task.rb +7 -7
  40. data/app/lib/actions/pulp3/capsule_content/generate_metadata.rb +32 -0
  41. data/app/lib/actions/pulp3/capsule_content/refresh_distribution.rb +31 -0
  42. data/app/lib/actions/pulp3/capsule_content/sync.rb +26 -0
  43. data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +20 -0
  44. data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +15 -15
  45. data/app/lib/actions/pulp3/orchestration/repository/create.rb +3 -1
  46. data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +36 -0
  47. data/app/lib/actions/pulp3/orchestration/repository/refresh_repos.rb +24 -0
  48. data/app/lib/actions/pulp3/orchestration/repository/sync.rb +1 -1
  49. data/app/lib/actions/pulp3/orchestration/repository/upload_content.rb +25 -0
  50. data/app/lib/actions/pulp3/orphan_cleanup/delete_orphan_repository_versions.rb +20 -0
  51. data/app/lib/actions/pulp3/orphan_cleanup/remove_unneeded_repos.rb +16 -0
  52. data/app/lib/actions/pulp3/repository/create_publication.rb +1 -5
  53. data/app/lib/actions/pulp3/repository/import_upload.rb +21 -0
  54. data/app/lib/actions/pulp3/repository/save_artifact.rb +19 -0
  55. data/app/lib/actions/pulp3/repository/save_version.rb +3 -2
  56. data/app/lib/actions/pulp3/repository/sync.rb +1 -1
  57. data/app/lib/actions/pulp3/repository/upload_file.rb +76 -0
  58. data/app/lib/katello/api/v2/rendering.rb +1 -2
  59. data/app/lib/katello/concerns/base_template_scope_extensions.rb +34 -2
  60. data/app/lib/katello/errors.rb +21 -0
  61. data/app/lib/katello/resources/candlepin/consumer.rb +0 -9
  62. data/app/lib/katello/resources/candlepin/owner.rb +0 -5
  63. data/app/lib/katello/resources/candlepin/product.rb +2 -6
  64. data/app/lib/katello/resources/registry.rb +25 -10
  65. data/app/lib/katello/util/filter_clause_generator.rb +1 -1
  66. data/app/lib/katello/util/module_stream_clause_generator.rb +49 -0
  67. data/app/lib/katello/util/package_clause_generator.rb +1 -1
  68. data/app/models/katello/ansible_collection.rb +5 -8
  69. data/app/models/katello/ansible_collection_tag.rb +8 -0
  70. data/app/models/katello/ansible_tag.rb +8 -0
  71. data/app/models/katello/concerns/host_managed_extensions.rb +16 -14
  72. data/app/models/katello/concerns/pulp_database_unit.rb +27 -4
  73. data/app/models/katello/concerns/search_by_repository_name.rb +4 -1
  74. data/app/models/katello/concerns/smart_proxy_extensions.rb +44 -20
  75. data/app/models/katello/content_view_docker_filter.rb +15 -2
  76. data/app/models/katello/content_view_filter.rb +28 -8
  77. data/app/models/katello/content_view_module_stream_filter.rb +14 -0
  78. data/app/models/katello/content_view_module_stream_filter_rule.rb +11 -0
  79. data/app/models/katello/content_view_package_filter.rb +18 -8
  80. data/app/models/katello/content_view_version.rb +7 -2
  81. data/app/models/katello/deb.rb +0 -8
  82. data/app/models/katello/docker_manifest.rb +0 -8
  83. data/app/models/katello/docker_manifest_list.rb +0 -8
  84. data/app/models/katello/docker_meta_tag.rb +38 -20
  85. data/app/models/katello/docker_tag.rb +22 -33
  86. data/app/models/katello/erratum.rb +10 -8
  87. data/app/models/katello/file_unit.rb +1 -13
  88. data/app/models/katello/glue/candlepin/owner.rb +0 -5
  89. data/app/models/katello/glue/candlepin/product.rb +1 -5
  90. data/app/models/katello/glue/pulp/repo.rb +1 -1
  91. data/app/models/katello/host/content_facet.rb +6 -0
  92. data/app/models/katello/host_collection.rb +4 -0
  93. data/app/models/katello/installed_package.rb +4 -0
  94. data/app/models/katello/module_stream.rb +1 -12
  95. data/app/models/katello/ostree_branch.rb +0 -7
  96. data/app/models/katello/package_group.rb +0 -7
  97. data/app/models/katello/ping.rb +10 -3
  98. data/app/models/katello/pool.rb +11 -1
  99. data/app/models/katello/puppet_module.rb +0 -7
  100. data/app/models/katello/repository.rb +15 -6
  101. data/app/models/katello/repository_docker_meta_tag.rb +7 -0
  102. data/app/models/katello/repository_docker_tag.rb +7 -0
  103. data/app/models/katello/repository_file_unit.rb +7 -0
  104. data/app/models/katello/rhsm_fact_name.rb +5 -1
  105. data/app/models/katello/rhsm_fact_parser.rb +17 -1
  106. data/app/models/katello/root_repository.rb +11 -6
  107. data/app/models/katello/rpm.rb +0 -8
  108. data/app/models/katello/srpm.rb +0 -8
  109. data/app/models/katello/upstream_pool.rb +2 -0
  110. data/app/models/katello/yum_metadata_file.rb +0 -4
  111. data/app/models/setting/content.rb +124 -128
  112. data/app/services/katello/candlepin/consumer.rb +0 -1
  113. data/app/services/katello/pulp/content.rb +11 -4
  114. data/app/services/katello/pulp/docker_tag.rb +0 -1
  115. data/app/services/katello/pulp/pulp_content_unit.rb +4 -0
  116. data/app/services/katello/pulp/repository.rb +53 -0
  117. data/app/services/katello/pulp/repository/file.rb +1 -1
  118. data/app/services/katello/pulp/repository/puppet.rb +8 -1
  119. data/app/services/katello/pulp/repository/yum.rb +42 -9
  120. data/app/services/katello/pulp/smart_proxy_repository.rb +13 -96
  121. data/app/services/katello/pulp3/ansible_collection.rb +7 -3
  122. data/app/services/katello/pulp3/content.rb +60 -0
  123. data/app/services/katello/pulp3/docker_blob.rb +1 -1
  124. data/app/services/katello/pulp3/docker_manifest.rb +1 -1
  125. data/app/services/katello/pulp3/docker_manifest_list.rb +1 -1
  126. data/app/services/katello/pulp3/docker_tag.rb +2 -2
  127. data/app/services/katello/pulp3/file_unit.rb +7 -1
  128. data/app/services/katello/pulp3/pulp_content_unit.rb +15 -5
  129. data/app/services/katello/pulp3/repository.rb +301 -24
  130. data/app/services/katello/pulp3/repository/ansible_collection.rb +5 -1
  131. data/app/services/katello/pulp3/repository/docker.rb +54 -9
  132. data/app/services/katello/pulp3/repository/file.rb +8 -0
  133. data/app/services/katello/pulp3/repository/yum.rb +61 -0
  134. data/app/services/katello/pulp3/smart_proxy_repository.rb +38 -0
  135. data/app/services/katello/repository_type_manager.rb +7 -0
  136. data/app/services/katello/smart_proxy_helper.rb +50 -0
  137. data/app/views/foreman/smart_proxies/_content_tab.html.erb +1 -1
  138. data/app/views/katello/api/v2/ansible_collections/base.json.rabl +5 -0
  139. data/app/views/katello/api/v2/ansible_collections/show.json.rabl +7 -0
  140. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +1 -0
  141. data/app/views/katello/api/v2/content_view_filter_rules/show.json.rabl +1 -1
  142. data/app/views/katello/api/v2/content_view_filters/base.json.rabl +5 -0
  143. data/app/views/katello/api/v2/content_view_filters/show.json.rabl +2 -1
  144. data/app/views/katello/api/v2/hosts_bulk_actions/erratum.json.rabl +2 -0
  145. data/app/views/katello/api/v2/{ping → katello_ping}/server_status.json.rabl +0 -0
  146. data/app/views/katello/api/v2/{ping → katello_ping}/show.json.rabl +0 -0
  147. data/app/views/katello/api/v2/{ping → katello_ping}/version.json.rabl +0 -0
  148. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -1
  149. data/app/views/katello/api/v2/subscription_facet/base.json.rabl +1 -1
  150. data/app/views/katello/api/v2/subscriptions/index.json.rabl +1 -0
  151. data/app/views/katello/api/v2/subscriptions/permissions.rabl +11 -0
  152. data/config/katello.yaml.example +9 -0
  153. data/config/routes.rb +2 -1
  154. data/config/routes/api/v2.rb +2 -2
  155. data/db/migrate/20180920214134_create_repository_root.rb +1 -1
  156. data/db/migrate/20190730183518_add_docker_tag_join_table.rb +25 -0
  157. data/db/migrate/20190730203334_add_docker_meta_tag_join_table.rb +25 -0
  158. data/db/migrate/20190814025338_create_content_view_module_stream_filter_rules.rb +13 -0
  159. data/db/migrate/20190816162733_rename_ansible_collection_whitelist_to_requirements.rb +5 -0
  160. data/db/migrate/20190822144300_add_ansible_fields.rb +18 -0
  161. data/db/migrate/20190912210927_rename_repository_file_unit.rb +12 -0
  162. data/engines/bastion/README.md +2 -2
  163. data/engines/bastion/app/assets/javascripts/bastion/components/bst-edit.directive.js +2 -1
  164. data/engines/bastion/app/assets/javascripts/bastion/components/nutupane.factory.js +20 -6
  165. data/engines/bastion/app/assets/javascripts/bastion/components/views/bst-modal.html +1 -1
  166. data/engines/bastion/app/assets/javascripts/bastion/layouts/partials/table.html +2 -1
  167. data/engines/bastion/app/assets/stylesheets/bastion/overrides.scss +1 -0
  168. data/engines/bastion/lib/bastion.rb +1 -0
  169. data/engines/bastion_katello/README.md +1 -2
  170. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +1 -4
  171. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ansible-collections/ansible-collections.factory.js +28 -0
  172. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ansible-collections/ansible-collections.module.js +15 -0
  173. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
  174. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +3 -0
  175. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +4 -0
  176. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +0 -6
  177. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-destroy-modal.html +3 -3
  178. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +2 -34
  179. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-repository-sets-modal.html +1 -1
  180. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register-client.directive.js +6 -0
  181. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +0 -11
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +1 -4
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +3 -1
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -3
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +2 -5
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +1 -4
  187. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +4 -16
  188. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
  189. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +1 -1
  190. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-client.html +13 -0
  191. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register.html +1 -13
  192. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +47 -5
  193. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +1 -1
  194. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +1 -1
  195. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +1 -1
  196. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-module-stream-filter.controller.js +68 -0
  197. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-helper.service.js +2 -1
  198. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-rule-matching-package-modal.controller.js +37 -0
  199. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filters.controller.js +4 -1
  200. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/module-stream-list-filter.controller.js +73 -0
  201. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/new-filter.controller.js +4 -1
  202. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +14 -1
  203. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter-details.html +3 -0
  204. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-details.html +0 -2
  205. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-repositories.html +5 -0
  206. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-rule-matching-package-modal.html +43 -0
  207. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filters.html +4 -0
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/module-stream-filter-details.html +41 -0
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/module-stream-filter.html +43 -0
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +4 -0
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.controller.js +1 -1
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/views/content-view-history.html +1 -1
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-deb-repositories.html +3 -3
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +1 -2
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/views/content-view-new.html +1 -1
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +3 -0
  217. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.controller.js +1 -1
  218. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-add-hosts.html +1 -1
  219. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-info.html +44 -35
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +1 -1
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +12 -0
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +5 -3
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +21 -3
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-ansible-collections.html +36 -0
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/download-policy.service.js +1 -1
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +24 -2
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +29 -15
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +9 -0
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +1 -1
  230. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +8 -0
  231. data/engines/bastion_katello/lib/bastion_katello/engine.rb +8 -8
  232. data/lib/katello/engine.rb +0 -4
  233. data/lib/katello/plugin.rb +19 -1
  234. data/lib/katello/repository_types/yum.rb +2 -0
  235. data/lib/katello/tasks/delete_orphaned_content.rake +1 -1
  236. data/lib/katello/tasks/reimport.rake +1 -1
  237. data/lib/katello/version.rb +1 -1
  238. data/package.json +9 -5
  239. data/webpack/__mocks__/foremanReact/common/helpers.js +4 -1
  240. data/webpack/__mocks__/foremanReact/components/PermissionDenied/index.js +2 -0
  241. data/webpack/components/Content/ContentPage.js +55 -0
  242. data/webpack/{scenes/ModuleStreams/ModuleStreamsTable.js → components/Content/ContentTable.js} +9 -8
  243. data/webpack/components/Content/Details/ContentDetailInfo.js +33 -0
  244. data/webpack/{scenes/ModuleStreams/Details/Repositories/ModuleStreamDetailRepositories.js → components/Content/Details/ContentDetailRepositories.js} +4 -4
  245. data/webpack/{scenes/ModuleStreams/Details/Repositories/TableSchema.js → components/Content/Details/ContentDetailRepositoryTableSchema.js} +1 -1
  246. data/webpack/components/Content/Details/ContentDetails.js +70 -0
  247. data/webpack/components/Content/Details/__tests__/ContentDetailInfo.test.js +28 -0
  248. data/webpack/components/Content/Details/__tests__/ContentDetailRepositories.test.js +22 -0
  249. data/webpack/components/Content/Details/__tests__/ContentDetails.test.js +64 -0
  250. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetailInfo.test.js.snap +39 -0
  251. data/webpack/{scenes/ModuleStreams/Details/Repositories/__tests__/__snapshots__/ModuleStreamDetailRepositories.test.js.snap → components/Content/Details/__tests__/__snapshots__/ContentDetailRepositories.test.js.snap} +3 -9
  252. data/webpack/components/Content/Details/__tests__/__snapshots__/ContentDetails.test.js.snap +137 -0
  253. data/webpack/components/Content/__tests__/ContentPage.test.js +36 -0
  254. data/webpack/components/Content/__tests__/ContentTable.test.js +40 -0
  255. data/webpack/components/Content/__tests__/__snapshots__/ContentPage.test.js.snap +70 -0
  256. data/webpack/components/Content/__tests__/__snapshots__/ContentTable.test.js.snap +33 -0
  257. data/webpack/components/Search/index.js +6 -7
  258. data/webpack/components/SelectOrg/SelectOrgAction.js +20 -22
  259. data/webpack/containers/Application/config.js +10 -0
  260. data/webpack/containers/Application/overrides.scss +5 -0
  261. data/webpack/move_to_foreman/common/helpers.js +1 -1
  262. data/webpack/move_to_foreman/components/common/table/components/TableSelectionCell.js +5 -2
  263. data/webpack/move_to_foreman/components/common/table/formatters/EntitlementsInlineEditFormatter.js +9 -2
  264. data/webpack/move_to_foreman/components/common/table/formatters/collapseableAndSelectionCellFormatter.js +2 -0
  265. data/webpack/move_to_foreman/components/common/table/formatters/selectionCellFormatter.js +3 -0
  266. data/webpack/move_to_pf/TypeAhead/TypeAhead.js +1 -0
  267. data/webpack/redux/OrganizationProducts/OrganizationProductsActions.js +10 -10
  268. data/webpack/redux/actions/RedHatRepositories/__tests__/enabled.test.js +39 -0
  269. data/webpack/redux/actions/RedHatRepositories/enabled.js +24 -24
  270. data/webpack/redux/actions/RedHatRepositories/helpers.js +5 -5
  271. data/webpack/redux/actions/RedHatRepositories/repositorySetRepositories.js +23 -22
  272. data/webpack/redux/actions/RedHatRepositories/sets.js +17 -21
  273. data/webpack/redux/reducers/RedHatRepositories/__tests__/enabled.test.js +1 -0
  274. data/webpack/redux/reducers/RedHatRepositories/__tests__/sets.test.js +1 -1
  275. data/webpack/redux/reducers/RedHatRepositories/enabled.fixtures.js +1 -0
  276. data/webpack/redux/reducers/RedHatRepositories/enabled.js +42 -33
  277. data/webpack/redux/reducers/RedHatRepositories/sets.fixtures.js +2 -1
  278. data/webpack/redux/reducers/RedHatRepositories/sets.js +2 -1
  279. data/webpack/redux/reducers/index.js +4 -0
  280. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsActions.js +30 -0
  281. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsConstants.js +3 -0
  282. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsPage.js +80 -0
  283. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsReducer.js +39 -0
  284. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsTableSchema.js +60 -0
  285. data/webpack/scenes/AnsibleCollections/AnsibleCollectionsTables.scss +0 -0
  286. data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetails.js +91 -0
  287. data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsActions.js +23 -0
  288. data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsConstants.js +3 -0
  289. data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsReducer.js +30 -0
  290. data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionsSchema.js +35 -0
  291. data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailInfo.test.js +16 -0
  292. data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetails.fixtures.js +25 -0
  293. data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetails.test.js +29 -0
  294. data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailsActions.test.js +41 -0
  295. data/webpack/scenes/AnsibleCollections/Details/__tests__/AnsibleCollectionDetailsReducer.test.js +33 -0
  296. data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetailInfo.test.js.snap +83 -0
  297. data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetails.test.js.snap +190 -0
  298. data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetailsActions.test.js.snap +54 -0
  299. data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetailsReducer.test.js.snap +50 -0
  300. data/webpack/scenes/AnsibleCollections/Details/index.js +17 -0
  301. data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionPage.test.js +25 -0
  302. data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollections.fixtures.js +52 -0
  303. data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsActions.test.js +48 -0
  304. data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsReducer.test.js +46 -0
  305. data/webpack/scenes/AnsibleCollections/__tests__/AnsibleCollectionsTable.test.js +27 -0
  306. data/webpack/scenes/AnsibleCollections/__tests__/__snapshots__/AnsibleCollectionPage.test.js.snap +73 -0
  307. data/webpack/scenes/AnsibleCollections/__tests__/__snapshots__/AnsibleCollectionsTable.test.js.snap +81 -0
  308. data/webpack/scenes/AnsibleCollections/index.js +17 -0
  309. data/webpack/scenes/ModuleStreams/Details/ModuleDetailsSchema.js +56 -0
  310. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +7 -71
  311. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsActions.js +9 -11
  312. data/webpack/scenes/ModuleStreams/Details/__tests__/ModuleStreamDetailInfo.test.js +5 -3
  313. data/webpack/scenes/ModuleStreams/Details/__tests__/__snapshots__/ModuleStreamDetails.test.js.snap +453 -507
  314. data/webpack/scenes/ModuleStreams/ModuleStreamsActions.js +10 -11
  315. data/webpack/scenes/ModuleStreams/ModuleStreamsPage.js +12 -33
  316. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamPage.test.js +2 -4
  317. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsActions.test.js +8 -9
  318. data/webpack/scenes/ModuleStreams/__tests__/ModuleStreamsTable.test.js +5 -3
  319. data/webpack/scenes/ModuleStreams/__tests__/__snapshots__/ModuleStreamPage.test.js.snap +83 -65
  320. data/webpack/scenes/ModuleStreams/__tests__/__snapshots__/ModuleStreamsTable.test.js.snap +1 -1
  321. data/webpack/scenes/Organizations/OrganizationActions.js +27 -32
  322. data/webpack/scenes/Organizations/__tests__/OrganizationActions.test.js +12 -12
  323. data/webpack/scenes/Organizations/__tests__/organizations.fixtures.js +1 -1
  324. data/webpack/scenes/Products/ProductActions.js +10 -10
  325. data/webpack/scenes/Products/__tests__/ProductActions.test.js +6 -6
  326. data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +118 -0
  327. data/webpack/scenes/RedHatRepositories/__tests__/RedHatRepositoriesPage.test.js +51 -0
  328. data/webpack/scenes/RedHatRepositories/__tests__/__snapshots__/RedHatRepositoriesPage.test.js.snap +117 -0
  329. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +44 -45
  330. data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/EnabledRepository.test.js +84 -5
  331. data/webpack/scenes/RedHatRepositories/components/RepositorySetRepository/RepositorySetRepository.js +46 -47
  332. data/webpack/scenes/RedHatRepositories/helpers.js +1 -1
  333. data/webpack/scenes/RedHatRepositories/index.js +2 -101
  334. data/webpack/scenes/Settings/Tables/TableActions.js +42 -43
  335. data/webpack/scenes/Settings/Tables/__tests__/TableActions.test.js +18 -18
  336. data/webpack/scenes/Subscriptions/Details/SubscriptionDetailActions.js +10 -10
  337. data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +7 -6
  338. data/webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetailActions.test.js +8 -8
  339. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +2 -2
  340. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +142 -113
  341. data/webpack/scenes/Subscriptions/Manifest/Manifest.scss +8 -0
  342. data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +40 -40
  343. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +24 -24
  344. data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +0 -199
  345. data/webpack/scenes/Subscriptions/SubscriptionActions.js +52 -46
  346. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +21 -2
  347. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +64 -42
  348. data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +3 -0
  349. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsActions.js +21 -21
  350. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsPage.js +20 -21
  351. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/UpstreamSubscriptionsTableSchema.js +1 -15
  352. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/UpstreamSubscriptionsActions.test.js +12 -13
  353. data/webpack/scenes/Subscriptions/UpstreamSubscriptions/__tests__/__snapshots__/UpstreamSubscriptionsPage.test.js.snap +11 -14
  354. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsActions.test.js +21 -23
  355. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +35 -1
  356. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +13 -0
  357. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +7 -0
  358. data/webpack/scenes/Subscriptions/__tests__/subscriptions.fixtures.js +18 -0
  359. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTable.js +5 -4
  360. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +26 -5
  361. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +9 -1
  362. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.fixtures.js +27 -2
  363. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTableHelpers.test.js +5 -4
  364. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +1 -0
  365. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Dialogs/UpdateDialog.js +9 -9
  366. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/components/Table.js +8 -3
  367. data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/SubscriptionsToolbar.js +28 -23
  368. data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +0 -135
  369. data/webpack/scenes/Subscriptions/index.js +2 -0
  370. data/webpack/scenes/Tasks/TaskActions.js +36 -31
  371. data/webpack/scenes/Tasks/__tests__/TaskActions.test.js +35 -47
  372. metadata +146 -67
  373. data/app/controllers/katello/api/v2/ping_controller.rb +0 -24
  374. data/app/lib/actions/katello/capsule_content/create_repos.rb +0 -30
  375. data/app/lib/actions/katello/capsule_content/remove_orphans.rb +0 -21
  376. data/app/lib/actions/pulp/repository/refresh_needed.rb +0 -37
  377. data/app/lib/katello/resources/candlepin/owner_info.rb +0 -18
  378. data/app/models/katello/glue/candlepin/owner_info.rb +0 -41
  379. data/app/models/katello/repository_file.rb +0 -7
  380. data/app/overrides/add_subscription_status.rb +0 -6
  381. data/app/views/overrides/hosts/_subscription_link.html.erb +0 -6
  382. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-events.controller.js +0 -17
  383. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-events.html +0 -30
  384. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/content-access-mode-banner.directive.js +0 -22
  385. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +0 -58
  386. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-product-details.controller.js +0 -12
  387. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-products.controller.js +0 -30
  388. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-details.html +0 -25
  389. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-info.html +0 -120
  390. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-products.html +0 -54
  391. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/grouped.filter.js +0 -21
  392. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest-details.controller.js +0 -34
  393. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest-history.controller.js +0 -18
  394. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest-import.controller.js +0 -261
  395. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest.controller.js +0 -16
  396. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-delete-modal.html +0 -19
  397. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-details.html +0 -46
  398. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import-history.html +0 -17
  399. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +0 -92
  400. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest.html +0 -33
  401. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-start-date.directive.js +0 -21
  402. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-type.directive.js +0 -16
  403. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptionAttachAmountFilter.filter.js +0 -16
  404. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.controller.js +0 -73
  405. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.routes.js +0 -110
  406. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +0 -5
  407. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +0 -2
  408. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-type.html +0 -18
  409. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions-delete-bulk.html +0 -4
  410. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions.html +0 -63
  411. data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailInfo.js +0 -52
  412. data/webpack/scenes/ModuleStreams/Details/Repositories/__tests__/ModuleStreamDetailRepositories.test.js +0 -16
@@ -78,7 +78,7 @@
78
78
  <th bst-table-column="repository_name" translate>Repository Name</th>
79
79
  <th bst-table-column="product_name" translate>Product Name</th>
80
80
  <th bst-table-column="repository_path" translate>Repository Path</th>
81
- <th bst-table-column="enabled" translate>Status</th>
81
+ <th bst-table-column="enabled" translate>Default Status</th>
82
82
  </tr>
83
83
  </thead>
84
84
 
@@ -0,0 +1,6 @@
1
+ angular.module('Bastion.content-hosts').directive('registerClient', function () {
2
+ return {
3
+ restrict: 'E',
4
+ templateUrl: 'content-hosts/views/register-client.html'
5
+ };
6
+ });
@@ -89,17 +89,6 @@ angular.module('Bastion.content-hosts').config(['$stateProvider', function ($sta
89
89
  }
90
90
  });
91
91
 
92
- $stateProvider.state('content-host.events', {
93
- url: '/events',
94
- permission: 'view_hosts',
95
- controller: 'ContentHostEventsController',
96
- templateUrl: 'content-hosts/details/views/content-host-events.html',
97
- ncyBreadcrumb: {
98
- label: "{{ 'Events' | translate }}",
99
- parent: 'content-host.info'
100
- }
101
- });
102
-
103
92
  $stateProvider.state('content-host.tasks', {
104
93
  abstract: true,
105
94
  template: '<div ui-view></div>'
@@ -22,10 +22,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostPackagesInstalled
22
22
 
23
23
  if (!$scope.working) {
24
24
  $scope.working = true;
25
- HostPackage.remove({
26
- id: $scope.host.id,
27
- packages: selected
28
- }, $scope.openEventInfo, $scope.errorHandler);
25
+ $scope.performPackageAction("packageRemove", selected.join(","));
29
26
  }
30
27
  };
31
28
 
@@ -63,7 +63,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostPackagesControlle
63
63
  };
64
64
 
65
65
  $scope.performViaRemoteExecution = function(actionType, term, customize) {
66
- $scope.packageActionFormValues.package = term;
66
+ var terms = term.split(/ *, */);
67
+ $scope.working = true;
68
+ $scope.packageActionFormValues.package = terms.join(' ');
67
69
  $scope.packageActionFormValues.remoteAction = actionType;
68
70
  $scope.packageActionFormValues.hostIds = $scope.host.id;
69
71
  $scope.packageActionFormValues.customize = customize;
@@ -24,9 +24,7 @@
24
24
  <div bst-feature-flag="remote_actions">
25
25
  <p bst-alert="info" ng-hide="host.content_facet_attributes.katello_agent_installed">
26
26
  <span translate>
27
- The katello-agent package is required to manage errata on this Host.
28
- Please install the katello-agent package to manage errata on
29
- {{ host.name }}.
27
+ If you are not using Remote Execution to manage content on this host, ensure that it has the katello-agent package installed.
30
28
  </span>
31
29
  </p>
32
30
  </div>
@@ -4,10 +4,7 @@
4
4
  <h4 translate>Package Actions</h4>
5
5
  <p bst-alert="info" ng-hide="host.content_facet_attributes.katello_agent_installed">
6
6
  <span translate>
7
- The katello-agent package is required to manage packages on this Host.
8
- Please install the katello-agent package to manage packages on
9
- {{ host.name }}. To install the package, connect directly to the
10
- host from a terminal and use yum.
7
+ If you are not using Remote Execution to manage content on this host, ensure that it has the katello-agent package installed.
11
8
  </span>
12
9
  </p>
13
10
  <section>
@@ -65,4 +62,4 @@
65
62
  </form>
66
63
  </div>
67
64
  </section>
68
- </section>
65
+ </section>
@@ -3,10 +3,7 @@
3
3
  <section ng-hide="denied('edit_hosts', host)" bst-feature-flag="remote_actions">
4
4
  <p bst-alert="info" ng-hide="host.content_facet_attributes.katello_agent_installed">
5
5
  <span translate>
6
- The katello-agent package is required to manage packages on this Host.
7
- Please install the katello-agent package to manage packages on
8
- {{ host.name }}. To install the package, connect directly to the
9
- host from a terminal and use yum.
6
+ If you are not using Remote Execution to manage content on this host, ensure that it has the katello-agent package installed.
10
7
  </span>
11
8
  </p>
12
9
  </section>
@@ -69,23 +69,11 @@
69
69
  </a>
70
70
  </li>
71
71
  <li uib-dropdown
72
- ng-class="{active: stateIncludes('content-host.subscriptions.list') || stateIncludes('content-host.subscriptions.add') || stateIncludes('content-host.events')}">
73
- <a uib-dropdown-toggle>
74
- <span translate>Subscriptions</span>
75
- <i class="fa fa-chevron-down"></i>
72
+ ng-class="{active: stateIncludes('content-host.subscriptions.list') || stateIncludes('content-host.subscriptions.add')}">
73
+ <a translate
74
+ ui-sref="content-host.subscriptions.list">
75
+ Subscriptions
76
76
  </a>
77
- <ul uib-dropdown-menu>
78
- <li>
79
- <a ui-sref="content-host.subscriptions.list" translate>
80
- Subscriptions
81
- </a>
82
- </li>
83
- <li>
84
- <a ui-sref="content-host.events" translate>
85
- Events
86
- </a>
87
- </li>
88
- </ul>
89
77
  </li>
90
78
  <li ng-class="{active: $state.includes('content-host.host-collections')}">
91
79
  <a translate
@@ -54,8 +54,8 @@
54
54
  </a>
55
55
  </dd>
56
56
 
57
- <dt translate>Registered Through</dt>
58
- <dd>{{ host.subscription_facet_attributes.registered_through || "Unknown" | translate}}</dd>
57
+ <dt ng-show="!host.subscription_facet_attributes.hypervisor || host.subscription_facet_attributes.registered_through" translate>Registered Through</dt>
58
+ <dd ng-show="!host.subscription_facet_attributes.hypervisor || host.subscription_facet_attributes.registered_through">{{ host.subscription_facet_attributes.registered_through | translate}}</dd>
59
59
 
60
60
  <dt ng-show="host.subscription_facet_attributes.virtual_host" translate>Virtual Host</dt>
61
61
  <dd ng-show="host.subscription_facet_attributes.virtual_host">
@@ -54,7 +54,7 @@
54
54
  <li class="divider"></li>
55
55
 
56
56
  <li role="menuitem" ng-show="permitted('destroy_hosts')" ng-class="{disabled: table.numSelected === 0}">
57
- <a ng-click="openModal()" disable-link="table.numSelected === 0" translate>Remove Hosts</a>
57
+ <a ng-click="openModal()" disable-link="table.numSelected === 0" translate>Delete Hosts</a>
58
58
  <span bst-modal="performDestroyHosts()" template-url="content-hosts/bulk/views/content-hosts-bulk-destroy-modal.html"></span>
59
59
  </li>
60
60
  </ul>
@@ -0,0 +1,13 @@
1
+ <li>
2
+ <p translate>Install client package:</p>
3
+
4
+ <p translate>To report package & errata information:</p>
5
+ <pre><code>yum -y install katello-host-tools</code></pre>
6
+
7
+ <p translate>To optionally report tracer information:</p>
8
+ <pre><code>yum -y install katello-host-tools-tracer</code></pre>
9
+
10
+ <p translate>For remote actions and reporting package & errata information:</p>
11
+ <pre><code>yum -y install katello-agent</code></pre>
12
+ <p translate>Learn more about these packages in the <a href="https://theforeman.org/plugins/katello/">Documentation</a> </p>
13
+ </li>
@@ -24,19 +24,7 @@
24
24
  <p translate>Using a username and password:</p>
25
25
  <pre><code>subscription-manager register --org="{{ organization.label }}" --environment="Library"</code></pre>
26
26
  </li>
27
- <li>
28
- <p translate>Install client package:</p>
29
-
30
- <p translate>To report package & errata information:</p>
31
- <pre><code>yum -y install katello-host-tools</code></pre>
32
-
33
- <p translate>To optionally report tracer information:</p>
34
- <pre><code>yum -y install katello-host-tools-tracer</code></pre>
35
-
36
- <p translate>For remote actions and reporting package & errata information:</p>
37
- <pre><code>yum -y install katello-agent</code></pre>
38
- <p translate>Learn more about these packages in the <a href="https://theforeman.org/plugins/katello/">Documentation</a> </p>
39
- </li>
27
+ <register-client />
40
28
  </ol>
41
29
  </div>
42
30
  </section>
@@ -318,7 +318,7 @@ angular.module('Bastion.content-views').config(['$stateProvider', function ($sta
318
318
  controller: 'ContentViewDebRepositoriesListController',
319
319
  templateUrl: 'content-views/details/views/content-view-deb-repositories.html',
320
320
  ncyBreadcrumb: {
321
- label: '{{ "Deb Repositories" | translate }}',
321
+ label: '{{ "Apt Repositories" | translate }}',
322
322
  parent: 'content-view.info'
323
323
  }
324
324
  })
@@ -328,7 +328,7 @@ angular.module('Bastion.content-views').config(['$stateProvider', function ($sta
328
328
  controller: 'ContentViewAvailableDebRepositoriesController',
329
329
  templateUrl: 'content-views/details/views/content-view-deb-repositories.html',
330
330
  ncyBreadcrumb: {
331
- label: '{{ "Add Deb Repositories" | translate }}',
331
+ label: '{{ "Add Apt Repositories" | translate }}',
332
332
  parent: 'content-view.info'
333
333
  }
334
334
  })
@@ -614,7 +614,6 @@ angular.module('Bastion.content-views').config(['$stateProvider', function ($sta
614
614
  parent: 'content-view.yum.filter.package_group.edit'
615
615
  }
616
616
  })
617
-
618
617
  .state('content-view.yum.filter.erratum', {
619
618
  abstract: true,
620
619
  url: '/filters/:filterId/errata',
@@ -660,7 +659,6 @@ angular.module('Bastion.content-views').config(['$stateProvider', function ($sta
660
659
  label: '{{ filter.name }}',
661
660
  parent: 'content-view.yum.filters'
662
661
  }
663
-
664
662
  })
665
663
  .state('content-view.yum.filter.erratum.repositories', {
666
664
  url: '/repositories',
@@ -672,7 +670,51 @@ angular.module('Bastion.content-views').config(['$stateProvider', function ($sta
672
670
  parent: 'content-view.yum.filter.erratum.edit'
673
671
  }
674
672
  })
675
-
673
+ .state('content-view.yum.filter.module-stream', {
674
+ abstract: true,
675
+ url: '/filters/:filterId/module-stream',
676
+ templateUrl: 'content-views/details/filters/views/module-stream-filter.html'
677
+ })
678
+ .state('content-view.yum.filter.module-stream.edit', {
679
+ url: '/edit',
680
+ controller: 'FilterEditController',
681
+ permission: 'edit_content_views',
682
+ templateUrl: 'content-views/details/filters/views/edit-filter.html',
683
+ ncyBreadcrumb: {
684
+ label: '{{ "Edit" | translate }} {{ filter.name }}',
685
+ parent: 'content-view.yum.filters'
686
+ }
687
+ })
688
+ .state('content-view.yum.filter.module-stream.list', {
689
+ url: '/list',
690
+ permission: 'view_content_views',
691
+ controller: 'ModuleStreamFilterListController',
692
+ templateUrl: 'content-views/details/filters/views/module-stream-filter-details.html',
693
+ ncyBreadcrumb: {
694
+ label: '{{ "Module Streams" | translate }}',
695
+ parent: 'content-view.yum.filter.module-stream.edit'
696
+ }
697
+ })
698
+ .state('content-view.yum.filter.module-stream.available', {
699
+ url: '/available',
700
+ permission: 'edit_content_views',
701
+ controller: 'AvailableModuleStreamFilterController',
702
+ templateUrl: 'content-views/details/filters/views/module-stream-filter-details.html',
703
+ ncyBreadcrumb: {
704
+ label: '{{ "Add Module Streams" | translate }}',
705
+ parent: 'content-view.yum.filter.module-stream.edit'
706
+ }
707
+ })
708
+ .state('content-view.yum.filter.module-stream.repositories', {
709
+ url: '/repositories',
710
+ permission: 'view_content_views',
711
+ controller: 'FilterRepositoriesController',
712
+ templateUrl: 'content-views/details/filters/views/filter-repositories.html',
713
+ ncyBreadcrumb: {
714
+ label: '{{ "Repositories | translate }}',
715
+ parent: 'content-view.yum.filter.module-stream.edit'
716
+ }
717
+ })
676
718
  .state('content-view.docker', {
677
719
  url: '/repositories/docker',
678
720
  abstract: true,
@@ -52,7 +52,7 @@
52
52
  ng-if="componentContentView.versions.length > 0"
53
53
  ng-model="componentContentView.versionId"
54
54
  ng-selected="latest"
55
- ng-options="cvv.id as cvv.version for cvv in availableVersions">
55
+ ng-options="cvv.id as cvv.version for cvv in availableVersions | orderBy: '-version'">
56
56
  </select>
57
57
  <span ng-if="componentContentView.versions.length === 0" ng-model="componentContentView.version" translate>Always Use Latest (Currently no versions)</span>
58
58
  </td>
@@ -44,7 +44,7 @@
44
44
  readonly="denied('edit_content_views', contentView)"
45
45
  selector="contentViewComponent.versionId"
46
46
  options="getAvailableVersions(contentViewComponent.content_view)"
47
- options-format="option.id as option.version for option in options"
47
+ options-format="option.id as option.version for option in options | orderBy: '-version'"
48
48
  on-save="saveContentViewComponent(contentViewComponent)"
49
49
  ng-if="contentViewComponent.content_view.version_count > 0">
50
50
  </span>
@@ -35,7 +35,7 @@ angular.module('Bastion.content-views').controller('ContentViewDetailsController
35
35
  $scope.taskTypes = {
36
36
  publish: "Actions::Katello::ContentView::Publish",
37
37
  promotion: "Actions::Katello::ContentView::Promote",
38
- deletion: "Actions::Katello::ContentView::Remove",
38
+ removal: "Actions::Katello::ContentView::Remove",
39
39
  incrementalUpdate: "Actions::Katello::ContentView::IncrementalUpdates",
40
40
  export: "Actions::Katello::ContentViewVersion::Export"
41
41
  };
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @ngdoc object
3
+ * @name Bastion.content-views.controller:AvailableModuleStreamFilterController
4
+ *
5
+ * @requires $scope
6
+ * @requires translate
7
+ * @requires ModuleStream
8
+ * @requires Rule
9
+ * @requires Nutupane
10
+ * @requires Notification
11
+ *
12
+ * @description
13
+ * Handles fetching module streams that are available to add to a filter and saving
14
+ * each selected module stream as a filter rule.
15
+ */
16
+ angular.module('Bastion.content-views').controller('AvailableModuleStreamFilterController',
17
+ ['$scope', 'translate', 'ModuleStream', 'Rule', 'Nutupane', 'Notification',
18
+ function ($scope, translate, ModuleStream, Rule, Nutupane, Notification) {
19
+ var nutupane;
20
+
21
+ $scope.nutupane = nutupane = new Nutupane(
22
+ ModuleStream,
23
+ {
24
+ filterId: $scope.$stateParams.filterId,
25
+ 'available_for': 'content_view_filter',
26
+ 'sort_order': 'ASC',
27
+ 'sort_by': 'name'
28
+ },
29
+ 'queryPaged'
30
+ );
31
+
32
+ function success(data) {
33
+ var rules;
34
+
35
+ if (data.results) {
36
+ rules = data.results;
37
+ } else {
38
+ rules = [data];
39
+ }
40
+
41
+ $scope.filter.rules = _.union($scope.filter.rules, rules);
42
+ Notification.setSuccessMessage(translate('Module Stream successfully added.'));
43
+ nutupane.table.selectAllResults(false);
44
+ nutupane.refresh();
45
+ }
46
+
47
+ function failure(response) {
48
+ Notification.setErrorMessage(response.data.displayMessage);
49
+ }
50
+
51
+ $scope.table = nutupane.table;
52
+ nutupane.table.closeItem = function () {};
53
+
54
+ function saveRules(rules, filter) {
55
+ var params = {filterId: filter.id};
56
+
57
+ return rules.$save(params, success, failure);
58
+ }
59
+
60
+ $scope.addModuleStreams = function (filter) {
61
+ var moduleStreams = nutupane.getAllSelectedResults().included.ids,
62
+ rules;
63
+ rules = new Rule({"module_stream_ids": moduleStreams});
64
+ nutupane.table.working = true;
65
+ saveRules(rules, filter);
66
+ };
67
+ }]
68
+ );
@@ -14,7 +14,8 @@ angular.module('Bastion.content-views').service('FilterHelper',
14
14
  'rpm': translate('RPM'),
15
15
  'erratum': translate('Errata'),
16
16
  'package_group': translate('Package Groups'),
17
- 'docker': translate('Container Image Tags')
17
+ 'docker': translate('Container Image Tags'),
18
+ 'modulemd': translate('Module Streams')
18
19
  };
19
20
 
20
21
  this.contentType = function (type) {
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @ngdoc object
3
+ * @name Bastion.content-views.controller:FilterRuleMatchingPackageModal
4
+ *
5
+ * @requires $scope
6
+ * @requires $location
7
+ * @requires $uibModalInstance
8
+ * @requires filterRuleId
9
+ * @requires Package
10
+ * @requires Nutupane
11
+ * @requires CurrentOrganization
12
+ *
13
+ * @description
14
+ * A controller for providing matching filter rule modal
15
+ */
16
+ angular.module('Bastion.content-views').controller('FilterRuleMatchingPackageModal',
17
+ ['$scope', '$location', '$uibModalInstance', 'filterRuleId', 'Package', 'Nutupane', 'CurrentOrganization',
18
+ function ($scope, $location, $uibModalInstance, filterRuleId, Package, Nutupane, CurrentOrganization) {
19
+
20
+ var nutupane, params = {
21
+ 'organization_id': CurrentOrganization,
22
+ 'content_view_filter_rule_id': filterRuleId,
23
+ 'search': $location.search().search || "",
24
+ 'paged': true
25
+ };
26
+
27
+ nutupane = $scope.nutupane = new Nutupane(Package, params);
28
+ $scope.nutupane.setSearchKey('filterRule' + filterRuleId + "Packages");
29
+ $scope.nutupane.setTableName('filterRule' + filterRuleId + "PackagesTable");
30
+ $scope.table = nutupane.table;
31
+
32
+ $scope.cancel = function () {
33
+ $uibModalInstance.close();
34
+ };
35
+ }
36
+ ]
37
+ );
@@ -31,7 +31,7 @@ angular.module('Bastion.content-views').controller('FiltersController',
31
31
  }
32
32
 
33
33
  if ($scope.stateIncludes('content-view.yum')) {
34
- filterTypes = ['rpm', 'package_group', 'erratum'];
34
+ filterTypes = ['rpm', 'package_group', 'erratum', 'modulemd'];
35
35
  } else {
36
36
  filterTypes = ['docker'];
37
37
  }
@@ -71,6 +71,9 @@ angular.module('Bastion.content-views').controller('FiltersController',
71
71
  case "rpm":
72
72
  state = "content-view.yum.filter.rpm({filterId: filter.id})";
73
73
  break;
74
+ case "modulemd":
75
+ state = "content-view.yum.filter.module-stream.list({filterId: filter.id})";
76
+ break;
74
77
  case "package_group":
75
78
  state = "content-view.yum.filter.package_group.list({filterId: filter.id})";
76
79
  break;