katello 3.15.1 → 3.16.0.rc2.1
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/common/vendor.js +6 -5
- data/app/controllers/katello/api/registry/registry_proxies_controller.rb +2 -3
- data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +1 -1
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +13 -9
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +5 -8
- data/app/controllers/katello/api/v2/api_controller.rb +14 -0
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +2 -2
- data/app/controllers/katello/api/v2/content_credentials_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_components_controller.rb +2 -2
- data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +3 -9
- data/app/controllers/katello/api/v2/content_views_controller.rb +3 -3
- data/app/controllers/katello/api/v2/environments_controller.rb +3 -3
- data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -1
- data/app/controllers/katello/api/v2/host_collections_controller.rb +3 -4
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +5 -22
- data/app/controllers/katello/api/v2/host_tracer_controller.rb +39 -2
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +7 -2
- data/app/controllers/katello/api/v2/organizations_controller.rb +7 -14
- data/app/controllers/katello/api/v2/packages_controller.rb +13 -13
- data/app/controllers/katello/api/v2/products_controller.rb +2 -1
- data/app/controllers/katello/api/v2/repositories_controller.rb +7 -11
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +1 -1
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +5 -31
- data/app/controllers/katello/application_controller.rb +1 -1
- data/app/controllers/katello/concerns/api/api_controller.rb +2 -1
- data/app/controllers/katello/concerns/api/v2/hostgroups_controller_extensions.rb +1 -1
- data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +6 -1
- data/app/controllers/katello/concerns/api/v2/smart_proxies_controller_extensions.rb +1 -1
- data/app/controllers/katello/remote_execution_controller.rb +9 -1
- data/app/controllers/katello/sync_management_controller.rb +1 -1
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +1 -1
- data/app/helpers/katello/katello_urls_helper.rb +1 -1
- data/app/helpers/katello/layout_helper.rb +1 -3
- data/app/helpers/katello/subscription_mailer_helper.rb +23 -0
- data/app/jobs/create_expired_manifest_notifications.rb +11 -0
- data/app/lib/actions/candlepin/consumer/remove_subscription.rb +1 -1
- data/app/lib/actions/katello/activation_key/update.rb +1 -1
- data/app/lib/actions/katello/applicability/host/generate.rb +28 -0
- data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +32 -0
- data/app/lib/actions/katello/applicability/repository/regenerate.rb +31 -0
- data/app/lib/actions/katello/capsule_content/sync.rb +0 -1
- data/app/lib/actions/katello/capsule_content/sync_capsule.rb +0 -2
- data/app/lib/actions/katello/content_view/destroy.rb +3 -1
- data/app/lib/actions/katello/content_view/promote_to_environment.rb +1 -1
- data/app/lib/actions/katello/content_view/publish.rb +2 -2
- data/app/lib/actions/katello/content_view/remove.rb +1 -1
- data/app/lib/actions/katello/content_view/update.rb +1 -1
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +6 -0
- data/app/lib/actions/katello/gpg_key/update.rb +1 -1
- data/app/lib/actions/katello/host/erratum/applicable_errata_install.rb +12 -2
- data/app/lib/actions/katello/host/generate_applicability.rb +21 -10
- data/app/lib/actions/katello/host/hypervisors_update.rb +1 -1
- data/app/lib/actions/katello/host/recalculate_errata_status.rb +4 -6
- data/app/lib/actions/katello/host/upload_profiles.rb +36 -5
- data/app/lib/actions/katello/organization/manifest_delete.rb +2 -1
- data/app/lib/actions/katello/organization/manifest_import.rb +3 -1
- data/app/lib/actions/katello/organization/manifest_refresh.rb +3 -1
- data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +0 -13
- data/app/lib/actions/katello/product/content_create.rb +3 -3
- data/app/lib/actions/katello/product/create.rb +1 -1
- data/app/lib/actions/katello/product/destroy.rb +1 -1
- data/app/lib/actions/katello/product/update.rb +1 -1
- data/app/lib/actions/katello/provider/update.rb +1 -1
- data/app/lib/actions/katello/repository/clone_contents.rb +1 -1
- data/app/lib/actions/katello/repository/clone_to_environment.rb +1 -1
- data/app/lib/actions/katello/repository/create.rb +2 -2
- data/app/lib/actions/katello/repository/filtered_index_content.rb +12 -3
- data/app/lib/actions/katello/repository/finish_upload.rb +5 -3
- data/app/lib/actions/katello/repository/import_upload.rb +2 -2
- data/app/lib/actions/katello/repository/sync.rb +28 -16
- data/app/lib/actions/katello/repository/update.rb +17 -6
- data/app/lib/actions/katello/repository/update_cv_repo_cert_guard.rb +17 -0
- data/app/lib/actions/katello/repository/update_redhat_repository.rb +2 -2
- data/app/lib/actions/katello/repository/upload_files.rb +8 -5
- data/app/lib/actions/katello/subscription/update.rb +1 -1
- data/app/lib/actions/pulp/abstract_async_task.rb +3 -5
- data/app/lib/actions/pulp/consumer.rb +1 -3
- data/app/lib/actions/pulp/consumer/content_install.rb +1 -1
- data/app/lib/actions/pulp/orchestration/repository/smart_proxy_sync.rb +0 -1
- data/app/lib/actions/pulp/orchestration/repository/upload_content.rb +2 -0
- data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +5 -11
- data/app/lib/actions/pulp/repository/presenters/docker_presenter.rb +1 -1
- data/app/lib/actions/pulp3/ContentGuard/refresh.rb +19 -0
- data/app/lib/actions/pulp3/abstract_async_task.rb +3 -5
- data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +8 -10
- data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +2 -2
- data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +22 -13
- data/app/lib/actions/pulp3/orchestration/repository/upload_content.rb +8 -6
- data/app/lib/actions/pulp3/orphan_cleanup/delete_orphaned_migrated_repositories.rb +15 -0
- data/app/lib/actions/pulp3/repository/commit_upload.rb +18 -0
- data/app/lib/actions/pulp3/repository/copy_content.rb +1 -0
- data/app/lib/actions/pulp3/repository/import_upload.rb +5 -2
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +1 -0
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +3 -1
- data/app/lib/actions/pulp3/repository/save_publication.rb +1 -1
- data/app/lib/actions/pulp3/repository/save_version.rb +4 -2
- data/app/lib/actions/pulp3/repository/update_cv_repository_cert_guard.rb +15 -0
- data/app/lib/katello/concerns/base_template_scope_extensions.rb +8 -3
- data/app/lib/katello/concerns/filter_sensitive_data.rb +18 -0
- data/app/lib/katello/foreman.rb +2 -1
- data/app/lib/katello/http_resource.rb +3 -5
- data/app/lib/katello/lazy_accessor.rb +4 -2
- data/app/lib/katello/messaging/connection.rb +15 -0
- data/app/lib/katello/messaging/received_message.rb +12 -0
- data/app/lib/katello/messaging/stomp_connection.rb +73 -0
- data/app/lib/katello/resources/candlepin/activation_key.rb +0 -1
- data/app/lib/katello/resources/candlepin/admin.rb +1 -1
- data/app/lib/katello/resources/candlepin/consumer.rb +6 -0
- data/app/lib/katello/resources/candlepin/content.rb +7 -1
- data/app/lib/katello/resources/candlepin/owner.rb +0 -9
- data/app/lib/katello/resources/cdn.rb +6 -1
- data/app/lib/katello/resources/registry.rb +1 -1
- data/app/lib/katello/util/cdn_var_substitutor.rb +1 -3
- data/app/lib/katello/util/errata.rb +13 -0
- data/app/lib/katello/util/pulpcore_content_filters.rb +32 -0
- data/app/mailers/katello/subscription_mailer.rb +35 -0
- data/app/models/katello/activation_key.rb +1 -0
- data/app/models/katello/ansible_collection.rb +1 -1
- data/app/models/katello/authorization/host_tracer.rb +14 -0
- data/app/models/katello/authorization/pool.rb +5 -1
- data/app/models/katello/authorization/subscription.rb +1 -3
- data/app/models/katello/concerns/host_managed_extensions.rb +33 -4
- data/app/models/katello/concerns/organization_extensions.rb +9 -0
- data/app/models/katello/concerns/pulp_database_unit.rb +62 -35
- data/app/models/katello/concerns/redhat_extensions.rb +2 -1
- data/app/models/katello/concerns/smart_proxy_extensions.rb +5 -2
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -1
- data/app/models/katello/content.rb +2 -2
- data/app/models/katello/content_view.rb +3 -2
- data/app/models/katello/content_view_erratum_filter.rb +29 -0
- data/app/models/katello/content_view_package_filter.rb +16 -1
- data/app/models/katello/content_view_package_group_filter.rb +7 -0
- data/app/models/katello/content_view_version.rb +1 -0
- data/app/models/katello/erratum.rb +6 -1
- data/app/models/katello/erratum_cve.rb +4 -0
- data/app/models/katello/events/generate_host_applicability.rb +28 -0
- data/app/models/katello/glue/candlepin/activation_key.rb +1 -1
- data/app/models/katello/glue/candlepin/pool.rb +6 -8
- data/app/models/katello/glue/candlepin/product.rb +1 -1
- data/app/models/katello/glue/candlepin/subscription.rb +1 -1
- data/app/models/katello/glue/provider.rb +5 -3
- data/app/models/katello/glue/pulp/repo.rb +1 -1
- data/app/models/katello/host/content_facet.rb +27 -4
- data/app/models/katello/host/subscription_facet.rb +1 -1
- data/app/models/katello/host_queue_element.rb +4 -0
- data/app/models/katello/host_tracer.rb +8 -0
- data/app/models/katello/kt_environment.rb +1 -1
- data/app/models/katello/module_stream.rb +2 -0
- data/app/models/katello/module_stream_rpm.rb +6 -0
- data/app/models/katello/package_group.rb +2 -1
- data/app/models/katello/pool.rb +19 -3
- data/app/models/katello/product.rb +1 -1
- data/app/models/katello/provider.rb +2 -3
- data/app/models/katello/pulp3/content_guard.rb +14 -0
- data/app/models/katello/puppet_module.rb +1 -1
- data/app/models/katello/repository.rb +20 -7
- data/app/models/katello/root_repository.rb +11 -0
- data/app/models/katello/rpm.rb +2 -1
- data/app/models/katello/subscription.rb +4 -4
- data/app/models/katello/sync_plan.rb +2 -2
- data/app/models/katello/task_status.rb +1 -1
- data/app/models/katello/trace_status.rb +3 -3
- data/app/models/setting/content.rb +8 -2
- data/app/services/katello/applicability/applicable_content_helper.rb +135 -0
- data/app/services/katello/applicable_host_queue.rb +21 -0
- data/app/services/katello/candlepin/consumer.rb +1 -1
- data/app/services/katello/candlepin/message_handler.rb +2 -3
- data/app/services/katello/candlepin_event_listener.rb +39 -53
- data/app/services/katello/event_daemon.rb +18 -18
- data/app/services/katello/event_monitor/poller_thread.rb +15 -17
- data/app/services/katello/product_content_importer.rb +2 -2
- data/app/services/katello/pulp/consumer.rb +6 -10
- data/app/services/katello/pulp/docker_manifest.rb +1 -1
- data/app/services/katello/pulp/docker_manifest_list.rb +1 -1
- data/app/services/katello/pulp/erratum.rb +1 -1
- data/app/services/katello/pulp/file_unit.rb +1 -1
- data/app/services/katello/pulp/module_stream.rb +1 -1
- data/app/services/katello/pulp/ostree_branch.rb +1 -1
- data/app/services/katello/pulp/package_group.rb +1 -1
- data/app/services/katello/pulp/pulp_content_unit.rb +8 -0
- data/app/services/katello/pulp/puppet_module.rb +1 -1
- data/app/services/katello/pulp/repository/yum.rb +3 -3
- data/app/services/katello/pulp/yum_metadata_file.rb +1 -1
- data/app/services/katello/pulp3/ansible_collection.rb +1 -1
- data/app/services/katello/pulp3/api/ansible_collection.rb +4 -1
- data/app/services/katello/pulp3/api/content_guard.rb +45 -0
- data/app/services/katello/pulp3/api/core.rb +20 -12
- data/app/services/katello/pulp3/api/docker.rb +4 -1
- data/app/services/katello/pulp3/api/file.rb +4 -1
- data/app/services/katello/pulp3/api/yum.rb +28 -1
- data/app/services/katello/pulp3/content.rb +2 -2
- data/app/services/katello/pulp3/docker_manifest.rb +1 -1
- data/app/services/katello/pulp3/docker_manifest_list.rb +1 -1
- data/app/services/katello/pulp3/docker_tag.rb +1 -1
- data/app/services/katello/pulp3/erratum.rb +9 -1
- data/app/services/katello/pulp3/file_unit.rb +1 -1
- data/app/services/katello/pulp3/migration.rb +2 -1
- data/app/services/katello/pulp3/module_stream.rb +13 -3
- data/app/services/katello/pulp3/package_group.rb +1 -1
- data/app/services/katello/pulp3/pulp_content_unit.rb +19 -7
- data/app/services/katello/pulp3/repository.rb +37 -16
- data/app/services/katello/pulp3/repository/docker.rb +1 -1
- data/app/services/katello/pulp3/repository/yum.rb +106 -5
- data/app/services/katello/pulp3/repository_mirror.rb +4 -2
- data/app/services/katello/pulp3/rpm.rb +26 -39
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +1 -1
- data/app/services/katello/pulp3/smart_proxy_repository.rb +23 -3
- data/app/services/katello/pulp3/srpm.rb +8 -1
- data/app/services/katello/ui_notifications/subscriptions/expire_soon.rb +1 -1
- data/app/services/katello/ui_notifications/subscriptions/manifest_expired_warning.rb +63 -0
- data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +1 -1
- data/app/views/katello/api/v2/content_facet/erratum.json.rabl +1 -1
- data/app/views/katello/api/v2/content_facet/show.json.rabl +4 -0
- data/app/views/katello/api/v2/content_view_histories/show.json.rabl +2 -6
- data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +2 -1
- data/app/views/katello/api/v2/host_tracer/base.json.rabl +6 -4
- data/app/views/katello/api/v2/organizations/owner_details.rabl +5 -0
- data/app/views/katello/api/v2/organizations/show.json.rabl +6 -1
- data/app/views/katello/api/v2/organizations/upstream_consumer.rabl +1 -0
- data/app/views/katello/subscription_mailer/subscription_expiry.html.erb +47 -0
- data/app/views/katello/subscription_mailer/subscription_expiry.text.erb +19 -0
- data/app/views/users/_subscriptions_expiring_soon_query_builder.html.erb +16 -0
- data/config/initializers/monkeys.rb +2 -2
- data/config/katello.yaml.example +4 -0
- data/config/routes.rb +2 -2
- data/config/routes/api/rhsm.rb +1 -0
- data/config/routes/api/v2.rb +6 -1
- data/config/routes/overrides.rb +1 -1
- data/db/functions/empty_v01.sql +7 -0
- data/db/functions/evr_trigger_v01.sql +9 -0
- data/db/functions/isalpha_v01.sql +11 -0
- data/db/functions/isalphanum_v01.sql +12 -0
- data/db/functions/isdigit_v01.sql +10 -0
- data/db/functions/rpmver_array_v01.sql +60 -0
- data/db/migrate/20131016124255_add_foreign_keys_engine.rb +1 -1
- data/db/migrate/20140117160939_refactor_content_views.rb +1 -1
- data/db/migrate/20140626204657_add_unlimited_to_activation_keys.rb +3 -3
- data/db/migrate/20140626204902_add_unlimited_to_host_collection.rb +3 -3
- data/db/migrate/20140930170628_add_errata.rb +1 -1
- data/db/migrate/20150119153452_update_promote_errata_email_description.rb +2 -6
- data/db/migrate/20150606021722_create_puppet_modules.rb +1 -1
- data/db/migrate/20150813185339_create_subscriptions.rb +1 -1
- data/db/migrate/20150826170004_add_content_facet.rb +1 -1
- data/db/migrate/20150930183738_migrate_content_hosts.rb +6 -8
- data/db/migrate/20160908234510_add_rpm_nvra.rb +1 -1
- data/db/migrate/20160930150810_add_smart_proxy_download_policy.rb +1 -1
- data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +1 -1
- data/db/migrate/20161026191118_fix_invalid_interfaces.rb +1 -1
- data/db/migrate/20180103230812_set_errata_updated_date.rb +1 -1
- data/db/migrate/20180410140909_add_organization_id_to_pool.rb +1 -1
- data/db/migrate/20180920214134_create_repository_root.rb +2 -3
- data/db/migrate/20190730183518_add_docker_tag_join_table.rb +1 -1
- data/db/migrate/20190730203334_add_docker_meta_tag_join_table.rb +1 -1
- data/db/migrate/20200204034123_add_pulp3_href_to_repository_erratum.rb +6 -0
- data/db/migrate/20200213184848_create_evr_type.rb +49 -0
- data/db/migrate/20200304201026_create_katello_module_stream_rpms.rb +15 -0
- data/db/migrate/20200407171926_create_content_guard.rb +10 -0
- data/db/migrate/20200506163345_add_applicability_indicesto_katello_host_available_module_streams.rb +12 -0
- data/db/migrate/20200511204005_create_katello_host_queue_elements.rb +12 -0
- data/db/migrate/20200526200422_encrypt_root_repository_upstream_password.rb +45 -0
- data/db/seeds.d/106-mail_notifications.rb +8 -0
- data/db/seeds.d/107-enable_dynflow.rb +1 -1
- data/db/seeds.d/109-katello-notification-blueprints.rb +6 -0
- data/db/seeds.d/111-upgrade_tasks.rb +2 -1
- data/db/seeds.d/75-job_templates.rb +2 -2
- data/db/triggers/evr_insert_trigger_katello_installed_packages_v01.sql +5 -0
- data/db/triggers/evr_insert_trigger_katello_rpms_v01.sql +5 -0
- data/db/triggers/evr_update_trigger_katello_installed_packages_v01.sql +10 -0
- data/db/triggers/evr_update_trigger_katello_rpms_v01.sql +10 -0
- data/engines/bastion/app/assets/javascripts/bastion/bastion.module.js +1 -1
- data/engines/bastion/app/assets/javascripts/bastion/routing.module.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-animate/angular-animate.js +465 -340
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_af-na.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_af-za.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_af.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_agq-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ak-gh.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ak.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_am-et.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_am.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-001.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-ae.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-bh.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-dj.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-eg.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-er.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-il.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-iq.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-jo.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-km.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-kw.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-lb.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-ly.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-ma.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-mr.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-om.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-ps.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-qa.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-sa.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-sd.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-so.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-ss.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-sy.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-td.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-tn.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-xb.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar-ye.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ar.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_as-in.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_as.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_asa-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_asa.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ast-es.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ast.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_az-cyrl-az.js +41 -41
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_az-cyrl.js +41 -41
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_az-latn-az.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_az-latn.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_az.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bas-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_be-by.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_be.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bez-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bez.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bg-bg.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bg.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bm-ml.js +31 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bn-bd.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bn-in.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bn.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bo-cn.js +24 -24
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bo-in.js +25 -25
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bo.js +24 -24
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_br-fr.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_br.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_brx-in.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_brx.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bs-latn-ba.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bs-latn.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_bs.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ca-ad.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ca-es.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ca-fr.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ca-it.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ca.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ce-ru.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ce.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cgg-ug.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cgg.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_chr-us.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_chr.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb-arab-iq.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb-arab-ir.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb-arab.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb-iq.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb-ir.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb-latn-iq.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb-latn.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ckb.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cs-cz.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cs.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cu-ru.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cu.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cy-gb.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_cy.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_da-dk.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_da-gl.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_da.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_dav-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_dav.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_de-at.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_de-ch.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_de-it.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_de-li.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_dje-ne.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_dua-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_dyo-sn.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ebu-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ebu.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ee-tg.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-001.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-150.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-ai.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-at.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-au.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-be.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-bi.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-bw.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-cc.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-ch.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-ck.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-cm.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-cx.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-cy.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-de.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-dg.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-dk.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-fi.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-fk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-gb.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-gg.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-gi.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-gy.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-ie.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-il.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-im.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-io.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-je.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-jm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-ke.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-mg.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-ms.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-mt.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-mu.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-nf.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-nl.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-nr.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-nu.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-pk.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-pn.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-rw.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-sc.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-se.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-sh.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-si.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-sl.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-sx.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-tk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-tv.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-ug.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-us-posix.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-vu.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-xa.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-za.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_en-zw.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-419.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-ar.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-bo.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-br.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-bz.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-cl.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-co.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-cr.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-cu.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-do.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-ea.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-ec.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-es.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-gq.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-gt.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-hn.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-ic.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-mx.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-ni.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-pa.js +13 -13
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-pe.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-ph.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-pr.js +13 -13
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-py.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-sv.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-us.js +15 -15
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-uy.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es-ve.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_es.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_et-ee.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_et.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_eu-es.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_eu.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ewo-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fa-af.js +25 -25
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fa-ir.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fa.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ff-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ff-gn.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ff-mr.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ff-sn.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fi-fi.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fi.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fo-dk.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fo-fo.js +32 -32
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fo.js +32 -32
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-be.js +13 -13
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-bf.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-bi.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-bj.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-bl.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ca.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-cd.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-cf.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-cg.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ch.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ci.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-cm.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-dj.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-dz.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-fr.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ga.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-gf.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-gn.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-gp.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-gq.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ht.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-km.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-lu.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ma.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-mc.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-mf.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-mg.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ml.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-mq.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-mr.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-mu.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-nc.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-ne.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-pf.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-pm.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-re.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-rw.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-sc.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-sn.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-sy.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-td.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-tg.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-tn.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-vu.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-wf.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr-yt.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fr.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fy-nl.js +36 -36
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_fy.js +36 -36
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gl-es.js +27 -27
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gl.js +27 -27
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gsw-ch.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gsw-fr.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gsw-li.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gsw.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gu-in.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gu.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_guz-ke.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_guz.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gv-im.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_gv.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ha-gh.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ha-ne.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ha-ng.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ha.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_he-il.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_he.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_hr-ba.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_hr-hr.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_hr.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_hy-am.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_hy.js +20 -20
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_id-id.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_id.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ig-ng.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ig.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ii-cn.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ii.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_in.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_is-is.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_it-ch.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_it-it.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_it-sm.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_it-va.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_it.js +16 -16
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_iw.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ja-jp.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_jgo-cm.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_jgo.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_jmc-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_jmc.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ka-ge.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ka.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kab-dz.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kab.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kam-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kam.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kde-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kde.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_khq-ml.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ki-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ki.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kk-kz.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kk.js +28 -28
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kkj-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kl-gl.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kl.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kln-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kln.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_km-kh.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_km.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kn-in.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kn.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ko-kp.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ko-kr.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ko.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kok-in.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kok.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ks-in.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ksb-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ksb.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ksf-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ksh-de.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ksh.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kw-gb.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_kw.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ky-kg.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ky.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lag-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lag.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lg-ug.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lg.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lkt-us.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lkt.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ln-cf.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ln-cg.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lo-la.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lo.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lrc-iq.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lrc-ir.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lrc.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_luo-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_luo.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_luy-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_luy.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lv-lv.js +25 -25
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_lv.js +25 -25
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mas-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mas-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mas.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mer-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mer.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mfe-mu.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mg-mg.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mg.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mgh-mz.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mgh.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mgo-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mk-mk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ml-in.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ml.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mn-mn.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mn.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mo.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ms-bn.js +39 -13
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ms-my.js +35 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ms-sg.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mua-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_my-mm.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_my.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mzn-ir.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_mzn.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nb-no.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nb-sj.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nb.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nd-zw.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nd.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nds-de.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nds-nl.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nds.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ne-in.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ne-np.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ne.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl-aw.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl-be.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl-bq.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl-cw.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl-nl.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl-sr.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl-sx.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nl.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nmg-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nnh-cm.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nnh.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_no-no.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_no.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nus-ss.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nus.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nyn-ug.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_nyn.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_om-et.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_om-ke.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_om.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_os-ge.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_os-ru.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_os.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pa-arab-pk.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pa-arab.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pa-guru-in.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pa-guru.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pa.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pl-pl.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pl.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_prg-001.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_prg.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ps-af.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ps.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-ao.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-br.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-ch.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-cv.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-gq.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-gw.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-lu.js +125 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-mo.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-mz.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-pt.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-st.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt-tl.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_pt.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_qu-bo.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_qu-ec.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_qu-pe.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_qu.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rm-ch.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rn-bi.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ro-md.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ro-ro.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ro.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rof-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rof.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ru-by.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ru-kg.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ru-kz.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ru-md.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ru-ru.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ru-ua.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ru.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rw-rw.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rw.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rwk-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_rwk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sah-ru.js +40 -40
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sah.js +40 -40
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_saq-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_saq.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sbp-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sbp.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_se-fi.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_seh-mz.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_seh.js +1 -1
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ses-ml.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sg-cf.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sh.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_shi-latn-ma.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_shi-latn.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_shi-tfng-ma.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_shi-tfng.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_shi.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_si-lk.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_si.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sk-sk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sl-si.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sl.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_smn-fi.js +51 -51
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_smn.js +51 -51
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sn-zw.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sn.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_so-dj.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_so-et.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_so-ke.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_so-so.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_so.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sq-al.js +24 -24
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sq-mk.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sq-xk.js +18 -18
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sq.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-cyrl-ba.js +21 -21
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-cyrl-me.js +25 -25
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-cyrl-rs.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-cyrl-xk.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-cyrl.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-latn-ba.js +21 -21
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-latn-me.js +25 -25
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-latn-rs.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-latn-xk.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr-latn.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sr.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sv-ax.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sv-fi.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sv-se.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sv.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sw-cd.js +45 -45
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sw-ke.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sw-tz.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sw-ug.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_sw.js +8 -8
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ta-in.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ta-lk.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ta-my.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ta-sg.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ta.js +14 -14
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_te-in.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_te.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_teo-ke.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_teo-ug.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_teo.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ti-er.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ti-et.js +45 -45
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ti.js +45 -45
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_tk-tm.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_tk.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_to-to.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_to.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_tr-cy.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_tr-tr.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_tr.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_twq-ne.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_tzm-ma.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_tzm.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ug-cn.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ug.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uk-ua.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uk.js +22 -22
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ur-in.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ur-pk.js +9 -9
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_ur.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uz-arab-af.js +19 -19
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uz-arab.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uz-cyrl-uz.js +49 -49
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uz-cyrl.js +47 -47
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uz-latn-uz.js +41 -41
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uz-latn.js +39 -39
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_uz.js +39 -39
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_vi-vn.js +12 -12
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_vi.js +10 -10
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_vo-001.js +22 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_vo.js +22 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_vun-tz.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_vun.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_xog-ug.js +6 -6
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_xog.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yav-cm.js +2 -2
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yi-001.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yi.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yo-bj.js +7 -7
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yo-ng.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yo.js +5 -5
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yue-hk.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_yue.js +143 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zgh-ma.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zgh.js +3 -3
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zh-cn.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zh-hans-cn.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zh-hans.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zh-hant-hk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zh-hant-mo.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zh-hk.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zh.js +4 -4
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zu-za.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/angular-locale_zu.js +17 -17
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ar-xb.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ce-ru.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ce.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/cu-ru.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/cu.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/de-it.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-at.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-bi.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-ch.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-cy.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-de.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-dk.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-fi.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-il.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-nl.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-se.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-si.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-us-posix.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/en-xa.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/es-br.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/es-bz.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/fo-dk.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ha-gh.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ha-ne.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ha-ng.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/it-va.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/kk-kz.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ks-in.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ky-kg.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/lrc-iq.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/lrc-ir.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/lrc.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/mn-mn.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/mo.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ms-sg.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/mzn-ir.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/mzn.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/nds-de.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/nds-nl.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/nds.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/nus-ss.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/prg-001.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/prg.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/pt-ch.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/pt-gq.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/pt-lu.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/sh.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/tk-tm.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/tk.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/tzm-ma.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/ug-cn.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/yue-hk.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-i18n/yue.js +2 -0
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-resource/angular-resource.js +407 -264
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-route/angular-route.js +397 -156
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-sanitize/angular-sanitize.js +516 -320
- data/engines/bastion/vendor/assets/javascripts/bastion/angular-ui-router/angular-ui-router.js +10551 -4465
- data/engines/bastion/vendor/assets/javascripts/bastion/angular/angular.js +10455 -4892
- data/engines/bastion/vendor/assets/javascripts/bastion/ngUpload/ng-upload.js +2 -2
- data/engines/bastion_katello/README.md +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-key.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.routes.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ansible-collections/ansible-collections.factory.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/api-error-handler.service.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/content-credentials.routes.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/views/content-credential-info.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/views/content-credentials.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +65 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-traces-modal.html +79 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-modal-helper.service.js +11 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts-helper.service.js +6 -0
- 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/content-host-packages-actions.controller.js +8 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +10 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-traces.html +14 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +23 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +20 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-client.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/deb.factory.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-list.factory.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifests/docker-manifest.factory.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.routes.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/environments.html +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.controller.js +15 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.routes.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/erratum.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collection.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.routes.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces-resolve.factory.js +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +3869 -2260
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +4155 -2272
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +4257 -2352
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +3840 -2253
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +3999 -2409
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +3853 -2291
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +4388 -2554
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +4121 -2427
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +3936 -2241
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +3824 -2189
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/module-streams/module-stream.factory.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/package-groups/package-group.factory.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/package.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync-options.html +5 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +1 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/product.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.routes.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.routes.js +0 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/task-details.controller.js +3 -2
- data/lib/katello.rb +4 -1
- data/lib/katello/engine.rb +25 -3
- data/lib/katello/permissions/host_permissions.rb +3 -0
- data/lib/katello/permissions/organization_permissions.rb +1 -2
- data/lib/katello/plugin.rb +12 -3
- data/lib/katello/prevent_json_parsing.rb +1 -1
- data/lib/katello/scheduled_jobs.rb +1 -1
- data/lib/katello/tasks/clean_backend_objects.rake +1 -1
- data/lib/katello/tasks/common.rake +7 -0
- data/lib/katello/tasks/delete_orphaned_content.rake +3 -1
- data/lib/katello/tasks/import_applicability.rake +4 -6
- data/lib/katello/tasks/jenkins.rake +1 -1
- data/lib/katello/tasks/pulp3_content_switchover.rake +6 -8
- data/lib/katello/tasks/pulp3_migration.rake +2 -0
- data/lib/katello/tasks/pulp3_post_migration_check.rake +4 -0
- data/lib/katello/tasks/receptor/extract_orgs.rake +27 -0
- data/lib/katello/tasks/reimport.rake +15 -19
- data/lib/katello/tasks/repository.rake +7 -11
- data/lib/katello/tasks/reset.rake +12 -13
- data/lib/katello/tasks/update_content_default_http_proxy.rake +1 -1
- data/lib/katello/tasks/update_subscription_facet_backend_data.rake +14 -16
- data/lib/katello/tasks/upgrades/3.10/clear_invalid_repo_credentials.rake +1 -1
- data/lib/katello/tasks/upgrades/3.10/update_gpg_key_urls.rake +1 -1
- data/lib/katello/tasks/upgrades/3.11/update_puppet_repos.rake +9 -11
- data/lib/katello/tasks/upgrades/3.15/set_sub_facet_dmi_uuid.rake +1 -1
- data/lib/katello/tasks/upgrades/3.16/update_applicable_el8_hosts.rake +29 -0
- data/lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake +18 -22
- data/lib/katello/version.rb +1 -1
- data/lib/monkeys/ar_postgres_evr_t.rb +24 -0
- data/lib/monkeys/fx_sqlite_skip.rb +13 -0
- data/locale/action_names.rb +47 -39
- data/locale/bn/katello.po +4004 -2559
- data/locale/cs/katello.po +3744 -2221
- data/locale/de/katello.po +4293 -3046
- data/locale/en/katello.po +3125 -1558
- data/locale/es/katello.po +4269 -3013
- data/locale/fr/katello.po +4287 -3077
- data/locale/gu/katello.po +4016 -2578
- data/locale/hi/katello.po +4015 -2568
- data/locale/it/katello.po +4279 -3040
- data/locale/ja/katello.po +4326 -2856
- data/locale/katello.pot +2618 -1464
- data/locale/kn/katello.po +4023 -2587
- data/locale/ko/katello.po +4311 -2818
- data/locale/mr/katello.po +3962 -2509
- data/locale/or/katello.po +4008 -2561
- data/locale/pa/katello.po +3975 -2516
- data/locale/pt/katello.po +3373 -1837
- data/locale/pt_BR/katello.po +4248 -2967
- data/locale/ru/katello.po +4295 -2901
- data/locale/ta/katello.po +3998 -2560
- data/locale/te/katello.po +4018 -2569
- data/locale/zh_CN/katello.po +4335 -2806
- data/locale/zh_TW/katello.po +4463 -2962
- data/package.json +13 -39
- data/webpack/__mocks__/foremanReact/components/{BreadcrumbBar.js → BreadcrumbBar/index.js} +0 -1
- data/webpack/__mocks__/react-intl/index.js +3 -0
- data/webpack/__mocks__/react-intl/locale-data/en.js +1 -0
- data/webpack/containers/Application/config.js +5 -0
- data/webpack/containers/Application/overrides.scss +8 -0
- data/webpack/mockRequest.js +1 -0
- data/webpack/move_to_foreman/common/helpers.js +2 -1
- data/webpack/move_to_foreman/components/common/table/components/__snapshots__/Table.test.js.snap +1 -0
- data/webpack/scenes/AnsibleCollections/Details/AnsibleCollectionDetailsActions.js +2 -2
- data/webpack/scenes/AnsibleCollections/Details/__tests__/__snapshots__/AnsibleCollectionDetailsActions.test.js.snap +4 -0
- data/webpack/scenes/ContentViews/ContentViewSelectors.js +13 -0
- data/webpack/scenes/ContentViews/ContentViewsActions.js +18 -0
- data/webpack/scenes/ContentViews/ContentViewsConstants.js +3 -0
- data/webpack/scenes/ContentViews/ContentViewsPage.js +30 -0
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +104 -0
- data/webpack/scenes/ContentViews/Table/TableWrapper.js +55 -0
- data/webpack/scenes/ContentViews/Table/actionResolver.js +28 -0
- data/webpack/scenes/ContentViews/Table/index.js +3 -0
- data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +133 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +228 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +99 -0
- data/webpack/scenes/ContentViews/components/ContentViewName.js +33 -0
- data/webpack/scenes/ContentViews/components/EmptyStateMessage.js +43 -0
- data/webpack/scenes/ContentViews/components/IconWithCount.js +18 -0
- data/webpack/scenes/ContentViews/components/IconWithCount.scss +3 -0
- data/webpack/scenes/ContentViews/components/Loading.js +31 -0
- data/webpack/scenes/ContentViews/components/contentViewName.scss +9 -0
- data/webpack/scenes/ContentViews/details/ContentViewDetailActions.js +12 -0
- data/webpack/scenes/ContentViews/details/ContentViewDetailSelectors.js +15 -0
- data/webpack/scenes/ContentViews/details/DetailsContainer.js +35 -0
- data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +11 -0
- data/webpack/scenes/ContentViews/expansions/EnvironmentsExpansion.js +19 -0
- data/webpack/scenes/ContentViews/expansions/RepositoriesExpansion.js +12 -0
- data/webpack/scenes/ContentViews/expansions/VersionsExpansion.js +11 -0
- data/webpack/scenes/ContentViews/index.js +4 -0
- data/webpack/scenes/ModuleStreams/Details/ModuleStreamDetailsActions.js +2 -2
- data/webpack/scenes/ModuleStreams/Details/__tests__/__snapshots__/ModuleStreamDetailsActions.test.js.snap +4 -0
- data/webpack/scenes/RedHatRepositories/__tests__/__snapshots__/RedHatRepositoriesPage.test.js.snap +8 -0
- data/webpack/scenes/Subscriptions/Manifest/__tests__/__snapshots__/ManageManifestModal.test.js.snap +3 -2
- data/webpack/scenes/Subscriptions/SubscriptionActions.js +12 -14
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +14 -4
- data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +8 -0
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsActions.test.js +11 -22
- data/webpack/scenes/Subscriptions/__tests__/SubscriptionsPage.test.js +11 -6
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsActions.test.js.snap +21 -17
- data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +8 -0
- data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +0 -1
- data/webpack/scenes/Subscriptions/components/SubscriptionsToolbar/__snapshots__/SubscriptionsToolbar.test.js.snap +10 -0
- data/webpack/scenes/Subscriptions/index.js +5 -1
- data/webpack/scenes/Tasks/TaskActions.js +2 -1
- data/webpack/scenes/Tasks/__tests__/__snapshots__/TaskActions.test.js.snap +12 -8
- data/webpack/test-utils/nockWrapper.js +17 -0
- data/webpack/test-utils/react-testing-lib-wrapper.js +42 -0
- data/webpack/test_setup.js +10 -0
- metadata +269 -49
- data/app/lib/actions/candlepin/owner/auto_attach.rb +0 -15
- data/app/lib/actions/katello/organization/auto_attach_subscriptions.rb +0 -16
- data/app/services/katello/candlepin_listening_service.rb +0 -94
- data/config/initializers/multipart_json_fix.rb +0 -15
- data/config/initializers/runcible.rb +0 -5
- data/lib/monkeys/json_munging_patch.rb +0 -25
- data/lib/monkeys/multi_json_empty_fix.rb +0 -14
- data/webpack/__mocks__/foremanReact/common/I18n.js +0 -5
- data/webpack/__mocks__/foremanReact/common/helpers.js +0 -21
- data/webpack/__mocks__/foremanReact/common/keyCodes.js +0 -8
- data/webpack/__mocks__/foremanReact/components/PermissionDenied/index.js +0 -2
- data/webpack/__mocks__/foremanReact/components/common/ModalProgressBar.js +0 -8
- data/webpack/__mocks__/foremanReact/components/common/table.js +0 -6
- data/webpack/__mocks__/foremanReact/redux/API.js +0 -6
- data/webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware/IntervalSelectors.js +0 -6
- data/webpack/__mocks__/foremanReact/redux/middlewares/IntervalMiddleware/index.js +0 -11
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
|
-
* @license AngularJS v1.
|
3
|
-
* (c) 2010-
|
2
|
+
* @license AngularJS v1.7.9
|
3
|
+
* (c) 2010-2018 Google, Inc. http://angularjs.org
|
4
4
|
* License: MIT
|
5
5
|
*/
|
6
6
|
(function(window, angular) {'use strict';
|
@@ -53,15 +53,24 @@ function shallowClearAndCopy(src, dst) {
|
|
53
53
|
* @name ngResource
|
54
54
|
* @description
|
55
55
|
*
|
56
|
-
* # ngResource
|
57
|
-
*
|
58
56
|
* The `ngResource` module provides interaction support with RESTful services
|
59
57
|
* via the $resource service.
|
60
58
|
*
|
59
|
+
* See {@link ngResource.$resourceProvider} and {@link ngResource.$resource} for usage.
|
60
|
+
*/
|
61
|
+
|
62
|
+
/**
|
63
|
+
* @ngdoc provider
|
64
|
+
* @name $resourceProvider
|
61
65
|
*
|
62
|
-
*
|
66
|
+
* @description
|
67
|
+
*
|
68
|
+
* Use `$resourceProvider` to change the default behavior of the {@link ngResource.$resource}
|
69
|
+
* service.
|
70
|
+
*
|
71
|
+
* ## Dependencies
|
72
|
+
* Requires the {@link ngResource } module to be installed.
|
63
73
|
*
|
64
|
-
* See {@link ngResource.$resource `$resource`} for usage.
|
65
74
|
*/
|
66
75
|
|
67
76
|
/**
|
@@ -105,27 +114,36 @@ function shallowClearAndCopy(src, dst) {
|
|
105
114
|
* can escape it with `/\.`.
|
106
115
|
*
|
107
116
|
* @param {Object=} paramDefaults Default values for `url` parameters. These can be overridden in
|
108
|
-
* `actions` methods. If a parameter value is a function, it will be
|
109
|
-
*
|
117
|
+
* `actions` methods. If a parameter value is a function, it will be called every time
|
118
|
+
* a param value needs to be obtained for a request (unless the param was overridden). The
|
119
|
+
* function will be passed the current data value as an argument.
|
110
120
|
*
|
111
121
|
* Each key value in the parameter object is first bound to url template if present and then any
|
112
122
|
* excess keys are appended to the url search query after the `?`.
|
113
123
|
*
|
114
|
-
* Given a template `/path/:verb` and parameter `{verb:'greet', salutation:'Hello'}` results in
|
124
|
+
* Given a template `/path/:verb` and parameter `{verb: 'greet', salutation: 'Hello'}` results in
|
115
125
|
* URL `/path/greet?salutation=Hello`.
|
116
126
|
*
|
117
|
-
* If the parameter value is prefixed with
|
118
|
-
* from the corresponding property on the `data` object (provided when calling
|
127
|
+
* If the parameter value is prefixed with `@`, then the value for that parameter will be
|
128
|
+
* extracted from the corresponding property on the `data` object (provided when calling actions
|
129
|
+
* with a request body).
|
119
130
|
* For example, if the `defaultParam` object is `{someParam: '@someProp'}` then the value of
|
120
131
|
* `someParam` will be `data.someProp`.
|
132
|
+
* Note that the parameter will be ignored, when calling a "GET" action method (i.e. an action
|
133
|
+
* method that does not accept a request body).
|
121
134
|
*
|
122
|
-
* @param {Object.<Object>=} actions Hash with declaration of custom actions that
|
123
|
-
* the default set of resource actions.
|
124
|
-
*
|
135
|
+
* @param {Object.<Object>=} actions Hash with declaration of custom actions that will be available
|
136
|
+
* in addition to the default set of resource actions (see below). If a custom action has the same
|
137
|
+
* key as a default action (e.g. `save`), then the default action will be *overwritten*, and not
|
138
|
+
* extended.
|
125
139
|
*
|
126
|
-
*
|
127
|
-
*
|
128
|
-
*
|
140
|
+
* The declaration should be created in the format of {@link ng.$http#usage $http.config}:
|
141
|
+
*
|
142
|
+
* {
|
143
|
+
* action1: {method:?, params:?, isArray:?, headers:?, ...},
|
144
|
+
* action2: {method:?, params:?, isArray:?, headers:?, ...},
|
145
|
+
* ...
|
146
|
+
* }
|
129
147
|
*
|
130
148
|
* Where:
|
131
149
|
*
|
@@ -134,48 +152,61 @@ function shallowClearAndCopy(src, dst) {
|
|
134
152
|
* - **`method`** – {string} – Case insensitive HTTP method (e.g. `GET`, `POST`, `PUT`,
|
135
153
|
* `DELETE`, `JSONP`, etc).
|
136
154
|
* - **`params`** – {Object=} – Optional set of pre-bound parameters for this action. If any of
|
137
|
-
* the parameter value is a function, it will be
|
138
|
-
* be obtained for a request (unless the param was overridden).
|
139
|
-
*
|
155
|
+
* the parameter value is a function, it will be called every time when a param value needs to
|
156
|
+
* be obtained for a request (unless the param was overridden). The function will be passed the
|
157
|
+
* current data value as an argument.
|
158
|
+
* - **`url`** – {string} – Action specific `url` override. The url templating is supported just
|
140
159
|
* like for the resource-level urls.
|
141
160
|
* - **`isArray`** – {boolean=} – If true then the returned object for this action is an array,
|
142
161
|
* see `returns` section.
|
143
162
|
* - **`transformRequest`** –
|
144
163
|
* `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
|
145
|
-
*
|
164
|
+
* Transform function or an array of such functions. The transform function takes the http
|
146
165
|
* request body and headers and returns its transformed (typically serialized) version.
|
147
166
|
* By default, transformRequest will contain one function that checks if the request data is
|
148
|
-
* an object and serializes
|
167
|
+
* an object and serializes it using `angular.toJson`. To prevent this behavior, set
|
149
168
|
* `transformRequest` to an empty array: `transformRequest: []`
|
150
169
|
* - **`transformResponse`** –
|
151
|
-
* `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
|
152
|
-
*
|
153
|
-
* response body and
|
170
|
+
* `{function(data, headersGetter, status)|Array.<function(data, headersGetter, status)>}` –
|
171
|
+
* Transform function or an array of such functions. The transform function takes the HTTP
|
172
|
+
* response body, headers and status and returns its transformed (typically deserialized)
|
173
|
+
* version.
|
154
174
|
* By default, transformResponse will contain one function that checks if the response looks
|
155
175
|
* like a JSON string and deserializes it using `angular.fromJson`. To prevent this behavior,
|
156
176
|
* set `transformResponse` to an empty array: `transformResponse: []`
|
157
|
-
* - **`cache`** – `{boolean|Cache}` –
|
158
|
-
*
|
159
|
-
* {@link
|
160
|
-
*
|
161
|
-
* - **`timeout`** – `{number}` – timeout in milliseconds.<br />
|
177
|
+
* - **`cache`** – `{boolean|Cache}` – A boolean value or object created with
|
178
|
+
* {@link ng.$cacheFactory `$cacheFactory`} to enable or disable caching of the HTTP response.
|
179
|
+
* See {@link $http#caching $http Caching} for more information.
|
180
|
+
* - **`timeout`** – `{number}` – Timeout in milliseconds.<br />
|
162
181
|
* **Note:** In contrast to {@link ng.$http#usage $http.config}, {@link ng.$q promises} are
|
163
|
-
* **not** supported in
|
182
|
+
* **not** supported in `$resource`, because the same value would be used for multiple requests.
|
164
183
|
* If you are looking for a way to cancel requests, you should use the `cancellable` option.
|
165
|
-
* - **`cancellable`** – `{boolean}` –
|
166
|
-
*
|
167
|
-
*
|
168
|
-
*
|
169
|
-
* - **`withCredentials`**
|
184
|
+
* - **`cancellable`** – `{boolean}` – If true, the request made by a "non-instance" call will be
|
185
|
+
* cancelled (if not already completed) by calling `$cancelRequest()` on the call's return
|
186
|
+
* value. Calling `$cancelRequest()` for a non-cancellable or an already completed/cancelled
|
187
|
+
* request will have no effect.
|
188
|
+
* - **`withCredentials`** – `{boolean}` – Whether to set the `withCredentials` flag on the
|
170
189
|
* XHR object. See
|
171
|
-
* [
|
190
|
+
* [XMLHttpRequest.withCredentials](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials)
|
172
191
|
* for more information.
|
173
|
-
* - **`responseType`**
|
174
|
-
* [
|
175
|
-
* - **`interceptor`**
|
176
|
-
* `
|
177
|
-
*
|
178
|
-
*
|
192
|
+
* - **`responseType`** – `{string}` – See
|
193
|
+
* [XMLHttpRequest.responseType](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType).
|
194
|
+
* - **`interceptor`** – `{Object=}` – The interceptor object has four optional methods -
|
195
|
+
* `request`, `requestError`, `response`, and `responseError`. See
|
196
|
+
* {@link ng.$http#interceptors $http interceptors} for details. Note that
|
197
|
+
* `request`/`requestError` interceptors are applied before calling `$http`, thus before any
|
198
|
+
* global `$http` interceptors. Also, rejecting or throwing an error inside the `request`
|
199
|
+
* interceptor will result in calling the `responseError` interceptor.
|
200
|
+
* The resource instance or collection is available on the `resource` property of the
|
201
|
+
* `http response` object passed to `response`/`responseError` interceptors.
|
202
|
+
* Keep in mind that the associated promise will be resolved with the value returned by the
|
203
|
+
* response interceptors. Make sure you return an appropriate value and not the `response`
|
204
|
+
* object passed as input. For reference, the default `response` interceptor (which gets applied
|
205
|
+
* if you don't specify a custom one) returns `response.resource`.<br />
|
206
|
+
* See {@link ngResource.$resource#using-interceptors below} for an example of using
|
207
|
+
* interceptors in `$resource`.
|
208
|
+
* - **`hasBody`** – `{boolean}` – If true, then the request will have a body.
|
209
|
+
* If not specified, then only POST, PUT and PATCH requests will have a body. *
|
179
210
|
* @param {Object} options Hash with custom settings that should extend the
|
180
211
|
* default `$resourceProvider` behavior. The supported options are:
|
181
212
|
*
|
@@ -188,27 +219,29 @@ function shallowClearAndCopy(src, dst) {
|
|
188
219
|
* @returns {Object} A resource "class" object with methods for the default set of resource actions
|
189
220
|
* optionally extended with custom `actions`. The default set contains these actions:
|
190
221
|
* ```js
|
191
|
-
* {
|
192
|
-
* '
|
193
|
-
* '
|
194
|
-
* '
|
195
|
-
* '
|
222
|
+
* {
|
223
|
+
* 'get': {method: 'GET'},
|
224
|
+
* 'save': {method: 'POST'},
|
225
|
+
* 'query': {method: 'GET', isArray: true},
|
226
|
+
* 'remove': {method: 'DELETE'},
|
227
|
+
* 'delete': {method: 'DELETE'}
|
228
|
+
* }
|
196
229
|
* ```
|
197
230
|
*
|
198
|
-
* Calling these methods invoke
|
199
|
-
*
|
200
|
-
*
|
201
|
-
*
|
202
|
-
*
|
231
|
+
* Calling these methods invoke {@link ng.$http} with the specified http method, destination and
|
232
|
+
* parameters. When the data is returned from the server then the object is an instance of the
|
233
|
+
* resource class. The actions `save`, `remove` and `delete` are available on it as methods with
|
234
|
+
* the `$` prefix. This allows you to easily perform CRUD operations (create, read, update,
|
235
|
+
* delete) on server-side data like this:
|
203
236
|
* ```js
|
204
|
-
* var User = $resource('/user/:userId', {userId:'@id'});
|
205
|
-
*
|
237
|
+
* var User = $resource('/user/:userId', {userId: '@id'});
|
238
|
+
* User.get({userId: 123}).$promise.then(function(user) {
|
206
239
|
* user.abc = true;
|
207
240
|
* user.$save();
|
208
241
|
* });
|
209
242
|
* ```
|
210
243
|
*
|
211
|
-
* It is important to realize that invoking a
|
244
|
+
* It is important to realize that invoking a `$resource` object method immediately returns an
|
212
245
|
* empty reference (object or array depending on `isArray`). Once the data is returned from the
|
213
246
|
* server the existing reference is populated with the actual data. This is a useful trick since
|
214
247
|
* usually the resource is assigned to a model which is then rendered by the view. Having an empty
|
@@ -219,171 +252,192 @@ function shallowClearAndCopy(src, dst) {
|
|
219
252
|
* The action methods on the class object or instance object can be invoked with the following
|
220
253
|
* parameters:
|
221
254
|
*
|
222
|
-
* -
|
223
|
-
* -
|
224
|
-
* -
|
255
|
+
* - "class" actions without a body: `Resource.action([parameters], [success], [error])`
|
256
|
+
* - "class" actions with a body: `Resource.action([parameters], postData, [success], [error])`
|
257
|
+
* - instance actions: `instance.$action([parameters], [success], [error])`
|
258
|
+
*
|
225
259
|
*
|
260
|
+
* When calling instance methods, the instance itself is used as the request body (if the action
|
261
|
+
* should have a body). By default, only actions using `POST`, `PUT` or `PATCH` have request
|
262
|
+
* bodies, but you can use the `hasBody` configuration option to specify whether an action
|
263
|
+
* should have a body or not (regardless of its HTTP method).
|
226
264
|
*
|
227
|
-
* Success callback is called with (value, responseHeaders) arguments, where the value is
|
228
|
-
* the populated resource instance or collection object. The error callback is called
|
229
|
-
* with (httpResponse) argument.
|
230
265
|
*
|
231
|
-
*
|
232
|
-
*
|
266
|
+
* Success callback is called with (value (Object|Array), responseHeaders (Function),
|
267
|
+
* status (number), statusText (string)) arguments, where `value` is the populated resource
|
268
|
+
* instance or collection object. The error callback is called with (httpResponse) argument.
|
269
|
+
*
|
270
|
+
* Class actions return an empty instance (with the additional properties listed below).
|
271
|
+
* Instance actions return a promise for the operation.
|
233
272
|
*
|
234
273
|
* The Resource instances and collections have these additional properties:
|
235
274
|
*
|
236
|
-
* - `$promise`:
|
275
|
+
* - `$promise`: The {@link ng.$q promise} of the original server interaction that created this
|
237
276
|
* instance or collection.
|
238
277
|
*
|
239
278
|
* On success, the promise is resolved with the same resource instance or collection object,
|
240
|
-
* updated with data from server. This makes it easy to use in
|
241
|
-
* {@link ngRoute.$routeProvider resolve section of
|
279
|
+
* updated with data from server. This makes it easy to use in the
|
280
|
+
* {@link ngRoute.$routeProvider `resolve` section of `$routeProvider.when()`} to defer view
|
242
281
|
* rendering until the resource(s) are loaded.
|
243
282
|
*
|
244
|
-
* On failure, the promise is rejected with the {@link ng.$http http response} object
|
245
|
-
* the `resource` property.
|
283
|
+
* On failure, the promise is rejected with the {@link ng.$http http response} object.
|
246
284
|
*
|
247
285
|
* If an interceptor object was provided, the promise will instead be resolved with the value
|
248
|
-
* returned by the interceptor.
|
286
|
+
* returned by the response interceptor (on success) or responceError interceptor (on failure).
|
249
287
|
*
|
250
288
|
* - `$resolved`: `true` after first server interaction is completed (either with success or
|
251
289
|
* rejection), `false` before that. Knowing if the Resource has been resolved is useful in
|
252
|
-
* data-binding.
|
290
|
+
* data-binding. If there is a response/responseError interceptor and it returns a promise,
|
291
|
+
* `$resolved` will wait for that too.
|
253
292
|
*
|
254
293
|
* The Resource instances and collections have these additional methods:
|
255
294
|
*
|
256
295
|
* - `$cancelRequest`: If there is a cancellable, pending request related to the instance or
|
257
296
|
* collection, calling this method will abort the request.
|
258
297
|
*
|
298
|
+
* The Resource instances have these additional methods:
|
299
|
+
*
|
300
|
+
* - `toJSON`: It returns a simple object without any of the extra properties added as part of
|
301
|
+
* the Resource API. This object can be serialized through {@link angular.toJson} safely
|
302
|
+
* without attaching AngularJS-specific fields. Notice that `JSON.stringify` (and
|
303
|
+
* `angular.toJson`) automatically use this method when serializing a Resource instance
|
304
|
+
* (see [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#toJSON%28%29_behavior)).
|
305
|
+
*
|
259
306
|
* @example
|
260
307
|
*
|
261
|
-
*
|
308
|
+
* ### Basic usage
|
262
309
|
*
|
263
|
-
|
264
|
-
// Define CreditCard class
|
265
|
-
var CreditCard = $resource('/
|
266
|
-
|
267
|
-
|
268
|
-
|
310
|
+
```js
|
311
|
+
// Define a CreditCard class
|
312
|
+
var CreditCard = $resource('/users/:userId/cards/:cardId',
|
313
|
+
{userId: 123, cardId: '@id'}, {
|
314
|
+
charge: {method: 'POST', params: {charge: true}}
|
315
|
+
});
|
269
316
|
|
270
317
|
// We can retrieve a collection from the server
|
271
|
-
var cards = CreditCard.query(
|
272
|
-
|
273
|
-
|
318
|
+
var cards = CreditCard.query();
|
319
|
+
// GET: /users/123/cards
|
320
|
+
// server returns: [{id: 456, number: '1234', name: 'Smith'}]
|
274
321
|
|
322
|
+
// Wait for the request to complete
|
323
|
+
cards.$promise.then(function() {
|
275
324
|
var card = cards[0];
|
276
|
-
|
325
|
+
|
326
|
+
// Each item is an instance of CreditCard
|
277
327
|
expect(card instanceof CreditCard).toEqual(true);
|
278
|
-
|
279
|
-
//
|
328
|
+
|
329
|
+
// Non-GET methods are mapped onto the instances
|
330
|
+
card.name = 'J. Smith';
|
280
331
|
card.$save();
|
281
|
-
|
282
|
-
|
332
|
+
// POST: /users/123/cards/456 {id: 456, number: '1234', name: 'J. Smith'}
|
333
|
+
// server returns: {id: 456, number: '1234', name: 'J. Smith'}
|
283
334
|
|
284
|
-
//
|
285
|
-
card.$charge({amount:9.99});
|
286
|
-
|
335
|
+
// Our custom method is mapped as well (since it uses POST)
|
336
|
+
card.$charge({amount: 9.99});
|
337
|
+
// POST: /users/123/cards/456?amount=9.99&charge=true {id: 456, number: '1234', name: 'J. Smith'}
|
287
338
|
});
|
288
339
|
|
289
|
-
//
|
290
|
-
var newCard = new CreditCard({number:'0123'});
|
291
|
-
newCard.name =
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
340
|
+
// We can create an instance as well
|
341
|
+
var newCard = new CreditCard({number: '0123'});
|
342
|
+
newCard.name = 'Mike Smith';
|
343
|
+
|
344
|
+
var savePromise = newCard.$save();
|
345
|
+
// POST: /users/123/cards {number: '0123', name: 'Mike Smith'}
|
346
|
+
// server returns: {id: 789, number: '0123', name: 'Mike Smith'}
|
347
|
+
|
348
|
+
savePromise.then(function() {
|
349
|
+
// Once the promise is resolved, the created instance
|
350
|
+
// is populated with the data returned by the server
|
351
|
+
expect(newCard.id).toEqual(789);
|
352
|
+
});
|
353
|
+
```
|
297
354
|
*
|
298
|
-
* The object returned from
|
299
|
-
* for each action in the definition.
|
355
|
+
* The object returned from a call to `$resource` is a resource "class" which has one "static"
|
356
|
+
* method for each action in the definition.
|
300
357
|
*
|
301
|
-
* Calling these methods
|
302
|
-
* `headers`.
|
358
|
+
* Calling these methods invokes `$http` on the `url` template with the given HTTP `method`,
|
359
|
+
* `params` and `headers`.
|
303
360
|
*
|
304
361
|
* @example
|
305
362
|
*
|
306
|
-
*
|
363
|
+
* ### Accessing the response
|
307
364
|
*
|
308
365
|
* When the data is returned from the server then the object is an instance of the resource type and
|
309
366
|
* all of the non-GET methods are available with `$` prefix. This allows you to easily support CRUD
|
310
367
|
* operations (create, read, update, delete) on server-side data.
|
311
|
-
|
368
|
+
*
|
312
369
|
```js
|
313
|
-
var User = $resource('/
|
314
|
-
User.get({userId:123}
|
370
|
+
var User = $resource('/users/:userId', {userId: '@id'});
|
371
|
+
User.get({userId: 123}).$promise.then(function(user) {
|
315
372
|
user.abc = true;
|
316
373
|
user.$save();
|
317
374
|
});
|
318
375
|
```
|
319
376
|
*
|
320
|
-
* It's worth noting that the success callback for `get`, `query` and other methods gets
|
321
|
-
*
|
322
|
-
*
|
377
|
+
* It's worth noting that the success callback for `get`, `query` and other methods gets called with
|
378
|
+
* the resource instance (populated with the data that came from the server) as well as an `$http`
|
379
|
+
* header getter function, the HTTP status code and the response status text. So one could rewrite
|
380
|
+
* the above example and get access to HTTP headers as follows:
|
323
381
|
*
|
324
382
|
```js
|
325
|
-
var User = $resource('/
|
326
|
-
User.get({userId:123}, function(user, getResponseHeaders){
|
383
|
+
var User = $resource('/users/:userId', {userId: '@id'});
|
384
|
+
User.get({userId: 123}, function(user, getResponseHeaders) {
|
327
385
|
user.abc = true;
|
328
386
|
user.$save(function(user, putResponseHeaders) {
|
329
|
-
//user => saved
|
330
|
-
//putResponseHeaders =>
|
387
|
+
// `user` => saved `User` object
|
388
|
+
// `putResponseHeaders` => `$http` header getter
|
331
389
|
});
|
332
390
|
});
|
333
391
|
```
|
334
392
|
*
|
335
|
-
* You can also access the raw `$http` promise via the `$promise` property on the object returned
|
336
|
-
*
|
337
|
-
```
|
338
|
-
var User = $resource('/user/:userId', {userId:'@id'});
|
339
|
-
User.get({userId:123})
|
340
|
-
.$promise.then(function(user) {
|
341
|
-
$scope.user = user;
|
342
|
-
});
|
343
|
-
```
|
344
|
-
*
|
345
393
|
* @example
|
346
394
|
*
|
347
|
-
*
|
395
|
+
* ### Creating custom actions
|
348
396
|
*
|
349
|
-
* In this example we create a custom method on our resource to make a PUT request
|
350
|
-
*
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
397
|
+
* In this example we create a custom method on our resource to make a PUT request:
|
398
|
+
*
|
399
|
+
```js
|
400
|
+
var app = angular.module('app', ['ngResource']);
|
401
|
+
|
402
|
+
// Some APIs expect a PUT request in the format URL/object/ID
|
403
|
+
// Here we are creating an 'update' method
|
404
|
+
app.factory('Notes', ['$resource', function($resource) {
|
405
|
+
return $resource('/notes/:id', {id: '@id'}, {
|
406
|
+
update: {method: 'PUT'}
|
407
|
+
});
|
408
|
+
}]);
|
409
|
+
|
410
|
+
// In our controller we get the ID from the URL using `$location`
|
411
|
+
app.controller('NotesCtrl', ['$location', 'Notes', function($location, Notes) {
|
412
|
+
// First, retrieve the corresponding `Note` object from the server
|
413
|
+
// (Assuming a URL of the form `.../notes?id=XYZ`)
|
414
|
+
var noteId = $location.search().id;
|
415
|
+
var note = Notes.get({id: noteId});
|
416
|
+
|
417
|
+
note.$promise.then(function() {
|
418
|
+
note.content = 'Hello, world!';
|
419
|
+
|
420
|
+
// Now call `update` to save the changes on the server
|
421
|
+
Notes.update(note);
|
422
|
+
// This will PUT /notes/ID with the note object as the request payload
|
423
|
+
|
424
|
+
// Since `update` is a non-GET method, it will also be available on the instance
|
425
|
+
// (prefixed with `$`), so we could replace the `Note.update()` call with:
|
426
|
+
//note.$update();
|
427
|
+
});
|
428
|
+
}]);
|
429
|
+
```
|
376
430
|
*
|
377
431
|
* @example
|
378
432
|
*
|
379
|
-
*
|
433
|
+
* ### Cancelling requests
|
380
434
|
*
|
381
435
|
* If an action's configuration specifies that it is cancellable, you can cancel the request related
|
382
436
|
* to an instance or collection (as long as it is a result of a "non-instance" call):
|
383
437
|
*
|
384
438
|
```js
|
385
439
|
// ...defining the `Hotel` resource...
|
386
|
-
var Hotel = $resource('/api/
|
440
|
+
var Hotel = $resource('/api/hotels/:id', {id: '@id'}, {
|
387
441
|
// Let's make the `query()` method cancellable
|
388
442
|
query: {method: 'get', isArray: true, cancellable: true}
|
389
443
|
});
|
@@ -393,24 +447,134 @@ function shallowClearAndCopy(src, dst) {
|
|
393
447
|
this.onDestinationChanged = function onDestinationChanged(destination) {
|
394
448
|
// We don't care about any pending request for hotels
|
395
449
|
// in a different destination any more
|
396
|
-
this.availableHotels
|
450
|
+
if (this.availableHotels) {
|
451
|
+
this.availableHotels.$cancelRequest();
|
452
|
+
}
|
397
453
|
|
398
|
-
// Let's query for hotels in
|
399
|
-
// (calls: /api/
|
454
|
+
// Let's query for hotels in `destination`
|
455
|
+
// (calls: /api/hotels?location=<destination>)
|
400
456
|
this.availableHotels = Hotel.query({location: destination});
|
401
457
|
};
|
402
458
|
```
|
403
459
|
*
|
460
|
+
* @example
|
461
|
+
*
|
462
|
+
* ### Using interceptors
|
463
|
+
*
|
464
|
+
* You can use interceptors to transform the request or response, perform additional operations, and
|
465
|
+
* modify the returned instance/collection. The following example, uses `request` and `response`
|
466
|
+
* interceptors to augment the returned instance with additional info:
|
467
|
+
*
|
468
|
+
```js
|
469
|
+
var Thing = $resource('/api/things/:id', {id: '@id'}, {
|
470
|
+
save: {
|
471
|
+
method: 'POST',
|
472
|
+
interceptor: {
|
473
|
+
request: function(config) {
|
474
|
+
// Before the request is sent out, store a timestamp on the request config
|
475
|
+
config.requestTimestamp = Date.now();
|
476
|
+
return config;
|
477
|
+
},
|
478
|
+
response: function(response) {
|
479
|
+
// Get the instance from the response object
|
480
|
+
var instance = response.resource;
|
481
|
+
|
482
|
+
// Augment the instance with a custom `saveLatency` property, computed as the time
|
483
|
+
// between sending the request and receiving the response.
|
484
|
+
instance.saveLatency = Date.now() - response.config.requestTimestamp;
|
485
|
+
|
486
|
+
// Return the instance
|
487
|
+
return instance;
|
488
|
+
}
|
489
|
+
}
|
490
|
+
}
|
491
|
+
});
|
492
|
+
|
493
|
+
Thing.save({foo: 'bar'}).$promise.then(function(thing) {
|
494
|
+
console.log('That thing was saved in ' + thing.saveLatency + 'ms.');
|
495
|
+
});
|
496
|
+
```
|
497
|
+
*
|
404
498
|
*/
|
405
499
|
angular.module('ngResource', ['ng']).
|
406
|
-
|
407
|
-
|
500
|
+
info({ angularVersion: '1.7.9' }).
|
501
|
+
provider('$resource', function ResourceProvider() {
|
502
|
+
var PROTOCOL_AND_IPV6_REGEX = /^https?:\/\/\[[^\]]*][^/]*/;
|
503
|
+
|
408
504
|
var provider = this;
|
409
505
|
|
506
|
+
/**
|
507
|
+
* @ngdoc property
|
508
|
+
* @name $resourceProvider#defaults
|
509
|
+
* @description
|
510
|
+
* Object containing default options used when creating `$resource` instances.
|
511
|
+
*
|
512
|
+
* The default values satisfy a wide range of usecases, but you may choose to overwrite any of
|
513
|
+
* them to further customize your instances. The available properties are:
|
514
|
+
*
|
515
|
+
* - **stripTrailingSlashes** – `{boolean}` – If true, then the trailing slashes from any
|
516
|
+
* calculated URL will be stripped.<br />
|
517
|
+
* (Defaults to true.)
|
518
|
+
* - **cancellable** – `{boolean}` – If true, the request made by a "non-instance" call will be
|
519
|
+
* cancelled (if not already completed) by calling `$cancelRequest()` on the call's return
|
520
|
+
* value. For more details, see {@link ngResource.$resource}. This can be overwritten per
|
521
|
+
* resource class or action.<br />
|
522
|
+
* (Defaults to false.)
|
523
|
+
* - **actions** - `{Object.<Object>}` - A hash with default actions declarations. Actions are
|
524
|
+
* high-level methods corresponding to RESTful actions/methods on resources. An action may
|
525
|
+
* specify what HTTP method to use, what URL to hit, if the return value will be a single
|
526
|
+
* object or a collection (array) of objects etc. For more details, see
|
527
|
+
* {@link ngResource.$resource}. The actions can also be enhanced or overwritten per resource
|
528
|
+
* class.<br />
|
529
|
+
* The default actions are:
|
530
|
+
* ```js
|
531
|
+
* {
|
532
|
+
* get: {method: 'GET'},
|
533
|
+
* save: {method: 'POST'},
|
534
|
+
* query: {method: 'GET', isArray: true},
|
535
|
+
* remove: {method: 'DELETE'},
|
536
|
+
* delete: {method: 'DELETE'}
|
537
|
+
* }
|
538
|
+
* ```
|
539
|
+
*
|
540
|
+
* #### Example
|
541
|
+
*
|
542
|
+
* For example, you can specify a new `update` action that uses the `PUT` HTTP verb:
|
543
|
+
*
|
544
|
+
* ```js
|
545
|
+
* angular.
|
546
|
+
* module('myApp').
|
547
|
+
* config(['$resourceProvider', function ($resourceProvider) {
|
548
|
+
* $resourceProvider.defaults.actions.update = {
|
549
|
+
* method: 'PUT'
|
550
|
+
* };
|
551
|
+
* }]);
|
552
|
+
* ```
|
553
|
+
*
|
554
|
+
* Or you can even overwrite the whole `actions` list and specify your own:
|
555
|
+
*
|
556
|
+
* ```js
|
557
|
+
* angular.
|
558
|
+
* module('myApp').
|
559
|
+
* config(['$resourceProvider', function ($resourceProvider) {
|
560
|
+
* $resourceProvider.defaults.actions = {
|
561
|
+
* create: {method: 'POST'},
|
562
|
+
* get: {method: 'GET'},
|
563
|
+
* getAll: {method: 'GET', isArray:true},
|
564
|
+
* update: {method: 'PUT'},
|
565
|
+
* delete: {method: 'DELETE'}
|
566
|
+
* };
|
567
|
+
* });
|
568
|
+
* ```
|
569
|
+
*
|
570
|
+
*/
|
410
571
|
this.defaults = {
|
411
572
|
// Strip slashes by default
|
412
573
|
stripTrailingSlashes: true,
|
413
574
|
|
575
|
+
// Make non-instance requests cancellable (via `$cancelRequest()`)
|
576
|
+
cancellable: false,
|
577
|
+
|
414
578
|
// Default actions configuration
|
415
579
|
actions: {
|
416
580
|
'get': {method: 'GET'},
|
@@ -424,49 +588,15 @@ angular.module('ngResource', ['ng']).
|
|
424
588
|
this.$get = ['$http', '$log', '$q', '$timeout', function($http, $log, $q, $timeout) {
|
425
589
|
|
426
590
|
var noop = angular.noop,
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
* segment = *pchar
|
437
|
-
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
438
|
-
* pct-encoded = "%" HEXDIG HEXDIG
|
439
|
-
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
|
440
|
-
* sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
|
441
|
-
* / "*" / "+" / "," / ";" / "="
|
442
|
-
*/
|
443
|
-
function encodeUriSegment(val) {
|
444
|
-
return encodeUriQuery(val, true).
|
445
|
-
replace(/%26/gi, '&').
|
446
|
-
replace(/%3D/gi, '=').
|
447
|
-
replace(/%2B/gi, '+');
|
448
|
-
}
|
449
|
-
|
450
|
-
|
451
|
-
/**
|
452
|
-
* This method is intended for encoding *key* or *value* parts of query component. We need a
|
453
|
-
* custom method because encodeURIComponent is too aggressive and encodes stuff that doesn't
|
454
|
-
* have to be encoded per http://tools.ietf.org/html/rfc3986:
|
455
|
-
* query = *( pchar / "/" / "?" )
|
456
|
-
* pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
|
457
|
-
* unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
|
458
|
-
* pct-encoded = "%" HEXDIG HEXDIG
|
459
|
-
* sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
|
460
|
-
* / "*" / "+" / "," / ";" / "="
|
461
|
-
*/
|
462
|
-
function encodeUriQuery(val, pctEncodeSpaces) {
|
463
|
-
return encodeURIComponent(val).
|
464
|
-
replace(/%40/gi, '@').
|
465
|
-
replace(/%3A/gi, ':').
|
466
|
-
replace(/%24/g, '$').
|
467
|
-
replace(/%2C/gi, ',').
|
468
|
-
replace(/%20/g, (pctEncodeSpaces ? '%20' : '+'));
|
469
|
-
}
|
591
|
+
forEach = angular.forEach,
|
592
|
+
extend = angular.extend,
|
593
|
+
copy = angular.copy,
|
594
|
+
isArray = angular.isArray,
|
595
|
+
isDefined = angular.isDefined,
|
596
|
+
isFunction = angular.isFunction,
|
597
|
+
isNumber = angular.isNumber,
|
598
|
+
encodeUriQuery = angular.$$encodeUriQuery,
|
599
|
+
encodeUriSegment = angular.$$encodeUriSegment;
|
470
600
|
|
471
601
|
function Route(template, defaults) {
|
472
602
|
this.template = template;
|
@@ -480,42 +610,42 @@ angular.module('ngResource', ['ng']).
|
|
480
610
|
url = actionUrl || self.template,
|
481
611
|
val,
|
482
612
|
encodedVal,
|
483
|
-
|
613
|
+
protocolAndIpv6 = '';
|
484
614
|
|
485
|
-
var urlParams = self.urlParams =
|
615
|
+
var urlParams = self.urlParams = Object.create(null);
|
486
616
|
forEach(url.split(/\W/), function(param) {
|
487
617
|
if (param === 'hasOwnProperty') {
|
488
|
-
throw $resourceMinErr('badname',
|
618
|
+
throw $resourceMinErr('badname', 'hasOwnProperty is not a valid parameter name.');
|
489
619
|
}
|
490
|
-
if (!(new RegExp(
|
491
|
-
(new RegExp(
|
620
|
+
if (!(new RegExp('^\\d+$').test(param)) && param &&
|
621
|
+
(new RegExp('(^|[^\\\\]):' + param + '(\\W|$)').test(url))) {
|
492
622
|
urlParams[param] = {
|
493
|
-
isQueryParamValue: (new RegExp(
|
623
|
+
isQueryParamValue: (new RegExp('\\?.*=:' + param + '(?:\\W|$)')).test(url)
|
494
624
|
};
|
495
625
|
}
|
496
626
|
});
|
497
627
|
url = url.replace(/\\:/g, ':');
|
498
|
-
url = url.replace(
|
499
|
-
|
628
|
+
url = url.replace(PROTOCOL_AND_IPV6_REGEX, function(match) {
|
629
|
+
protocolAndIpv6 = match;
|
500
630
|
return '';
|
501
631
|
});
|
502
632
|
|
503
633
|
params = params || {};
|
504
634
|
forEach(self.urlParams, function(paramInfo, urlParam) {
|
505
635
|
val = params.hasOwnProperty(urlParam) ? params[urlParam] : self.defaults[urlParam];
|
506
|
-
if (
|
636
|
+
if (isDefined(val) && val !== null) {
|
507
637
|
if (paramInfo.isQueryParamValue) {
|
508
638
|
encodedVal = encodeUriQuery(val, true);
|
509
639
|
} else {
|
510
640
|
encodedVal = encodeUriSegment(val);
|
511
641
|
}
|
512
|
-
url = url.replace(new RegExp(
|
642
|
+
url = url.replace(new RegExp(':' + urlParam + '(\\W|$)', 'g'), function(match, p1) {
|
513
643
|
return encodedVal + p1;
|
514
644
|
});
|
515
645
|
} else {
|
516
|
-
url = url.replace(new RegExp(
|
646
|
+
url = url.replace(new RegExp('(/?):' + urlParam + '(\\W|$)', 'g'), function(match,
|
517
647
|
leadingSlashes, tail) {
|
518
|
-
if (tail.charAt(0)
|
648
|
+
if (tail.charAt(0) === '/') {
|
519
649
|
return tail;
|
520
650
|
} else {
|
521
651
|
return leadingSlashes + tail;
|
@@ -529,11 +659,12 @@ angular.module('ngResource', ['ng']).
|
|
529
659
|
url = url.replace(/\/+$/, '') || '/';
|
530
660
|
}
|
531
661
|
|
532
|
-
//
|
533
|
-
// E.g. `http://url.com/id
|
662
|
+
// Collapse `/.` if found in the last URL path segment before the query.
|
663
|
+
// E.g. `http://url.com/id/.format?q=x` becomes `http://url.com/id.format?q=x`.
|
534
664
|
url = url.replace(/\/\.(?=\w+($|\?))/, '.');
|
535
|
-
//
|
536
|
-
|
665
|
+
// Replace escaped `/\.` with `/.`.
|
666
|
+
// (If `\.` comes from a param value, it will be encoded as `%5C.`.)
|
667
|
+
config.url = protocolAndIpv6 + url.replace(/\/(\\|%5C)\./, '/.');
|
537
668
|
|
538
669
|
|
539
670
|
// set params - delegate param encoding to $http
|
@@ -556,8 +687,8 @@ angular.module('ngResource', ['ng']).
|
|
556
687
|
var ids = {};
|
557
688
|
actionParams = extend({}, paramDefaults, actionParams);
|
558
689
|
forEach(actionParams, function(value, key) {
|
559
|
-
if (isFunction(value)) { value = value(); }
|
560
|
-
ids[key] = value && value.charAt && value.charAt(0)
|
690
|
+
if (isFunction(value)) { value = value(data); }
|
691
|
+
ids[key] = value && value.charAt && value.charAt(0) === '@' ?
|
561
692
|
lookupDottedPath(data, value.substr(1)) : value;
|
562
693
|
});
|
563
694
|
return ids;
|
@@ -575,17 +706,17 @@ angular.module('ngResource', ['ng']).
|
|
575
706
|
var data = extend({}, this);
|
576
707
|
delete data.$promise;
|
577
708
|
delete data.$resolved;
|
709
|
+
delete data.$cancelRequest;
|
578
710
|
return data;
|
579
711
|
};
|
580
712
|
|
581
713
|
forEach(actions, function(action, name) {
|
582
|
-
var hasBody = /^(POST|PUT|PATCH)$/i.test(action.method);
|
714
|
+
var hasBody = action.hasBody === true || (action.hasBody !== false && /^(POST|PUT|PATCH)$/i.test(action.method));
|
583
715
|
var numericTimeout = action.timeout;
|
584
|
-
var cancellable =
|
585
|
-
|
586
|
-
provider.defaults.cancellable;
|
716
|
+
var cancellable = isDefined(action.cancellable) ?
|
717
|
+
action.cancellable : route.defaults.cancellable;
|
587
718
|
|
588
|
-
if (numericTimeout && !
|
719
|
+
if (numericTimeout && !isNumber(numericTimeout)) {
|
589
720
|
$log.debug('ngResource:\n' +
|
590
721
|
' Only numeric values are allowed as `timeout`.\n' +
|
591
722
|
' Promises are not supported in $resource, because the same value would ' +
|
@@ -596,54 +727,61 @@ angular.module('ngResource', ['ng']).
|
|
596
727
|
}
|
597
728
|
|
598
729
|
Resource[name] = function(a1, a2, a3, a4) {
|
599
|
-
var params = {}, data,
|
730
|
+
var params = {}, data, onSuccess, onError;
|
600
731
|
|
601
|
-
/* jshint -W086 */ /* (purposefully fall through case statements) */
|
602
732
|
switch (arguments.length) {
|
603
733
|
case 4:
|
604
|
-
|
605
|
-
|
606
|
-
|
734
|
+
onError = a4;
|
735
|
+
onSuccess = a3;
|
736
|
+
// falls through
|
607
737
|
case 3:
|
608
738
|
case 2:
|
609
739
|
if (isFunction(a2)) {
|
610
740
|
if (isFunction(a1)) {
|
611
|
-
|
612
|
-
|
741
|
+
onSuccess = a1;
|
742
|
+
onError = a2;
|
613
743
|
break;
|
614
744
|
}
|
615
745
|
|
616
|
-
|
617
|
-
|
618
|
-
//
|
746
|
+
onSuccess = a2;
|
747
|
+
onError = a3;
|
748
|
+
// falls through
|
619
749
|
} else {
|
620
750
|
params = a1;
|
621
751
|
data = a2;
|
622
|
-
|
752
|
+
onSuccess = a3;
|
623
753
|
break;
|
624
754
|
}
|
755
|
+
// falls through
|
625
756
|
case 1:
|
626
|
-
if (isFunction(a1))
|
757
|
+
if (isFunction(a1)) onSuccess = a1;
|
627
758
|
else if (hasBody) data = a1;
|
628
759
|
else params = a1;
|
629
760
|
break;
|
630
761
|
case 0: break;
|
631
762
|
default:
|
632
763
|
throw $resourceMinErr('badargs',
|
633
|
-
|
764
|
+
'Expected up to 4 arguments [params, data, success, error], got {0} arguments',
|
634
765
|
arguments.length);
|
635
766
|
}
|
636
|
-
/* jshint +W086 */ /* (purposefully fall through case statements) */
|
637
767
|
|
638
768
|
var isInstanceCall = this instanceof Resource;
|
639
769
|
var value = isInstanceCall ? data : (action.isArray ? [] : new Resource(data));
|
640
770
|
var httpConfig = {};
|
771
|
+
var requestInterceptor = action.interceptor && action.interceptor.request || undefined;
|
772
|
+
var requestErrorInterceptor = action.interceptor && action.interceptor.requestError ||
|
773
|
+
undefined;
|
641
774
|
var responseInterceptor = action.interceptor && action.interceptor.response ||
|
642
775
|
defaultResponseInterceptor;
|
643
776
|
var responseErrorInterceptor = action.interceptor && action.interceptor.responseError ||
|
644
|
-
|
777
|
+
$q.reject;
|
778
|
+
var successCallback = onSuccess ? function(val) {
|
779
|
+
onSuccess(val, response.headers, response.status, response.statusText);
|
780
|
+
} : undefined;
|
781
|
+
var errorCallback = onError || undefined;
|
645
782
|
var timeoutDeferred;
|
646
783
|
var numericTimeoutPromise;
|
784
|
+
var response;
|
647
785
|
|
648
786
|
forEach(action, function(value, key) {
|
649
787
|
switch (key) {
|
@@ -672,23 +810,28 @@ angular.module('ngResource', ['ng']).
|
|
672
810
|
extend({}, extractParams(data, action.params || {}), params),
|
673
811
|
action.url);
|
674
812
|
|
675
|
-
|
676
|
-
|
813
|
+
// Start the promise chain
|
814
|
+
var promise = $q.
|
815
|
+
resolve(httpConfig).
|
816
|
+
then(requestInterceptor).
|
817
|
+
catch(requestErrorInterceptor).
|
818
|
+
then($http);
|
819
|
+
|
820
|
+
promise = promise.then(function(resp) {
|
821
|
+
var data = resp.data;
|
677
822
|
|
678
823
|
if (data) {
|
679
824
|
// Need to convert action.isArray to boolean in case it is undefined
|
680
|
-
|
681
|
-
if (angular.isArray(data) !== (!!action.isArray)) {
|
825
|
+
if (isArray(data) !== (!!action.isArray)) {
|
682
826
|
throw $resourceMinErr('badcfg',
|
683
827
|
'Error in resource configuration for action `{0}`. Expected response to ' +
|
684
828
|
'contain an {1} but got an {2} (Request: {3} {4})', name, action.isArray ? 'array' : 'object',
|
685
|
-
|
829
|
+
isArray(data) ? 'array' : 'object', httpConfig.method, httpConfig.url);
|
686
830
|
}
|
687
|
-
// jshint +W018
|
688
831
|
if (action.isArray) {
|
689
832
|
value.length = 0;
|
690
833
|
forEach(data, function(item) {
|
691
|
-
if (typeof item ===
|
834
|
+
if (typeof item === 'object') {
|
692
835
|
value.push(new Resource(item));
|
693
836
|
} else {
|
694
837
|
// Valid JSON values may be string literals, and these should not be converted
|
@@ -703,30 +846,27 @@ angular.module('ngResource', ['ng']).
|
|
703
846
|
value.$promise = promise; // Restore the promise
|
704
847
|
}
|
705
848
|
}
|
706
|
-
response.resource = value;
|
707
849
|
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
850
|
+
resp.resource = value;
|
851
|
+
response = resp;
|
852
|
+
return responseInterceptor(resp);
|
853
|
+
}, function(rejectionOrResponse) {
|
854
|
+
rejectionOrResponse.resource = value;
|
855
|
+
response = rejectionOrResponse;
|
856
|
+
return responseErrorInterceptor(rejectionOrResponse);
|
712
857
|
});
|
713
858
|
|
714
|
-
promise['finally'](function() {
|
859
|
+
promise = promise['finally'](function() {
|
715
860
|
value.$resolved = true;
|
716
861
|
if (!isInstanceCall && cancellable) {
|
717
|
-
value.$cancelRequest =
|
862
|
+
value.$cancelRequest = noop;
|
718
863
|
$timeout.cancel(numericTimeoutPromise);
|
719
864
|
timeoutDeferred = numericTimeoutPromise = httpConfig.timeout = null;
|
720
865
|
}
|
721
866
|
});
|
722
867
|
|
723
|
-
|
724
|
-
|
725
|
-
var value = responseInterceptor(response);
|
726
|
-
(success || noop)(value, response.headers);
|
727
|
-
return value;
|
728
|
-
},
|
729
|
-
responseErrorInterceptor);
|
868
|
+
// Run the `success`/`error` callbacks, but do not let them affect the returned promise.
|
869
|
+
promise.then(successCallback, errorCallback);
|
730
870
|
|
731
871
|
if (!isInstanceCall) {
|
732
872
|
// we are creating instance / collection
|
@@ -734,13 +874,20 @@ angular.module('ngResource', ['ng']).
|
|
734
874
|
// - return the instance / collection
|
735
875
|
value.$promise = promise;
|
736
876
|
value.$resolved = false;
|
737
|
-
if (cancellable) value.$cancelRequest =
|
877
|
+
if (cancellable) value.$cancelRequest = cancelRequest;
|
738
878
|
|
739
879
|
return value;
|
740
880
|
}
|
741
881
|
|
742
882
|
// instance call
|
743
883
|
return promise;
|
884
|
+
|
885
|
+
function cancelRequest(value) {
|
886
|
+
promise.catch(noop);
|
887
|
+
if (timeoutDeferred !== null) {
|
888
|
+
timeoutDeferred.resolve(value);
|
889
|
+
}
|
890
|
+
}
|
744
891
|
};
|
745
892
|
|
746
893
|
|
@@ -753,10 +900,6 @@ angular.module('ngResource', ['ng']).
|
|
753
900
|
};
|
754
901
|
});
|
755
902
|
|
756
|
-
Resource.bind = function(additionalParamDefaults) {
|
757
|
-
return resourceFactory(url, extend({}, paramDefaults, additionalParamDefaults), actions);
|
758
|
-
};
|
759
|
-
|
760
903
|
return Resource;
|
761
904
|
}
|
762
905
|
|