katello 4.10.0.rc2 → 4.11.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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/locale/bn/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/bn_IN/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/ca/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/cs/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/de/katello.js +260 -245
- data/app/assets/javascripts/katello/locale/de_AT/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/de_DE/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/el/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/en/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/en_GB/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/en_US/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/es/katello.js +257 -233
- data/app/assets/javascripts/katello/locale/et_EE/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/fr/katello.js +268 -268
- data/app/assets/javascripts/katello/locale/gl/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/gu/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/he_IL/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/hi/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/id/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/it/katello.js +254 -221
- data/app/assets/javascripts/katello/locale/ja/katello.js +268 -268
- data/app/assets/javascripts/katello/locale/ka/katello.js +261 -231
- data/app/assets/javascripts/katello/locale/kn/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/ko/katello.js +255 -222
- data/app/assets/javascripts/katello/locale/locale/katello.js +1049 -1012
- data/app/assets/javascripts/katello/locale/ml_IN/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/mr/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/nl_NL/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/or/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/pa/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/pl/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/pl_PL/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/pt/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/pt_BR/katello.js +257 -233
- data/app/assets/javascripts/katello/locale/ro/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/ro_RO/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/ru/katello.js +255 -222
- data/app/assets/javascripts/katello/locale/sl/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/sv_SE/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/ta/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/ta_IN/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/te/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/tr/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/vi/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/vi_VN/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/zh/katello.js +254 -215
- data/app/assets/javascripts/katello/locale/zh_CN/katello.js +268 -268
- data/app/assets/javascripts/katello/locale/zh_TW/katello.js +255 -222
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +15 -2
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +21 -4
- data/app/controllers/katello/api/v2/capsules_controller.rb +11 -1
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/docker_tags_controller.rb +2 -0
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +2 -1
- data/app/controllers/katello/api/v2/organizations_controller.rb +2 -2
- data/app/controllers/katello/api/v2/repositories_controller.rb +1 -0
- data/app/controllers/katello/api/v2/simple_content_access_controller.rb +5 -5
- data/app/controllers/katello/api/v2/sync_plans_controller.rb +11 -3
- data/app/controllers/katello/concerns/api/api_controller.rb +6 -0
- data/app/controllers/katello/concerns/api/v2/hosts_bulk_actions_controller_extensions.rb +23 -0
- data/app/controllers/katello/concerns/filtered_auto_complete_search.rb +1 -1
- data/app/controllers/katello/concerns/organizations_controller_extensions.rb +2 -0
- data/app/controllers/katello/remote_execution_controller.rb +1 -1
- data/app/jobs/create_host_lifecycle_expire_soon_notifications.rb +11 -0
- data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +10 -0
- data/app/lib/actions/katello/capsule_content/refresh_repos.rb +8 -2
- data/app/lib/actions/katello/capsule_content/sync.rb +30 -10
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +13 -0
- data/app/lib/actions/katello/capsule_content/update_content_counts.rb +24 -0
- data/app/lib/actions/katello/content_view/promote.rb +9 -0
- data/app/lib/actions/katello/content_view/publish.rb +9 -0
- data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +8 -0
- data/app/lib/actions/katello/repository/remove_content.rb +9 -1
- data/app/lib/actions/katello/repository/sync.rb +11 -0
- data/app/lib/actions/pulp3/capsule_content/reclaim_space.rb +5 -0
- data/app/lib/actions/pulp3/content_view_version/create_export_history.rb +6 -1
- data/app/lib/actions/pulp3/content_view_version/export.rb +8 -0
- data/app/lib/actions/pulp3/orchestration/content_view_version/export_repository.rb +1 -1
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +14 -1
- data/app/lib/katello/errors.rb +1 -0
- data/app/lib/katello/repo_discovery.rb +78 -5
- data/app/lib/katello/validators/content_view_environment_coherent_default_validator.rb +22 -0
- data/app/lib/katello/validators/content_view_environment_validator.rb +1 -0
- data/app/mailers/katello/task_mailer.rb +54 -0
- data/app/models/katello/concerns/host_managed_extensions.rb +41 -1
- data/app/models/katello/concerns/organization_extensions.rb +1 -1
- data/app/models/katello/concerns/smart_proxy_extensions.rb +75 -3
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +6 -0
- data/app/models/katello/content_view.rb +21 -0
- data/app/models/katello/content_view_environment.rb +6 -1
- data/app/models/katello/docker_meta_tag.rb +1 -1
- data/app/models/katello/docker_tag.rb +1 -1
- data/app/models/katello/erratum.rb +1 -1
- data/app/models/katello/host/content_facet.rb +10 -7
- data/app/models/katello/product.rb +8 -0
- data/app/models/katello/repository.rb +31 -6
- data/app/models/katello/rhel_lifecycle_status.rb +214 -0
- data/app/models/katello/sync_plan.rb +19 -1
- data/app/models/katello/yum_metadata_file.rb +1 -1
- data/app/services/katello/applicability/applicable_content_helper.rb +1 -1
- data/app/services/katello/event_queue.rb +10 -2
- data/app/services/katello/host_status_manager.rb +1 -0
- data/app/services/katello/product_content_importer.rb +45 -3
- data/app/services/katello/pulp3/ansible_collection.rb +1 -0
- data/app/services/katello/pulp3/api/core.rb +1 -1
- data/app/services/katello/pulp3/deb.rb +1 -0
- data/app/services/katello/pulp3/docker_manifest.rb +1 -0
- data/app/services/katello/pulp3/docker_manifest_list.rb +9 -4
- data/app/services/katello/pulp3/docker_tag.rb +1 -0
- data/app/services/katello/pulp3/erratum.rb +1 -0
- data/app/services/katello/pulp3/file_unit.rb +1 -0
- data/app/services/katello/pulp3/module_stream.rb +1 -0
- data/app/services/katello/pulp3/package_group.rb +1 -0
- data/app/services/katello/pulp3/pulp_content_unit.rb +39 -0
- data/app/services/katello/pulp3/repository_mirror.rb +21 -2
- data/app/services/katello/pulp3/rpm.rb +1 -0
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +1 -1
- data/app/services/katello/pulp3/srpm.rb +3 -2
- data/app/services/katello/registration_manager.rb +6 -3
- data/app/services/katello/repository_type.rb +2 -1
- data/app/services/katello/ui_notifications/hosts/lifecycle_expire_soon.rb +58 -0
- data/app/views/foreman/job_templates/resolve_traces.erb +1 -1
- data/app/views/foreman/smart_proxies/_content_tab.html.erb +1 -3
- data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +39 -1
- data/app/views/katello/api/v2/content_facet/show.json.rabl +4 -0
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -1
- data/app/views/katello/api/v2/docker_tags/_base.json.rabl +28 -6
- data/app/views/katello/hosts/_errata_counts.html.erb +2 -2
- data/app/views/katello/task_mailer/cv_promote_failure.html.erb +31 -0
- data/app/views/katello/task_mailer/cv_promote_failure.text.erb +13 -0
- data/app/views/katello/task_mailer/cv_publish_failure.html.erb +31 -0
- data/app/views/katello/task_mailer/cv_publish_failure.text.erb +13 -0
- data/app/views/katello/task_mailer/proxy_sync_failure.html.erb +45 -0
- data/app/views/katello/task_mailer/proxy_sync_failure.text.erb +25 -0
- data/app/views/katello/task_mailer/repo_sync_failure.html.erb +35 -0
- data/app/views/katello/task_mailer/repo_sync_failure.text.erb +15 -0
- data/app/views/overrides/organizations/_edit_override.html.erb +4 -0
- data/config/routes/api/v2.rb +2 -0
- data/db/migrate/20230825180856_add_content_counts_to_smart_proxy.rb +7 -0
- data/db/migrate/20231020153017_create_indexes_for_nvra_and_epoch.rb +6 -0
- data/db/seeds.d/106-mail_notifications.rb +32 -0
- data/db/seeds.d/109-katello-notification-blueprints.rb +6 -0
- data/engines/bastion/app/assets/javascripts/bastion/components/views/bst-alert.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-host-collections.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-copy.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-host-collections.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/new/new-activation-key.controller.js +6 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +16 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/rhel-lifecycle-notice.html +5 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/content-credentials.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-acs.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-products.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-repositories.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/new/new-content-credential.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +5 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-actions.controller.js +5 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-applicable.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-installed.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-module-streams.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-actions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-applicable.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-installed.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-module-streams.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-traces.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +5 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-repository-sets.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +4 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-host-collections.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-provisioning-info.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions-list.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +8 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +10 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-environments.controller.js +5 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-repositories.controller.js +6 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.controller.js +6 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment-content.controller.js +13 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment.controller.js +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/new-environment.controller.js +8 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-repositories.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum.controller.js +6 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-info.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.controller.js +5 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +10 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-repositories.controller.js +8 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +9 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-add-hosts.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-copy.controller.js +7 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-hosts.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/new-host-collection.controller.js +6 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host.factory.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +166 -43
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +5 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-advanced-sync.controller.js +6 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +11 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery-create.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/product-form.controller.js +6 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-add-products.controller.js +5 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-products.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/new-sync-plan.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/task-details.controller.js +6 -2
- data/lib/katello/engine.rb +2 -3
- data/lib/katello/permission_creator.rb +2 -2
- data/lib/katello/plugin.rb +4 -0
- data/lib/katello/repository_types/ostree.rb +1 -0
- data/lib/katello/repository_types/python.rb +1 -0
- data/lib/katello/scheduled_jobs.rb +1 -1
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +1 -3
- data/locale/bn/katello.po +236 -197
- data/locale/bn_IN/katello.po +236 -197
- data/locale/ca/LC_MESSAGES/katello.mo +0 -0
- data/locale/ca/katello.po +236 -197
- data/locale/cs/katello.po +236 -206
- data/locale/cs_CZ/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs_CZ/katello.po +236 -197
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +241 -202
- data/locale/de_AT/katello.po +236 -197
- data/locale/de_DE/katello.po +236 -197
- data/locale/el/katello.po +236 -197
- data/locale/en/katello.po +236 -197
- data/locale/en_GB/katello.po +236 -197
- data/locale/en_US/katello.po +236 -197
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +238 -199
- data/locale/et_EE/katello.po +236 -197
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +247 -208
- data/locale/gl/katello.po +236 -197
- data/locale/gu/katello.po +236 -197
- data/locale/he_IL/katello.po +236 -197
- data/locale/hi/katello.po +236 -197
- data/locale/id/katello.po +236 -197
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +236 -197
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +247 -208
- data/locale/ka/LC_MESSAGES/katello.mo +0 -0
- data/locale/ka/katello.po +241 -202
- data/locale/katello.pot +1427 -1296
- data/locale/kn/katello.po +236 -197
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +236 -197
- data/locale/ml_IN/katello.po +236 -197
- data/locale/mr/katello.po +236 -197
- data/locale/nl_NL/katello.po +236 -197
- data/locale/or/katello.po +236 -197
- data/locale/pa/katello.po +236 -197
- data/locale/pl/katello.po +236 -197
- data/locale/pl_PL/katello.po +236 -197
- data/locale/pt/katello.po +236 -197
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +238 -199
- data/locale/ro/katello.po +236 -197
- data/locale/ro_RO/katello.po +236 -197
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +236 -197
- data/locale/sl/katello.po +236 -197
- data/locale/sv_SE/katello.po +236 -197
- data/locale/ta/katello.po +236 -197
- data/locale/ta_IN/katello.po +236 -197
- data/locale/te/katello.po +236 -197
- data/locale/tr/katello.po +236 -197
- data/locale/vi/katello.po +236 -197
- data/locale/vi_VN/katello.po +236 -197
- data/locale/zh/katello.po +236 -197
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +247 -208
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +236 -197
- data/webpack/components/Table/EmptyStateMessage.js +7 -4
- data/webpack/components/Table/MainTable.scss +18 -17
- data/webpack/components/Table/TableWrapper.js +4 -1
- data/webpack/components/extensions/HostDetails/ActionsBar/index.js +45 -4
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +9 -7
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +1 -1
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeActions.js +29 -7
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.js +106 -66
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeCard.scss +6 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeEditModal.js +53 -29
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/SystemPurposeSelectors.js +7 -6
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeCard.test.js +24 -5
- data/webpack/components/extensions/HostDetails/Cards/SystemPurposeCard/__tests__/SystemPurposeEditModal.test.js +137 -7
- data/webpack/components/extensions/HostDetails/DetailsTabCards/HwPropertiesCard.js +11 -10
- data/webpack/components/extensions/HostDetails/DetailsTabCards/RegistrationCard.js +8 -2
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +27 -10
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/HostErrataActions.js +3 -22
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/HostErrataConstants.js +0 -1
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +3 -2
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +2 -2
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +48 -12
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +22 -10
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionHooks.js +1 -1
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +2 -2
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.js +71 -5
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/EnableTracerModal.scss +16 -0
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesEnabler.js +4 -1
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +6 -2
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +2 -1
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +25 -0
- data/webpack/components/extensions/Hosts/ActionsBar/index.js +36 -0
- data/webpack/components/extensions/Hosts/constants.js +2 -0
- data/webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageHelpers.js +13 -7
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +9 -1
- data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +87 -22
- data/webpack/components/extensions/RegistrationCommands/index.js +17 -41
- data/webpack/global_index.js +11 -2
- data/webpack/redux/reducers/RedHatRepositories/enabled.fixtures.js +4 -0
- data/webpack/redux/reducers/RedHatRepositories/enabled.js +1 -0
- data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.js +10 -1
- data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.scss +33 -31
- data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +3 -1
- data/webpack/scenes/Content/ContentConfig.js +3 -0
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +6 -4
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.scss +8 -6
- data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +1 -0
- data/webpack/scenes/ContentViews/Delete/Steps/CVEnvironmentSelectionForm.scss +4 -2
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +3 -4
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +2 -2
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +5 -5
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/compositeCVDetails.fixtures.json +393 -0
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +30 -4
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +3 -1
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVRpmMatchContentModal.js +18 -4
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/matchContentModal.scss +3 -0
- data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +15 -1
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +3 -3
- data/webpack/scenes/ContentViews/Details/Repositories/RepoIcon.js +2 -1
- data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareTable.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +1 -1
- data/webpack/scenes/ContentViews/Publish/CVPublishForm.js +24 -1
- data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +1 -0
- data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +42 -0
- data/webpack/scenes/ContentViews/Publish/cvPublishForm.scss +13 -11
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +2 -1
- data/webpack/scenes/ContentViews/__tests__/mockDetails.fixtures.json +2 -1
- data/webpack/scenes/Hosts/ChangeContentSource/index.js +4 -3
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetails.js +1 -2
- data/webpack/scenes/ModuleStreams/Details/__tests__/__snapshots__/ModuleStreamDetails.test.js.snap +1 -1
- data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +2 -1
- data/webpack/scenes/RedHatRepositories/__tests__/__snapshots__/RedHatRepositoriesPage.test.js.snap +6 -0
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +4 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepositoryContent.js +13 -4
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/EnabledRepositoryContent.test.js +1 -0
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/__snapshots__/EnabledRepository.test.js.snap +1 -0
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/__snapshots__/EnabledRepositoryContent.test.js.snap +3 -2
- data/webpack/scenes/SmartProxy/AdditionalCapsuleContent.js +93 -0
- data/webpack/scenes/SmartProxy/Content.js +12 -4
- data/webpack/scenes/SmartProxy/ExpandableCvDetails.js +107 -0
- data/webpack/scenes/SmartProxy/ExpandedSmartProxyRepositories.js +139 -0
- data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +17 -4
- data/webpack/scenes/SmartProxy/SmartProxyContentConstants.js +1 -0
- data/webpack/scenes/SmartProxy/SmartProxyExpandableTable.js +150 -0
- data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.fixtures.json +799 -0
- data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +29 -17
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.js +16 -19
- data/webpack/scenes/Subscriptions/Details/SubscriptionDetails.scss +12 -8
- data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +21 -18
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationForm.scss +4 -2
- data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.scss +38 -19
- data/webpack/scenes/Subscriptions/Manifest/index.js +0 -2
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +38 -12
- data/webpack/scenes/Subscriptions/SubscriptionsPage.scss +38 -36
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +16 -13
- data/webpack/utils/helpers.js +0 -1
- metadata +58 -39
- data/app/controllers/katello/concerns/api/v2/bulk_hosts_extensions.rb +0 -47
- data/webpack/components/Table/TableHooks.js +0 -315
- data/webpack/components/Table/__test__/useBulkSelect.test.js +0 -99
- data/webpack/components/extensions/RegistrationCommands/__tests__/LifeCycleEnvironment.test.js +0 -11
- data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/LifeCycleEnvironment.test.js.snap +0 -29
- data/webpack/components/extensions/RegistrationCommands/fields/LifecycleEnvironment.js +0 -57
- data/webpack/scenes/SmartProxy/SmartProxyContentTable.js +0 -164
- data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentResult.fixtures.json +0 -140
- data/webpack/scenes/Subscriptions/Manifest/Manifest.scss +0 -16
@@ -7,8 +7,11 @@
|
|
7
7
|
*
|
8
8
|
* @description
|
9
9
|
* For copying a host collection.
|
10
|
+
*
|
11
|
+
* @requires translate
|
12
|
+
*
|
10
13
|
*/
|
11
|
-
function ActivationKeyCopyController($scope, ActivationKey, Notification) {
|
14
|
+
function ActivationKeyCopyController($scope, ActivationKey, Notification, translate) {
|
12
15
|
$scope.copy = function (newName) {
|
13
16
|
ActivationKey.copy({id: $scope.activationKey.id, 'new_name': newName}, function (response) {
|
14
17
|
$scope.transitionTo('activation-key.info', {activationKeyId: response.id});
|
@@ -16,12 +19,14 @@
|
|
16
19
|
Notification.setErrorMessage(response.data.displayMessage);
|
17
20
|
});
|
18
21
|
};
|
22
|
+
// Labels so breadcrumb strings can be translated
|
23
|
+
$scope.label = translate('Create Copy');
|
19
24
|
}
|
20
25
|
|
21
26
|
angular
|
22
27
|
.module('Bastion.activation-keys')
|
23
28
|
.controller('ActivationKeyCopyController', ActivationKeyCopyController);
|
24
29
|
|
25
|
-
ActivationKeyCopyController.$inject = ['$scope', 'ActivationKey', 'Notification'];
|
30
|
+
ActivationKeyCopyController.$inject = ['$scope', 'ActivationKey', 'Notification', 'translate'];
|
26
31
|
|
27
32
|
})();
|
@@ -26,6 +26,9 @@ angular.module('Bastion.activation-keys').controller('ActivationKeyHostCollectio
|
|
26
26
|
'full_result': true
|
27
27
|
};
|
28
28
|
|
29
|
+
// Labels so breadcrumb strings can be translated
|
30
|
+
$scope.label = translate('List Host Collections');
|
31
|
+
|
29
32
|
hostCollectionsPane = new Nutupane(ActivationKey, params, 'hostCollections');
|
30
33
|
$scope.controllerName = 'katello_host_collections';
|
31
34
|
$scope.table = hostCollectionsPane.table;
|
@@ -18,6 +18,9 @@ angular.module('Bastion.activation-keys').controller('ActivationKeyRepositorySet
|
|
18
18
|
function ($scope, translate, Nutupane, ActivationKey, RepositorySet, ContentOverrideHelper, Notification) {
|
19
19
|
var params, saveContentOverride, success, error;
|
20
20
|
|
21
|
+
// Labels so breadcrumb strings can be translated
|
22
|
+
$scope.label = translate('Repository Sets');
|
23
|
+
|
21
24
|
params = {
|
22
25
|
'activation_key_id': $scope.$stateParams.activationKeyId,
|
23
26
|
'content_access_mode_all': $scope.simpleContentAccessEnabled,
|
@@ -25,6 +25,9 @@ angular.module('Bastion.activation-keys').controller('ActivationKeySubscriptions
|
|
25
25
|
'paged': true
|
26
26
|
};
|
27
27
|
|
28
|
+
// Labels so breadcrumb strings can be translated
|
29
|
+
$scope.label = translate('List Subscriptions');
|
30
|
+
|
28
31
|
$scope.contentNutupane = new Nutupane(ActivationKey, params, "subscriptions");
|
29
32
|
$scope.controllerName = 'katello_subscriptions';
|
30
33
|
$scope.table = $scope.contentNutupane.table;
|
@@ -9,18 +9,22 @@
|
|
9
9
|
* @requires Organization
|
10
10
|
* @requires CurrentOrganization
|
11
11
|
* @requires ContentView
|
12
|
+
* @requires translate
|
12
13
|
*
|
13
14
|
* @description
|
14
15
|
* Controls the creation of an empty ActivationKey object for use by sub-controllers.
|
15
16
|
*/
|
16
17
|
angular.module('Bastion.activation-keys').controller('NewActivationKeyController',
|
17
|
-
['$scope', '$q', 'FormUtils', 'ActivationKey', 'Organization', 'CurrentOrganization', 'ContentView',
|
18
|
-
function ($scope, $q, FormUtils, ActivationKey, Organization, CurrentOrganization, ContentView) {
|
18
|
+
['$scope', '$q', 'FormUtils', 'ActivationKey', 'Organization', 'CurrentOrganization', 'ContentView', 'translate',
|
19
|
+
function ($scope, $q, FormUtils, ActivationKey, Organization, CurrentOrganization, ContentView, translate) {
|
19
20
|
|
20
21
|
function success() {
|
21
22
|
$scope.transitionTo('activation-key.info', {activationKeyId: $scope.activationKey.id});
|
22
23
|
}
|
23
24
|
|
25
|
+
// Labels so breadcrumb strings can be translated
|
26
|
+
$scope.label = translate('New Activation Key');
|
27
|
+
|
24
28
|
function error(response) {
|
25
29
|
$scope.working = false;
|
26
30
|
angular.forEach(response.data.errors, function (errors, field) {
|
@@ -111,12 +111,27 @@ angular.module('Bastion.capsule-content').controller('CapsuleContentController',
|
|
111
111
|
}
|
112
112
|
Notification.setErrorMessage(translate('Last sync failed: ') + errorMessage);
|
113
113
|
}
|
114
|
+
} else if (syncStatus['last_failed_reclaim_tasks'].length > 0) {
|
115
|
+
activeOrFailedTask = pickLastTask(syncStatus['last_failed_reclaim_tasks']);
|
116
|
+
$scope.syncTask = activeOrFailedTask;
|
117
|
+
errorCount = $scope.syncTask.humanized.errors.length;
|
118
|
+
|
119
|
+
if (errorCount > 0) {
|
120
|
+
errorMessage = $scope.syncTask.humanized.errors[0];
|
121
|
+
if (errorCount > 2) {
|
122
|
+
errorMessage += " " + translate("Plus %y more errors").replace("%y", errorCount - 1);
|
123
|
+
} else if (errorCount > 1) {
|
124
|
+
errorMessage += " " + translate("Plus 1 more error");
|
125
|
+
}
|
126
|
+
Notification.setErrorMessage(translate('Last reclaim failed: ') + errorMessage);
|
127
|
+
}
|
114
128
|
}
|
115
129
|
$scope.syncState.set(stateFromTask(activeOrFailedTask));
|
116
130
|
}, function (response) {
|
117
131
|
$scope.syncStatus = {
|
118
132
|
'active_sync_tasks': [],
|
119
|
-
'last_failed_sync_tasks': []
|
133
|
+
'last_failed_sync_tasks': [],
|
134
|
+
'last_failed_reclaim_tasks': []
|
120
135
|
};
|
121
136
|
processError(response, translate('Last sync failed: '));
|
122
137
|
});
|
@@ -7,6 +7,7 @@
|
|
7
7
|
* @requires Nutupane
|
8
8
|
* @requires ContentCredential
|
9
9
|
* @requires CurrentOrganization
|
10
|
+
* @requires translate
|
10
11
|
*
|
11
12
|
* @description
|
12
13
|
* Provides the functionality specific to ContentCredentials for use with the Nutupane UI pattern.
|
@@ -14,8 +15,8 @@
|
|
14
15
|
* within the table.
|
15
16
|
*/
|
16
17
|
angular.module('Bastion.content-credentials').controller('ContentCredentialsController',
|
17
|
-
['$scope', '$location', 'Nutupane', 'ContentCredential', 'CurrentOrganization',
|
18
|
-
function ($scope, $location, Nutupane, ContentCredential, CurrentOrganization) {
|
18
|
+
['$scope', '$location', 'Nutupane', 'ContentCredential', 'CurrentOrganization', 'translate',
|
19
|
+
function ($scope, $location, Nutupane, ContentCredential, CurrentOrganization, translate) {
|
19
20
|
var params = {
|
20
21
|
'organization_id': CurrentOrganization,
|
21
22
|
'search': $location.search().search || "",
|
@@ -25,6 +26,10 @@ angular.module('Bastion.content-credentials').controller('ContentCredentialsCont
|
|
25
26
|
};
|
26
27
|
|
27
28
|
var nutupane = new Nutupane(ContentCredential, params);
|
29
|
+
|
30
|
+
// Labels so breadcrumb strings can be translated
|
31
|
+
$scope.label = translate('Content Credential');
|
32
|
+
|
28
33
|
$scope.controllerName = 'katello_content_credentials';
|
29
34
|
$scope.table = nutupane.table;
|
30
35
|
$scope.panel = {loading: false};
|
@@ -6,16 +6,21 @@
|
|
6
6
|
* @requires Nutupane
|
7
7
|
* @requires ContentCredential
|
8
8
|
* @requires ApiErrorHandler
|
9
|
+
* @requires translate
|
9
10
|
*
|
10
11
|
* @description
|
11
12
|
* Page for Content Credential acs
|
12
13
|
*/
|
13
14
|
(function () {
|
14
|
-
function ContentCredentialACSController($scope, Nutupane, ContentCredential, ApiErrorHandler) {
|
15
|
+
function ContentCredentialACSController($scope, Nutupane, ContentCredential, ApiErrorHandler, translate) {
|
15
16
|
var nutupane = new Nutupane(ContentCredential, {
|
16
17
|
id: $scope.$stateParams.contentCredentialId
|
17
18
|
}, 'acs');
|
18
19
|
$scope.controllerName = 'katello_content_credentials';
|
20
|
+
|
21
|
+
// Labels so breadcrumb strings can be translated
|
22
|
+
$scope.label = translate('Alternate Content Sources');
|
23
|
+
|
19
24
|
nutupane.primaryOnly = true;
|
20
25
|
|
21
26
|
$scope.panel = $scope.panel || {error: false, loading: false};
|
@@ -32,5 +37,5 @@
|
|
32
37
|
}
|
33
38
|
|
34
39
|
angular.module('Bastion.content-credentials').controller('ContentCredentialACSController', ContentCredentialACSController);
|
35
|
-
ContentCredentialACSController.$inject = ['$scope', 'Nutupane', 'ContentCredential', 'ApiErrorHandler'];
|
40
|
+
ContentCredentialACSController.$inject = ['$scope', 'Nutupane', 'ContentCredential', 'ApiErrorHandler', 'translate'];
|
36
41
|
})();
|
@@ -6,16 +6,21 @@
|
|
6
6
|
* @requires Nutupane
|
7
7
|
* @requires ContentCredential
|
8
8
|
* @requires ApiErrorHandler
|
9
|
+
* @requires translate
|
9
10
|
*
|
10
11
|
* @description
|
11
12
|
* Page for Content Credential products
|
12
13
|
*/
|
13
14
|
(function () {
|
14
|
-
function ContentCredentialProductsController($scope, Nutupane, ContentCredential, ApiErrorHandler) {
|
15
|
+
function ContentCredentialProductsController($scope, Nutupane, ContentCredential, ApiErrorHandler, translate) {
|
15
16
|
var nutupane = new Nutupane(ContentCredential, {
|
16
17
|
id: $scope.$stateParams.contentCredentialId
|
17
18
|
}, 'products');
|
18
19
|
$scope.controllerName = 'katello_content_credentials';
|
20
|
+
|
21
|
+
// Labels so breadcrumb strings can be translated
|
22
|
+
$scope.label = translate('Products');
|
23
|
+
|
19
24
|
nutupane.primaryOnly = true;
|
20
25
|
|
21
26
|
$scope.panel = $scope.panel || {error: false, loading: false};
|
@@ -32,5 +37,5 @@
|
|
32
37
|
}
|
33
38
|
|
34
39
|
angular.module('Bastion.content-credentials').controller('ContentCredentialProductsController', ContentCredentialProductsController);
|
35
|
-
ContentCredentialProductsController.$inject = ['$scope', 'Nutupane', 'ContentCredential', 'ApiErrorHandler'];
|
40
|
+
ContentCredentialProductsController.$inject = ['$scope', 'Nutupane', 'ContentCredential', 'ApiErrorHandler', 'translate'];
|
36
41
|
})();
|
@@ -1,5 +1,5 @@
|
|
1
1
|
(function () {
|
2
|
-
function ContentCredentialRepositoriesController($scope, Nutupane, ContentCredential, ApiErrorHandler) {
|
2
|
+
function ContentCredentialRepositoriesController($scope, Nutupane, ContentCredential, ApiErrorHandler, translate) {
|
3
3
|
/**
|
4
4
|
* @ngdoc object
|
5
5
|
* @name Bastion.content-credentials.controller:ContentCredentialRepositoriesController
|
@@ -8,6 +8,7 @@
|
|
8
8
|
* @requires Nutupane
|
9
9
|
* @requires ContentCredential
|
10
10
|
* @requires ApiErrorHandler
|
11
|
+
* @requires translate
|
11
12
|
*
|
12
13
|
* @description
|
13
14
|
* Page for Content Credential repositories
|
@@ -16,6 +17,10 @@
|
|
16
17
|
id: $scope.$stateParams.contentCredentialId
|
17
18
|
}, 'repositories');
|
18
19
|
$scope.controllerName = 'katello_content_credentials';
|
20
|
+
|
21
|
+
// Labels so breadcrumb strings can be translated
|
22
|
+
$scope.label = translate('Repositories');
|
23
|
+
|
19
24
|
nutupane.primaryOnly = true;
|
20
25
|
|
21
26
|
$scope.panel = $scope.panel || {error: false, loading: false};
|
@@ -32,5 +37,5 @@
|
|
32
37
|
}
|
33
38
|
|
34
39
|
angular.module('Bastion.content-credentials').controller('ContentCredentialRepositoriesController', ContentCredentialRepositoriesController);
|
35
|
-
ContentCredentialRepositoriesController.$inject = ['$scope', 'Nutupane', 'ContentCredential', 'ApiErrorHandler'];
|
40
|
+
ContentCredentialRepositoriesController.$inject = ['$scope', 'Nutupane', 'ContentCredential', 'ApiErrorHandler', 'translate'];
|
36
41
|
})();
|
@@ -21,6 +21,9 @@ angular.module('Bastion.content-credentials').controller('NewContentCredentialCo
|
|
21
21
|
$scope.progress = {uploading: false};
|
22
22
|
$scope.uploadURL = 'katello/api/v2/content_credentials?organization_id=' + CurrentOrganization;
|
23
23
|
|
24
|
+
// Labels so breadcrumb strings can be translated
|
25
|
+
$scope.label = translate('New Content Credential');
|
26
|
+
|
24
27
|
$scope.uploadContent = function (response) {
|
25
28
|
if (response) {
|
26
29
|
if (angular.isUndefined(response.errors)) {
|
@@ -79,7 +79,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
|
|
79
79
|
};
|
80
80
|
|
81
81
|
$scope.selectedErrataIds = function () {
|
82
|
-
return $scope.
|
82
|
+
return $scope.nutupane.getAllSelectedResults('errata_id');
|
83
83
|
};
|
84
84
|
|
85
85
|
$scope.installErrataViaRemoteExecution = function(customize) {
|
@@ -88,6 +88,10 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkErrataModalC
|
|
88
88
|
$scope.errataActionFormValues.remoteAction = 'errata_install';
|
89
89
|
$scope.errataActionFormValues.bulkErrataIds = angular.toJson(errataIds);
|
90
90
|
$scope.errataActionFormValues.customize = customize;
|
91
|
+
|
92
|
+
$timeout(function () {
|
93
|
+
angular.element('#errataActionForm').submit();
|
94
|
+
}, 0);
|
91
95
|
};
|
92
96
|
|
93
97
|
$scope.ok = function () {
|
@@ -3,12 +3,16 @@
|
|
3
3
|
* @name Bastion.content-hosts.controller:ContentHostDebsActionsController
|
4
4
|
*
|
5
5
|
* @requires $scope
|
6
|
+
* @requires translate
|
6
7
|
*
|
7
8
|
* @description
|
8
9
|
* Provides the functionality for the content host deb package actions.
|
9
10
|
*/
|
10
11
|
angular.module('Bastion.content-hosts').controller('ContentHostDebsActionsController',
|
11
|
-
['$scope', function ($scope) {
|
12
|
+
['$scope', 'translate', function ($scope, translate) {
|
13
|
+
// Labels so breadcrumb strings can be translated
|
14
|
+
$scope.label = translate('Deb Package Actions');
|
15
|
+
|
12
16
|
$scope.packageAction = {actionType: 'packageInstall'}; // default to packageInstall
|
13
17
|
}
|
14
18
|
]);
|
@@ -18,6 +18,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostDebsApplicableCon
|
|
18
18
|
function ($scope, $timeout, $window, Deb, HostDeb, translate, Nutupane) {
|
19
19
|
var debsNutupane, openEventInfo;
|
20
20
|
|
21
|
+
// Labels so breadcrumb strings can be translated
|
22
|
+
$scope.label = translate('Applicable Deb Packages');
|
23
|
+
|
21
24
|
$scope.getSelectedDebs = function () {
|
22
25
|
var selected = $scope.table.getSelected();
|
23
26
|
selected = _.map(selected, function(pkg) {
|
@@ -17,6 +17,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostDebsInstalledCont
|
|
17
17
|
function ($scope, $timeout, $window, HostDeb, translate, Nutupane) {
|
18
18
|
var debsNutupane;
|
19
19
|
|
20
|
+
// Labels so breadcrumb strings can be translated
|
21
|
+
$scope.label = translate('Installed Deb Packages');
|
22
|
+
|
20
23
|
$scope.removeSelectedDebs = function () {
|
21
24
|
var selected;
|
22
25
|
|
@@ -8,6 +8,7 @@
|
|
8
8
|
* @requires HostErratum
|
9
9
|
* @requires Nutupane
|
10
10
|
* @requires BastionConfig
|
11
|
+
* @requires translate
|
11
12
|
*
|
12
13
|
* @description
|
13
14
|
* Provides the functionality for the content host package list and actions.
|
@@ -23,6 +24,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostErrataController'
|
|
23
24
|
'id': $scope.$stateParams.hostId
|
24
25
|
};
|
25
26
|
|
27
|
+
// Labels so breadcrumb strings can be translated
|
28
|
+
$scope.label = translate('Errata');
|
29
|
+
|
26
30
|
function loadErratum(errataId) {
|
27
31
|
$scope.erratum = HostErratum.get({'id': $scope.host.id,
|
28
32
|
'errata_id': errataId});
|
@@ -18,6 +18,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostModuleStreamsCont
|
|
18
18
|
function ($scope, $timeout, $window, HostModuleStream, Nutupane, BastionConfig, ModuleStreamActions, translate) {
|
19
19
|
$scope.moduleStreamActions = ModuleStreamActions.getActions();
|
20
20
|
|
21
|
+
// Labels so breadcrumb strings can be translated
|
22
|
+
$scope.label = translate('Module Streams');
|
23
|
+
|
21
24
|
$scope.working = false;
|
22
25
|
|
23
26
|
$scope.nutupaneParams = { id: $scope.$stateParams.hostId };
|
@@ -19,6 +19,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostPackagesApplicabl
|
|
19
19
|
function ($scope, $timeout, $window, Package, HostPackage, translate, Nutupane, BastionConfig) {
|
20
20
|
var packagesNutupane, openEventInfo;
|
21
21
|
|
22
|
+
// Labels so breadcrumb strings can be translated
|
23
|
+
$scope.label = translate('Applicable Packages');
|
24
|
+
|
22
25
|
$scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
|
23
26
|
$scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
|
24
27
|
|
@@ -21,6 +21,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostPackagesInstalled
|
|
21
21
|
$scope.remoteExecutionPresent = BastionConfig.remoteExecutionPresent;
|
22
22
|
$scope.hostToolingEnabled = BastionConfig.hostToolingEnabled;
|
23
23
|
|
24
|
+
// Labels so breadcrumb strings can be translated
|
25
|
+
$scope.label = translate('Installed Packages');
|
26
|
+
|
24
27
|
$scope.removeSelectedPackages = function () {
|
25
28
|
var selected = _.map($scope.table.getSelected(), 'name');
|
26
29
|
|
@@ -27,6 +27,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostPackagesControlle
|
|
27
27
|
$scope.working = false;
|
28
28
|
};
|
29
29
|
|
30
|
+
// Labels so breadcrumb strings can be translated
|
31
|
+
$scope.label = translate('Package Actions');
|
32
|
+
|
30
33
|
$scope.errorHandler = function (response) {
|
31
34
|
angular.forEach(response.data.errors, function (responseError) {
|
32
35
|
Notification.setErrorMessage(responseError);
|
@@ -5,6 +5,7 @@
|
|
5
5
|
* @requires $scope
|
6
6
|
* @resource $timeout
|
7
7
|
* @resource $window
|
8
|
+
* @requires translate
|
8
9
|
* @requires HostTraces
|
9
10
|
* @requires Nutupane
|
10
11
|
* @requires BastionConfig
|
@@ -21,6 +22,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostTracesController'
|
|
21
22
|
'paged': true
|
22
23
|
};
|
23
24
|
|
25
|
+
// Labels so breadcrumb strings can be translated
|
26
|
+
$scope.label = translate('Traces');
|
27
|
+
|
24
28
|
tracesNutupane = new Nutupane(HostTraces, params, 'get', {'disableAutoLoad': true});
|
25
29
|
tracesNutupane.primaryOnly = true;
|
26
30
|
$scope.controllerName = 'katello_host_tracers';
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Packages for: ' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Packages for: ' | translate }} {{ host.display_name }}</span>
|
2
2
|
|
3
3
|
<section ng-hide="denied('edit_hosts', host)" bst-feature-flag="remote_actions">
|
4
4
|
<h4 translate>Package Actions</h4>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Packages for: ' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Packages for: ' | translate }} {{ host.display_name }}</span>
|
2
2
|
|
3
3
|
<section ng-hide="denied('edit_hosts', host)" bst-feature-flag="remote_actions">
|
4
4
|
<p bst-alert="info" ng-hide="remoteExecutionPresent">
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Errata for: ' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Errata for: ' | translate }} {{ host.display_name }}</span>
|
2
2
|
|
3
3
|
<div bst-feature-flag="remote_actions">
|
4
4
|
<h3 translate ng-hide="selectedErrataOption === 'current'">Applicable Errata</h3>
|
@@ -53,8 +53,8 @@
|
|
53
53
|
|
54
54
|
<span data-block="list-actions" ng-hide="contentHost.readonly">
|
55
55
|
<div bst-modal="applySelected()" model="host">
|
56
|
-
<div data-block="modal-header" translate>Apply Errata to Content Host "{{host.
|
57
|
-
<div data-block="modal-body" translate>Are you sure you want to apply Errata to content host "{{ host.
|
56
|
+
<div data-block="modal-header" translate>Apply Errata to Content Host "{{host.display_name}}"?</div>
|
57
|
+
<div data-block="modal-body" translate>Are you sure you want to apply Errata to content host "{{ host.display_name }}"?</div>
|
58
58
|
<span data-block="modal-confirm-button">
|
59
59
|
<button class="btn btn-primary" ng-click="ok()">
|
60
60
|
<span translate>Apply</span>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Module Streams for: ' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Module Streams for: ' | translate }} {{ host.display_name }}</span>
|
2
2
|
<div bst-feature-flag="remote_actions">
|
3
3
|
<h3 translate ng-hide="selectedModuleStreamOption === 'available'">Available Module Streams</h3>
|
4
4
|
</div>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Packages for: ' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Packages for: ' | translate }} {{ host.display_name }}</span>
|
2
2
|
|
3
3
|
<section ng-hide="denied('edit_hosts', host)" bst-feature-flag="remote_actions">
|
4
4
|
<h4 translate>Package Actions</h4>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Traces for: ' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Traces for: ' | translate }} {{ host.display_name }}</span>
|
2
2
|
|
3
3
|
<div ng-hide="host.hasContent()">
|
4
4
|
<div data-extend-template="common/views/registration.html"></div>
|
@@ -39,9 +39,9 @@
|
|
39
39
|
<div data-extend-template="layouts/partials/table.html">
|
40
40
|
<span data-block="list-actions" ng-hide="contentHost.readonly">
|
41
41
|
<div bst-modal="performViaRemoteExecution(false)" model="host">
|
42
|
-
<div data-block="modal-header" translate>Restart Services on Content Host "{{host.
|
42
|
+
<div data-block="modal-header" translate>Restart Services on Content Host "{{host.display_name}}"?</div>
|
43
43
|
<div data-block="modal-body">
|
44
|
-
<span translate>Are you sure you want to restart services on content host "{{ host.
|
44
|
+
<span translate>Are you sure you want to restart services on content host "{{ host.display_name }}"?</span>
|
45
45
|
<span ng-show="host.rebootRequired()">
|
46
46
|
<strong translate>Resolving the selected Traces will reboot this host.</strong>
|
47
47
|
</span>
|
@@ -39,6 +39,11 @@ angular.module('Bastion.content-hosts').controller('ContentHostsController',
|
|
39
39
|
'sort_order': 'ASC'
|
40
40
|
};
|
41
41
|
|
42
|
+
// Labels so breadcrumb strings can be translated
|
43
|
+
$scope.label = translate('Content Hosts');
|
44
|
+
$scope.provisioningLabel = translate('Provisioning');
|
45
|
+
$scope.tasksLabel = translate('Tasks');
|
46
|
+
|
42
47
|
$scope.csvQuery = function () {
|
43
48
|
return $httpParamSerializer(params);
|
44
49
|
};
|
@@ -51,7 +51,7 @@ angular.module('Bastion.content-hosts').config(['$stateProvider', function ($sta
|
|
51
51
|
controller: 'ContentHostDetailsInfoController',
|
52
52
|
templateUrl: 'content-hosts/details/views/content-host-info.html',
|
53
53
|
ncyBreadcrumb: {
|
54
|
-
label: "{{ host.
|
54
|
+
label: "{{ host.display_name }}",
|
55
55
|
parent: 'content-hosts'
|
56
56
|
}
|
57
57
|
})
|
@@ -30,6 +30,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostAddHostCollection
|
|
30
30
|
'host_id': $scope.$stateParams.hostId
|
31
31
|
};
|
32
32
|
|
33
|
+
// Labels so breadcrumb strings can be translated
|
34
|
+
$scope.label = translate('Add Host Collections');
|
35
|
+
|
33
36
|
nutupane = new Nutupane(HostCollection, params);
|
34
37
|
$scope.controllerName = 'katello_host_collections';
|
35
38
|
nutupane.primaryOnly = true;
|
@@ -46,7 +49,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostAddHostCollection
|
|
46
49
|
|
47
50
|
success = function (response) {
|
48
51
|
Notification.setSuccessMessage(translate('Added %x host collections to content host "%y".')
|
49
|
-
.replace('%x', $scope.table.numSelected).replace('%y', host.
|
52
|
+
.replace('%x', $scope.table.numSelected).replace('%y', host.display_name));
|
50
53
|
$scope.table.working = false;
|
51
54
|
$scope.table.selectAll(false);
|
52
55
|
nutupane.refresh();
|
@@ -26,6 +26,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostAddSubscriptionsC
|
|
26
26
|
'host_id': $scope.$stateParams.hostId
|
27
27
|
};
|
28
28
|
|
29
|
+
// Labels so breadcrumb strings can be translated
|
30
|
+
$scope.label = translate('Add Subscriptions');
|
31
|
+
|
29
32
|
$scope.nutupane = new Nutupane(Subscription, params);
|
30
33
|
$scope.controllerName = 'katello_subscriptions';
|
31
34
|
$scope.nutupane.setSearchKey('subscriptionSearch');
|
@@ -29,6 +29,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostHostCollectionsCo
|
|
29
29
|
'host_id': $scope.$stateParams.hostId
|
30
30
|
};
|
31
31
|
|
32
|
+
// Labels so breadcrumb strings can be translated
|
33
|
+
$scope.label = translate('Host Collections');
|
34
|
+
|
32
35
|
nutupane = new Nutupane(HostCollection, params);
|
33
36
|
$scope.controllerName = 'katello_host_collections';
|
34
37
|
nutupane.primaryOnly = true;
|
@@ -45,7 +48,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostHostCollectionsCo
|
|
45
48
|
|
46
49
|
success = function (response) {
|
47
50
|
var message = translate('Removed %x host collections from content host "%y".')
|
48
|
-
.replace('%x', $scope.table.numSelected).replace('%y', host.
|
51
|
+
.replace('%x', $scope.table.numSelected).replace('%y', host.display_name);
|
49
52
|
|
50
53
|
Notification.setSuccessMessage(message);
|
51
54
|
$scope.table.working = false;
|
@@ -25,6 +25,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostRepositorySetsCon
|
|
25
25
|
'paged': true
|
26
26
|
};
|
27
27
|
|
28
|
+
// Labels so breadcrumb strings can be translated
|
29
|
+
$scope.label = translate('Products');
|
30
|
+
|
28
31
|
$scope.nutupane = new Nutupane(RepositorySet, params);
|
29
32
|
$scope.table = $scope.nutupane.table;
|
30
33
|
$scope.nutupane.primaryOnly = true;
|
@@ -23,6 +23,9 @@ angular.module('Bastion.content-hosts').controller('ContentHostSubscriptionsCont
|
|
23
23
|
'sort_order': 'ASC'
|
24
24
|
};
|
25
25
|
|
26
|
+
// Labels so breadcrumb strings can be translated
|
27
|
+
$scope.label = translate('Subscriptions');
|
28
|
+
|
26
29
|
$scope.nutupane = new Nutupane(HostSubscription, params);
|
27
30
|
$scope.controllerName = 'katello_subscriptions';
|
28
31
|
$scope.nutupane.table.initialLoad = false;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Add Subscriptions for Content Host:' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Add Subscriptions for Content Host:' | translate }} {{ host.display_name }}</span>
|
2
2
|
|
3
3
|
<div data-extend-template="layouts/partials/table.html">
|
4
4
|
<div data-block="list-actions">
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<span page-title ng-model="host">{{ 'Content Host:' | translate }} {{ host.
|
1
|
+
<span page-title ng-model="host">{{ 'Content Host:' | translate }} {{ host.display_name }}</span>
|
2
2
|
|
3
3
|
<div data-extend-template="layouts/details-page-with-breadcrumbs.html">
|
4
4
|
<header data-block="header" translate>
|
5
|
-
{{ host.
|
5
|
+
{{ host.display_name }}
|
6
6
|
</header>
|
7
7
|
|
8
8
|
<nav data-block="item-actions">
|
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
<div bst-modal="unregisterContentHost(host)" model="host">
|
17
17
|
<div data-block="modal-header" translate>
|
18
|
-
Unregister Host "{{host.
|
18
|
+
Unregister Host "{{host.display_name}}"?
|
19
19
|
</div>
|
20
20
|
<div data-block="modal-body">
|
21
21
|
<p translate>
|
@@ -54,6 +54,7 @@
|
|
54
54
|
|
55
55
|
<nav data-block="navigation">
|
56
56
|
<div content-access-mode-banner></div>
|
57
|
+
<div data-extend-template="common/views/rhel-lifecycle-notice.html"></div>
|
57
58
|
<ul class="nav nav-tabs">
|
58
59
|
<li ng-class="{active: isState('content-host.info')}">
|
59
60
|
<a translate
|