nautobot 2.1.0b1__py3-none-any.whl → 2.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nautobot/__init__.py +1 -3
- nautobot/apps/__init__.py +1 -2
- nautobot/apps/admin.py +0 -1
- nautobot/apps/api.py +0 -1
- nautobot/apps/change_logging.py +0 -1
- nautobot/apps/choices.py +0 -3
- nautobot/apps/datasources.py +2 -2
- nautobot/apps/exceptions.py +0 -1
- nautobot/apps/factory.py +0 -1
- nautobot/apps/filters.py +6 -9
- nautobot/apps/forms.py +1 -2
- nautobot/apps/graphql.py +0 -1
- nautobot/apps/jobs.py +2 -1
- nautobot/apps/models.py +4 -2
- nautobot/apps/querysets.py +0 -1
- nautobot/apps/secrets.py +0 -1
- nautobot/apps/tables.py +0 -1
- nautobot/apps/testing.py +0 -1
- nautobot/apps/ui.py +1 -3
- nautobot/apps/urls.py +0 -1
- nautobot/apps/utils.py +0 -1
- nautobot/apps/views.py +0 -1
- nautobot/circuits/api/serializers.py +1 -1
- nautobot/circuits/api/urls.py +1 -1
- nautobot/circuits/api/views.py +2 -1
- nautobot/circuits/apps.py +1 -1
- nautobot/circuits/choices.py +0 -1
- nautobot/circuits/factory.py +1 -1
- nautobot/circuits/filters.py +2 -1
- nautobot/circuits/forms.py +2 -2
- nautobot/circuits/homepage.py +0 -1
- nautobot/circuits/migrations/0001_initial_part_1.py +3 -1
- nautobot/circuits/migrations/0002_initial_part_2.py +2 -1
- nautobot/circuits/migrations/0003_auto_slug.py +1 -0
- nautobot/circuits/migrations/0005_providernetwork.py +4 -2
- nautobot/circuits/migrations/0013_alter_circuittermination__path.py +1 -0
- nautobot/circuits/migrations/0014_related_name_changes.py +1 -0
- nautobot/circuits/migrations/0016_tagsfield.py +1 -0
- nautobot/circuits/migrations/0018_status_nonnullable.py +1 -0
- nautobot/circuits/models.py +2 -2
- nautobot/circuits/navigation.py +0 -1
- nautobot/circuits/signals.py +3 -2
- nautobot/circuits/tables.py +1 -0
- nautobot/circuits/tests/integration/test_relationships.py +1 -1
- nautobot/circuits/tests/test_api.py +1 -1
- nautobot/circuits/tests/test_urls.py +1 -1
- nautobot/circuits/tests/test_views.py +1 -0
- nautobot/circuits/urls.py +1 -1
- nautobot/circuits/views.py +1 -10
- nautobot/core/__init__.py +0 -1
- nautobot/core/admin.py +3 -5
- nautobot/core/api/__init__.py +0 -1
- nautobot/core/api/metadata.py +4 -6
- nautobot/core/api/pagination.py +2 -2
- nautobot/core/api/parsers.py +1 -3
- nautobot/core/api/renderers.py +0 -1
- nautobot/core/api/schema.py +2 -3
- nautobot/core/api/serializers.py +9 -7
- nautobot/core/api/urls.py +1 -5
- nautobot/core/api/utils.py +14 -15
- nautobot/core/api/versioning.py +1 -1
- nautobot/core/api/views.py +22 -91
- nautobot/core/apps/__init__.py +5 -7
- nautobot/core/authentication.py +1 -1
- nautobot/core/celery/__init__.py +1 -2
- nautobot/core/celery/control.py +0 -2
- nautobot/core/celery/encoders.py +0 -1
- nautobot/core/celery/schedulers.py +1 -2
- nautobot/core/celery/task.py +1 -1
- nautobot/core/checks.py +31 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/cli/__init__.py +8 -17
- nautobot/core/context_processors.py +1 -5
- nautobot/core/factory.py +2 -2
- nautobot/core/filters.py +1 -1
- nautobot/core/forms/fields.py +2 -4
- nautobot/core/forms/forms.py +1 -1
- nautobot/core/forms/search.py +1 -1
- nautobot/core/forms/utils.py +1 -1
- nautobot/core/graphql/__init__.py +2 -3
- nautobot/core/graphql/generators.py +2 -2
- nautobot/core/graphql/schema.py +21 -8
- nautobot/core/graphql/schema_init.py +0 -1
- nautobot/core/graphql/types.py +10 -0
- nautobot/core/graphql/utils.py +1 -2
- nautobot/core/management/commands/generate_test_data.py +7 -6
- nautobot/core/management/commands/makemigrations.py +1 -1
- nautobot/core/management/commands/migrate.py +1 -1
- nautobot/core/management/commands/post_upgrade.py +1 -15
- nautobot/core/management/commands/refresh_content_type_cache.py +1 -2
- nautobot/core/management/commands/send_installation_metrics.py +2 -3
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/middleware.py +2 -2
- nautobot/core/models/__init__.py +12 -12
- nautobot/core/models/fields.py +1 -1
- nautobot/core/models/generics.py +2 -3
- nautobot/core/models/managers.py +0 -1
- nautobot/core/models/name_color_content_types.py +2 -2
- nautobot/core/models/tree_queries.py +2 -4
- nautobot/core/models/validators.py +1 -1
- nautobot/core/releases.py +1 -1
- nautobot/core/runner/importer.py +2 -25
- nautobot/core/runner/runner.py +2 -2
- nautobot/core/runner/settings.py +1 -1
- nautobot/core/settings.py +15 -21
- nautobot/core/settings_funcs.py +1 -2
- nautobot/core/signals.py +0 -1
- nautobot/core/tables.py +1 -1
- nautobot/core/templates/admin/base.html +9 -9
- nautobot/core/templates/exceptions/programming_error.html +2 -2
- nautobot/core/templates/graphene/graphiql.html +9 -3
- nautobot/core/templates/home.html +26 -6
- nautobot/core/templates/inc/footer.html +0 -7
- nautobot/core/templates/inc/javascript.html +4 -2
- nautobot/core/templates/inc/media.html +2 -2
- nautobot/core/templates/inc/nav_menu.html +27 -25
- nautobot/core/templates/inc/object_details_advanced_panel.html +12 -0
- nautobot/core/templates/nautobot_config.py.j2 +4 -4
- nautobot/core/templates/utilities/theme_preview.html +883 -0
- nautobot/core/templatetags/bootstrapped_goodies_tags.py +6 -3
- nautobot/core/templatetags/buttons.py +2 -1
- nautobot/core/templatetags/helpers.py +45 -18
- nautobot/core/testing/__init__.py +1 -2
- nautobot/core/testing/api.py +2 -4
- nautobot/core/testing/filters.py +1 -1
- nautobot/core/testing/integration.py +2 -2
- nautobot/core/testing/migrations.py +1 -0
- nautobot/core/testing/mixins.py +1 -2
- nautobot/core/testing/schema.py +1 -1
- nautobot/core/testing/utils.py +3 -3
- nautobot/core/testing/views.py +8 -8
- nautobot/core/tests/integration/test_home.py +1 -1
- nautobot/core/tests/integration/test_navbar.py +2 -2
- nautobot/core/tests/integration/test_plugin_home.py +2 -1
- nautobot/core/tests/integration/test_plugin_navbar.py +6 -6
- nautobot/core/tests/nautobot_config.py +3 -3
- nautobot/core/tests/runner.py +3 -4
- nautobot/core/tests/test_api.py +6 -51
- nautobot/core/tests/test_authentication.py +2 -3
- nautobot/core/tests/test_checks.py +1 -2
- nautobot/core/tests/test_config.py +1 -1
- nautobot/core/tests/test_csv.py +4 -4
- nautobot/core/tests/test_factory.py +1 -3
- nautobot/core/tests/test_filters.py +4 -7
- nautobot/core/tests/test_forms.py +3 -6
- nautobot/core/tests/test_graphql.py +33 -17
- nautobot/core/tests/test_jinja_filters.py +5 -4
- nautobot/core/tests/test_jobs.py +1 -1
- nautobot/core/tests/test_models.py +28 -3
- nautobot/core/tests/test_navigations.py +2 -1
- nautobot/core/tests/test_openapi.py +0 -1
- nautobot/core/tests/test_paginator.py +2 -2
- nautobot/core/tests/test_releases.py +2 -2
- nautobot/core/tests/test_tables.py +1 -1
- nautobot/core/tests/test_templatetags_helpers.py +17 -2
- nautobot/core/tests/test_templatetags_netutils.py +1 -2
- nautobot/core/tests/test_utils.py +4 -8
- nautobot/core/tests/test_views.py +95 -1
- nautobot/core/tests/test_views_utils.py +0 -1
- nautobot/core/urls.py +24 -4
- nautobot/core/utils/color.py +1 -1
- nautobot/core/utils/data.py +1 -2
- nautobot/core/utils/filtering.py +4 -5
- nautobot/core/utils/git.py +6 -2
- nautobot/core/utils/logging.py +2 -1
- nautobot/core/utils/lookup.py +4 -6
- nautobot/core/utils/migrations.py +1 -0
- nautobot/core/utils/permissions.py +2 -4
- nautobot/core/utils/requests.py +10 -0
- nautobot/core/views/__init__.py +32 -8
- nautobot/core/views/generic.py +14 -13
- nautobot/core/views/mixins.py +24 -22
- nautobot/core/views/renderers.py +1 -1
- nautobot/core/views/routers.py +6 -0
- nautobot/core/views/utils.py +2 -1
- nautobot/dcim/api/urls.py +1 -1
- nautobot/dcim/api/views.py +6 -5
- nautobot/dcim/apps.py +1 -1
- nautobot/dcim/choices.py +4 -1
- nautobot/dcim/constants.py +0 -1
- nautobot/dcim/elevations.py +1 -2
- nautobot/dcim/factory.py +125 -13
- nautobot/dcim/fields.py +1 -0
- nautobot/dcim/filters/__init__.py +2 -3
- nautobot/dcim/filters/mixins.py +1 -1
- nautobot/dcim/forms.py +37 -44
- nautobot/dcim/graphql/types.py +16 -17
- nautobot/dcim/migrations/0001_initial_part_1.py +4 -2
- nautobot/dcim/migrations/0002_initial_part_2.py +2 -1
- nautobot/dcim/migrations/0003_initial_part_3.py +2 -1
- nautobot/dcim/migrations/0004_initial_part_4.py +2 -1
- nautobot/dcim/migrations/0006_auto_slug.py +1 -0
- nautobot/dcim/migrations/0009_add_natural_indexing.py +1 -0
- nautobot/dcim/migrations/0010_interface_status.py +1 -0
- nautobot/dcim/migrations/0011_interface_status_data_migration.py +1 -0
- nautobot/dcim/migrations/0013_location_location_type.py +4 -2
- nautobot/dcim/migrations/0014_location_status_data_migration.py +1 -0
- nautobot/dcim/migrations/0016_device_components__timestamp_data_migration.py +0 -1
- nautobot/dcim/migrations/0018_device_redundancy_group.py +4 -2
- nautobot/dcim/migrations/0019_device_redundancy_group_data_migration.py +1 -0
- nautobot/dcim/migrations/0022_interface_redundancy_group.py +3 -1
- nautobot/dcim/migrations/0023_interface_redundancy_group_data_migration.py +1 -0
- nautobot/dcim/migrations/0024_move_site_fields_to_location_model.py +2 -1
- nautobot/dcim/migrations/0027_alter_interface_mac_address.py +1 -0
- nautobot/dcim/migrations/0028_alter_device_and_rack_role_add_new_role.py +1 -0
- nautobot/dcim/migrations/0029_device_and_rack_roles_data_migrations.py +1 -0
- nautobot/dcim/migrations/0033_add_tree_managers_and_foreign_keys_pre_data_migration.py +1 -0
- nautobot/dcim/migrations/0034_migrate_region_and_site_data_to_locations.py +1 -2
- nautobot/dcim/migrations/0038_fixup_fks_and_related_names.py +1 -0
- nautobot/dcim/migrations/0039_related_name_changes.py +1 -0
- nautobot/dcim/migrations/0042_alter_location_managers.py +1 -0
- nautobot/dcim/migrations/0044_tagsfield.py +1 -0
- nautobot/dcim/migrations/0047_status_nonnullable.py +1 -0
- nautobot/dcim/migrations/0051_interface_redundancy_group_nullable_status.py +1 -0
- nautobot/dcim/models/cables.py +3 -3
- nautobot/dcim/models/device_component_templates.py +6 -6
- nautobot/dcim/models/devices.py +9 -4
- nautobot/dcim/models/locations.py +6 -1
- nautobot/dcim/models/power.py +1 -1
- nautobot/dcim/models/racks.py +5 -4
- nautobot/dcim/navigation.py +0 -1
- nautobot/dcim/signals.py +3 -2
- nautobot/dcim/tables/__init__.py +5 -4
- nautobot/dcim/tables/cables.py +1 -0
- nautobot/dcim/tables/devices.py +1 -0
- nautobot/dcim/tables/locations.py +1 -1
- nautobot/dcim/tables/power.py +1 -0
- nautobot/dcim/tables/racks.py +2 -1
- nautobot/dcim/templates/dcim/device/consoleports.html +2 -2
- nautobot/dcim/templates/dcim/device/consoleserverports.html +2 -2
- nautobot/dcim/templates/dcim/device/devicebays.html +1 -1
- nautobot/dcim/templates/dcim/device/frontports.html +2 -2
- nautobot/dcim/templates/dcim/device/interfaces.html +4 -4
- nautobot/dcim/templates/dcim/device/inventory.html +1 -1
- nautobot/dcim/templates/dcim/device/poweroutlets.html +2 -2
- nautobot/dcim/templates/dcim/device/powerports.html +2 -2
- nautobot/dcim/templates/dcim/device/rearports.html +2 -2
- nautobot/dcim/templates/dcim/inc/location_hierarchy.html +4 -2
- nautobot/dcim/templates/dcim/rack.html +1 -1
- nautobot/dcim/templates/dcim/rack_elevation_list.html +1 -1
- nautobot/dcim/templates/dcim/rackreservation.html +1 -1
- nautobot/dcim/tests/test_api.py +7 -7
- nautobot/dcim/tests/test_cablepaths.py +0 -1
- nautobot/dcim/tests/test_filters.py +16 -13
- nautobot/dcim/tests/test_forms.py +2 -3
- nautobot/dcim/tests/test_graphql.py +1 -0
- nautobot/dcim/tests/test_migrations.py +2 -2
- nautobot/dcim/tests/test_models.py +2 -2
- nautobot/dcim/tests/test_views.py +77 -14
- nautobot/dcim/urls.py +3 -2
- nautobot/dcim/utils.py +1 -1
- nautobot/dcim/views.py +4 -3
- nautobot/extras/admin.py +2 -1
- nautobot/extras/api/customfields.py +0 -2
- nautobot/extras/api/mixins.py +0 -1
- nautobot/extras/api/serializers.py +4 -4
- nautobot/extras/api/urls.py +1 -1
- nautobot/extras/api/views.py +1 -1
- nautobot/extras/apps.py +3 -4
- nautobot/extras/choices.py +3 -18
- nautobot/extras/context_managers.py +1 -1
- nautobot/extras/datasources/__init__.py +3 -1
- nautobot/extras/datasources/git.py +33 -12
- nautobot/extras/datasources/utils.py +0 -1
- nautobot/extras/factory.py +20 -0
- nautobot/extras/filters/__init__.py +2 -3
- nautobot/extras/filters/customfields.py +0 -1
- nautobot/extras/filters/mixins.py +1 -1
- nautobot/extras/forms/__init__.py +3 -4
- nautobot/extras/forms/base.py +1 -1
- nautobot/extras/forms/forms.py +29 -11
- nautobot/extras/forms/mixins.py +1 -1
- nautobot/extras/graphql/types.py +2 -2
- nautobot/extras/health_checks.py +1 -1
- nautobot/extras/jobs.py +43 -25
- nautobot/extras/management/__init__.py +0 -1
- nautobot/extras/management/commands/refresh_dynamic_group_member_caches.py +1 -1
- nautobot/extras/management/commands/runjob.py +3 -3
- nautobot/extras/management/commands/webhook_receiver.py +1 -2
- nautobot/extras/migrations/0001_initial_part_1.py +2 -1
- nautobot/extras/migrations/0002_initial_part_2.py +2 -1
- nautobot/extras/migrations/0003_initial_part_3.py +1 -0
- nautobot/extras/migrations/0006_graphqlquery.py +2 -1
- nautobot/extras/migrations/0007_configcontextschema.py +3 -1
- nautobot/extras/migrations/0009_computedfield.py +3 -1
- nautobot/extras/migrations/0011_fileattachment_fileproxy.py +3 -1
- nautobot/extras/migrations/0012_healthchecktestmodel.py +2 -1
- nautobot/extras/migrations/0014_auto_slug.py +1 -0
- nautobot/extras/migrations/0015_scheduled_job.py +3 -1
- nautobot/extras/migrations/0016_secret.py +4 -2
- nautobot/extras/migrations/0017_joblogentry.py +2 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +2 -1
- nautobot/extras/migrations/0021_customfield_changelog_data.py +3 -2
- nautobot/extras/migrations/0022_objectchange_object_datav2.py +1 -0
- nautobot/extras/migrations/0023_job_model.py +4 -2
- nautobot/extras/migrations/0026_job_add_gitrepository_fk.py +1 -0
- nautobot/extras/migrations/0029_dynamicgroup.py +3 -1
- nautobot/extras/migrations/0031_tag_content_types.py +1 -0
- nautobot/extras/migrations/0032_tag_content_types_data_migration.py +1 -0
- nautobot/extras/migrations/0040_dynamicgroup__dynamicgroupmembership.py +2 -1
- nautobot/extras/migrations/0041_jobresult_job_kwargs.py +1 -0
- nautobot/extras/migrations/0043_note.py +3 -1
- nautobot/extras/migrations/0044_add_job_hook.py +3 -1
- nautobot/extras/migrations/0046_populate_custom_field_slug_label.py +1 -0
- nautobot/extras/migrations/0047_enforce_custom_field_slug.py +1 -0
- nautobot/extras/migrations/0051_add_job_task_queues.py +1 -0
- nautobot/extras/migrations/0055_configcontext_dynamic_groups.py +1 -0
- nautobot/extras/migrations/0057_jobbutton.py +3 -1
- nautobot/extras/migrations/0065_configcontext_data_migrations.py +1 -0
- nautobot/extras/migrations/0067_migrate_job_result_status.py +0 -1
- nautobot/extras/migrations/0068_jobresult__add_celery_fields.py +1 -0
- nautobot/extras/migrations/0071_replace_related_names.py +1 -0
- nautobot/extras/migrations/0077_migrate_custom_field_data.py +1 -0
- nautobot/extras/migrations/0078_remove_name_field_and_make_label_field_non_nullable.py +1 -0
- nautobot/extras/migrations/0080_tagsfield.py +1 -0
- nautobot/extras/migrations/0082_rename_relationship_name_to_label.py +1 -0
- nautobot/extras/migrations/0083_ensure_relationship_keys_are_unique.py +1 -0
- nautobot/extras/migrations/0090_joblogentry__log_level_data_migration.py +0 -1
- nautobot/extras/migrations/0095_ensure_note_timestamps_are_unique.py +4 -5
- nautobot/extras/migrations/0097_alter_job_result_remove_result.py +1 -0
- nautobot/extras/migrations/0100_fileproxy_job_result.py +1 -0
- nautobot/extras/migrations/0101_externalintegration.py +9 -1
- nautobot/extras/models/__init__.py +2 -3
- nautobot/extras/models/change_logging.py +0 -1
- nautobot/extras/models/customfields.py +13 -4
- nautobot/extras/models/datasources.py +2 -2
- nautobot/extras/models/groups.py +3 -4
- nautobot/extras/models/jobs.py +13 -7
- nautobot/extras/models/models.py +61 -24
- nautobot/extras/models/relationships.py +8 -4
- nautobot/extras/models/roles.py +1 -1
- nautobot/extras/models/secrets.py +1 -3
- nautobot/extras/models/tags.py +0 -1
- nautobot/extras/navigation.py +0 -1
- nautobot/extras/plugins/__init__.py +6 -7
- nautobot/extras/plugins/tables.py +1 -2
- nautobot/extras/plugins/utils.py +1 -1
- nautobot/extras/plugins/views.py +21 -21
- nautobot/extras/querysets.py +30 -13
- nautobot/extras/signals.py +6 -7
- nautobot/extras/tables.py +13 -5
- nautobot/extras/tasks.py +1 -2
- nautobot/extras/templates/extras/configcontext_edit.html +1 -1
- nautobot/extras/templates/extras/customfield_edit.html +7 -12
- nautobot/extras/templates/extras/dynamicgroup_edit.html +42 -47
- nautobot/extras/templates/extras/externalintegration_retrieve.html +12 -0
- nautobot/extras/templates/extras/externalintegration_update.html +28 -0
- nautobot/extras/templates/extras/gitrepository_result.html +2 -2
- nautobot/extras/templates/extras/graphqlquery.html +4 -2
- nautobot/extras/templates/extras/inc/jobresult_js.html +1 -1
- nautobot/extras/templates/extras/job_list.html +1 -1
- nautobot/extras/templates/extras/jobresult.html +2 -2
- nautobot/extras/templates/extras/secretsgroup_edit.html +40 -45
- nautobot/extras/templatetags/custom_links.py +2 -3
- nautobot/extras/templatetags/job_buttons.py +76 -83
- nautobot/extras/templatetags/log_levels.py +0 -1
- nautobot/extras/templatetags/plugins.py +1 -1
- nautobot/extras/test_jobs/api_test_job.py +1 -2
- nautobot/extras/test_jobs/atomic_transaction.py +1 -2
- nautobot/extras/test_jobs/dry_run.py +1 -2
- nautobot/extras/test_jobs/fail.py +1 -2
- nautobot/extras/test_jobs/field_order.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -2
- nautobot/extras/test_jobs/file_upload_pass.py +1 -2
- nautobot/extras/test_jobs/has_sensitive_variables.py +1 -2
- nautobot/extras/test_jobs/ipaddress_vars.py +1 -4
- nautobot/extras/test_jobs/job_button_receiver.py +1 -2
- nautobot/extras/test_jobs/job_hook_receiver.py +1 -2
- nautobot/extras/test_jobs/job_variables.py +7 -2
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -2
- nautobot/extras/test_jobs/log_redaction.py +1 -2
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -2
- nautobot/extras/test_jobs/modify_db.py +1 -2
- nautobot/extras/test_jobs/object_var_optional.py +1 -2
- nautobot/extras/test_jobs/object_var_required.py +1 -2
- nautobot/extras/test_jobs/object_vars.py +1 -2
- nautobot/extras/test_jobs/pass.py +1 -2
- nautobot/extras/test_jobs/profiling.py +1 -2
- nautobot/extras/tests/integration/__init__.py +1 -1
- nautobot/extras/tests/integration/test_computedfields.py +2 -2
- nautobot/extras/tests/integration/test_configcontextschema.py +5 -5
- nautobot/extras/tests/integration/test_plugins.py +5 -4
- nautobot/extras/tests/integration/test_tagfilter.py +1 -1
- nautobot/extras/tests/test_api.py +15 -9
- nautobot/extras/tests/test_changelog.py +3 -2
- nautobot/extras/tests/test_context_managers.py +6 -3
- nautobot/extras/tests/test_customfields.py +4 -4
- nautobot/extras/tests/test_datasources.py +1 -1
- nautobot/extras/tests/test_dynamicgroups.py +3 -3
- nautobot/extras/tests/test_filters.py +3 -2
- nautobot/extras/tests/test_forms.py +5 -6
- nautobot/extras/tests/test_git.py +1 -1
- nautobot/extras/tests/test_job_variables.py +20 -1
- nautobot/extras/tests/test_jobs.py +34 -5
- nautobot/extras/tests/test_models.py +156 -6
- nautobot/extras/tests/test_notes.py +0 -1
- nautobot/extras/tests/test_plugins.py +71 -9
- nautobot/extras/tests/test_relationships.py +3 -3
- nautobot/extras/tests/test_tags.py +1 -1
- nautobot/extras/tests/test_views.py +105 -25
- nautobot/extras/tests/test_webhooks.py +4 -5
- nautobot/extras/urls.py +0 -2
- nautobot/extras/utils.py +11 -9
- nautobot/extras/views.py +42 -44
- nautobot/generate_secret_key.py +10 -5
- nautobot/ipam/api/serializers.py +1 -2
- nautobot/ipam/api/urls.py +1 -1
- nautobot/ipam/api/views.py +1 -0
- nautobot/ipam/apps.py +2 -1
- nautobot/ipam/factory.py +6 -9
- nautobot/ipam/fields.py +1 -1
- nautobot/ipam/filters.py +42 -58
- nautobot/ipam/formfields.py +1 -2
- nautobot/ipam/forms.py +5 -4
- nautobot/ipam/graphql/types.py +1 -1
- nautobot/ipam/homepage.py +0 -1
- nautobot/ipam/lookups.py +2 -3
- nautobot/ipam/migrations/0002_initial_part_2.py +2 -1
- nautobot/ipam/migrations/0003_remove_max_length.py +1 -0
- nautobot/ipam/migrations/0004_fixup_p2p_broadcast.py +0 -1
- nautobot/ipam/migrations/0005_auto_slug.py +1 -0
- nautobot/ipam/migrations/0010_alter_ipam_role_add_new_role.py +1 -0
- nautobot/ipam/migrations/0011_migrate_ipam_role_data.py +1 -0
- nautobot/ipam/migrations/0020_related_name_changes.py +1 -0
- nautobot/ipam/migrations/0022_aggregate_to_prefix_data_migration.py +1 -2
- nautobot/ipam/migrations/0024_interface_to_ipaddress_m2m.py +2 -1
- nautobot/ipam/migrations/0025_interface_ipaddress_m2m_data_migration.py +15 -13
- nautobot/ipam/migrations/0028_tagsfield.py +1 -0
- nautobot/ipam/migrations/0030_ipam__namespaces.py +3 -1
- nautobot/ipam/migrations/0034_status_nonnullable.py +1 -0
- nautobot/ipam/migrations/0037_data_migration_vlan_group_name_uniqueness.py +0 -1
- nautobot/ipam/migrations/0039_alter_ipaddresstointerface_ip_address.py +20 -0
- nautobot/ipam/models.py +11 -8
- nautobot/ipam/navigation.py +0 -1
- nautobot/ipam/querysets.py +48 -49
- nautobot/ipam/tables.py +11 -2
- nautobot/ipam/templates/ipam/ipaddress.html +30 -6
- nautobot/ipam/templates/ipam/ipaddress_interfaces.html +3 -3
- nautobot/ipam/templates/ipam/ipaddress_vm_interfaces.html +32 -0
- nautobot/ipam/tests/test_api.py +2 -2
- nautobot/ipam/tests/test_filters.py +13 -17
- nautobot/ipam/tests/test_migrations.py +1 -2
- nautobot/ipam/tests/test_models.py +17 -2
- nautobot/ipam/tests/test_ordering.py +1 -1
- nautobot/ipam/tests/test_querysets.py +2 -2
- nautobot/ipam/tests/test_views.py +6 -6
- nautobot/ipam/urls.py +6 -0
- nautobot/ipam/utils/migrations.py +0 -1
- nautobot/ipam/views.py +26 -6
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css +142 -142
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +307 -307
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/css/base.css +59 -30
- nautobot/project-static/css/dark.css +38 -31
- nautobot/project-static/docs/404.html +17 -87
- nautobot/project-static/docs/apps/index.html +17 -87
- nautobot/project-static/docs/apps/nautobot-apps.html +17 -87
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +405 -475
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +28 -98
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +2334 -2396
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +17 -87
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +132 -202
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +17 -87
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +155 -87
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +17 -87
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +17 -87
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +42 -112
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +1028 -1098
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +186 -256
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +1454 -1156
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +1443 -1507
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +157 -203
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +17 -87
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +32 -102
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +3822 -3888
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +990 -1060
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +65 -123
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +1431 -1495
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +3618 -3640
- nautobot/project-static/docs/development/apps/api/configuration-view.html +17 -87
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +19 -89
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +17 -87
- nautobot/project-static/docs/development/apps/api/models/global-search.html +17 -87
- nautobot/project-static/docs/development/apps/api/models/graphql.html +17 -87
- nautobot/project-static/docs/development/apps/api/models/index.html +17 -87
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +17 -87
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +17 -87
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +19 -89
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +19 -89
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +19 -89
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +17 -87
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +17 -87
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +21 -87
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +17 -87
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +17 -87
- nautobot/project-static/docs/development/apps/api/prometheus.html +17 -87
- nautobot/project-static/docs/development/apps/api/setup.html +17 -87
- nautobot/project-static/docs/development/apps/api/testing.html +20 -90
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +17 -87
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +17 -87
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +17 -87
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +19 -89
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-detail-views.html +209 -140
- nautobot/project-static/docs/development/apps/api/ui-extensions/tabs.html +13 -5390
- nautobot/project-static/docs/development/apps/api/views/base-template.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +22 -92
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/index.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/notes.html +19 -89
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/urls.html +17 -87
- nautobot/project-static/docs/development/apps/api/views/view-overrides.html +13 -5385
- nautobot/project-static/docs/development/apps/index.html +17 -87
- nautobot/project-static/docs/development/apps/migration/code-updates.html +17 -87
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +17 -87
- nautobot/project-static/docs/development/apps/migration/from-v1.html +17 -88
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +17 -87
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +17 -87
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +17 -87
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +17 -87
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +17 -87
- nautobot/project-static/docs/development/core/application-registry.html +20 -90
- nautobot/project-static/docs/development/core/best-practices.html +20 -90
- nautobot/project-static/docs/development/core/bootstrap-ui.html +5360 -0
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +17 -87
- nautobot/project-static/docs/development/core/extending-models.html +21 -87
- nautobot/project-static/docs/development/core/generic-views.html +17 -87
- nautobot/project-static/docs/development/core/getting-started.html +124 -301
- nautobot/project-static/docs/development/core/homepage.html +17 -87
- nautobot/project-static/docs/development/core/index.html +17 -87
- nautobot/project-static/docs/development/core/model-features.html +17 -87
- nautobot/project-static/docs/development/core/natural-keys.html +17 -87
- nautobot/project-static/docs/development/core/navigation-menu.html +17 -87
- nautobot/project-static/docs/development/core/react-ui.html +13 -5668
- nautobot/project-static/docs/development/core/release-checklist.html +20 -96
- nautobot/project-static/docs/development/core/role-internals.html +20 -90
- nautobot/project-static/docs/development/core/style-guide.html +77 -146
- nautobot/project-static/docs/development/core/templates.html +20 -90
- nautobot/project-static/docs/development/core/testing.html +17 -87
- nautobot/project-static/docs/development/core/user-preferences.html +17 -87
- nautobot/project-static/docs/development/index.html +17 -87
- nautobot/project-static/docs/development/jobs/index.html +424 -425
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +75 -98
- nautobot/project-static/docs/development/react-ui.html +3 -3
- nautobot/project-static/docs/img/relationship_w_json_filter.png +0 -0
- nautobot/project-static/docs/index.html +90 -93
- nautobot/project-static/docs/media/admin_ui_run_permission.png +0 -0
- nautobot/project-static/docs/media/development/homepage_changelog_panel.png +0 -0
- nautobot/project-static/docs/media/development/homepage_dcim_panel.png +0 -0
- nautobot/project-static/docs/media/installation/nautobot_ui_admin.png +0 -0
- nautobot/project-static/docs/media/installation/nautobot_ui_login.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_filtering_01.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_01.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_02.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_03.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_04.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_05.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_01.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_02.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_03.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_04.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_05.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_06.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_07.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_01.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_02.png +0 -0
- nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_03.png +0 -0
- nautobot/project-static/docs/media/models/jobbutton_form.png +0 -0
- nautobot/project-static/docs/media/models/site_jobbuttons.png +0 -0
- nautobot/project-static/docs/media/plugins/plugin_admin_config.png +0 -0
- nautobot/project-static/docs/media/plugins/plugin_admin_ui.png +0 -0
- nautobot/project-static/docs/media/ss_config_contexts.png +0 -0
- nautobot/project-static/docs/media/ss_graphiql.png +0 -0
- nautobot/project-static/docs/media/ss_main_page.png +0 -0
- nautobot/project-static/docs/media/ss_plugin_chatops.png +0 -0
- nautobot/project-static/docs/media/ss_plugin_golden_config.png +0 -0
- nautobot/project-static/docs/media/ss_prefix_hierarchy.png +0 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/release-notes/index.html +17 -87
- nautobot/project-static/docs/release-notes/version-1.0.html +17 -87
- nautobot/project-static/docs/release-notes/version-1.1.html +17 -87
- nautobot/project-static/docs/release-notes/version-1.2.html +17 -87
- nautobot/project-static/docs/release-notes/version-1.3.html +17 -87
- nautobot/project-static/docs/release-notes/version-1.4.html +18 -88
- nautobot/project-static/docs/release-notes/version-1.5.html +17 -87
- nautobot/project-static/docs/release-notes/version-1.6.html +17 -87
- nautobot/project-static/docs/release-notes/version-2.0.html +467 -336
- nautobot/project-static/docs/release-notes/version-2.1.html +470 -108
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +240 -255
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +17 -87
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +20 -90
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +17 -87
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +17 -87
- nautobot/project-static/docs/user-guide/administration/configuration/node-configuration.html +13 -5417
- nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +47 -113
- nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +17 -87
- nautobot/project-static/docs/user-guide/administration/guides/caching.html +17 -87
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +17 -87
- nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +17 -87
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +17 -87
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +17 -87
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +17 -87
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +17 -87
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +17 -87
- nautobot/project-static/docs/user-guide/administration/installation/docker.html +17 -87
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +17 -87
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +17 -87
- nautobot/project-static/docs/user-guide/administration/installation/index.html +22 -109
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +18 -101
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +23 -140
- nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +17 -87
- nautobot/project-static/docs/user-guide/administration/installation/services.html +17 -87
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +17 -87
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +17 -87
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +92 -181
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +18 -88
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +17 -87
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +23 -89
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +18 -88
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/media/ipam_namespace_documentation.drawio +259 -1
- nautobot/project-static/docs/user-guide/core-data-model/ipam/media/ipam_namespace_documentation.drawio.png +0 -0
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +18 -88
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +17 -87
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +17 -87
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +17 -87
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +23 -93
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +17 -87
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +17 -87
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +26 -96
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +35 -103
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +19 -89
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +19 -91
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +19 -89
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +24 -94
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +39 -258
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +45 -243
- nautobot/project-static/docs/user-guide/feature-guides/images/custom-fields/custom_field_choices.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/custom-fields/custom_field_detail_grouped.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/custom-fields/custom_field_detail_label.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/custom-fields/custom_field_edit.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/custom-fields/custom_field_select.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/1-create-location-type.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/10-add-platform.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/11-platforms-page.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/12-add-tenant.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/13-assign-tenant-to-device.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/14-assign-tenant-to-device-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/15-create-device-type.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/16-interface-templates.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/17-templated-interfaces.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/18-assign-device-type.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/19-edit-ints-for-lag.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/2-create-manufacturer.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/20-ints-int-lag.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/21-device-type.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/22-create-vlans.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/23-create-vlans-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/24-vlan-main-page.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/25-add-vlan-to-interface.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/26-add-vlan-to-interface-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/27-add-rir.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/3-create-role.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/30-add-prefix.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/32-add-ip-addr.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/33-assign-address.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/34-assign-address-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/35-assign-address-3.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/36-verify-address.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/37-verify-prefix.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/38-verify-prefix2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/4-create-device-type.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/41-device-search-results.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/42-address-search-v2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/43-get-to-device-main-page.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/44-add-platform.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/5-create-device.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/6-create-location.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/7-location-type-page.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/8-location-page.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/01-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/02-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/03-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/04-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/05-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/06-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/07-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/08-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/09-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/10-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/11-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/12-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/13-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/14-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/15-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/16-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/17-git-data-source.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/00-graphiql.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/01-graphiql-explorer.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/02-graphiql-explorer-device-query.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/03-graphiql-explorer-device-attributes.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/04-graphql-query-01.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/05-graphiql-autocomplete.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/06-graphql-query-02.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/07-graphql-query-03.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/08-graphql-query-04.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/09-graphql-query-05.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/10-graphql-swagger.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/graphql/11-graphql-query-06.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/ip-address-merge-tool/ip_merge_button.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/ip-address-merge-tool/merge_button.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/ip-address-merge-tool/merge_view.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/ip-address-merge-tool/no_more_dup_ips.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/ip-address-merge-tool/skip_button.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/ip-address-merge-tool/unselect_ips.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/01-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/02-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/03-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/04-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/05-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/06-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/07-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/08-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/09-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/10-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/relationships/11-relationships.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +20 -90
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +22 -92
- nautobot/project-static/docs/user-guide/index.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +22 -88
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +68 -87
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +18 -88
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +22 -88
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +18 -88
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +43 -91
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +21 -87
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +17 -87
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +17 -87
- nautobot/project-static/js/homepage_layout.js +170 -0
- nautobot/project-static/js/theme.js +0 -5
- nautobot/tenancy/api/urls.py +1 -1
- nautobot/tenancy/api/views.py +1 -0
- nautobot/tenancy/factory.py +2 -2
- nautobot/tenancy/filters/__init__.py +1 -2
- nautobot/tenancy/forms.py +2 -2
- nautobot/tenancy/homepage.py +0 -1
- nautobot/tenancy/migrations/0001_initial.py +2 -1
- nautobot/tenancy/migrations/0002_auto_slug.py +1 -0
- nautobot/tenancy/migrations/0004_change_tree_manager_on_tree_models.py +1 -0
- nautobot/tenancy/migrations/0008_tagsfield.py +1 -0
- nautobot/tenancy/models.py +0 -1
- nautobot/tenancy/navigation.py +0 -1
- nautobot/tenancy/tables.py +1 -0
- nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
- nautobot/tenancy/tests/test_filters.py +5 -5
- nautobot/tenancy/urls.py +1 -0
- nautobot/tenancy/views.py +2 -2
- nautobot/users/admin.py +1 -2
- nautobot/users/api/urls.py +1 -1
- nautobot/users/api/views.py +6 -4
- nautobot/users/factory.py +8 -24
- nautobot/users/filters.py +4 -4
- nautobot/users/forms.py +1 -0
- nautobot/users/migrations/0004_alter_user_managers.py +1 -0
- nautobot/users/migrations/0008_make_object_permission_a_changelogged_model.py +22 -0
- nautobot/users/models.py +2 -2
- nautobot/users/tests/test_api.py +7 -6
- nautobot/users/tests/test_filters.py +0 -1
- nautobot/users/tests/test_models.py +0 -1
- nautobot/users/tests/test_password_ui.py +1 -1
- nautobot/users/views.py +5 -4
- nautobot/virtualization/api/urls.py +1 -1
- nautobot/virtualization/api/views.py +2 -1
- nautobot/virtualization/apps.py +1 -1
- nautobot/virtualization/choices.py +0 -1
- nautobot/virtualization/factory.py +1 -1
- nautobot/virtualization/filters.py +1 -1
- nautobot/virtualization/forms.py +6 -6
- nautobot/virtualization/homepage.py +0 -1
- nautobot/virtualization/migrations/0003_vminterface_verbose_name.py +1 -0
- nautobot/virtualization/migrations/0004_auto_slug.py +1 -0
- nautobot/virtualization/migrations/0005_add_natural_indexing.py +1 -0
- nautobot/virtualization/migrations/0006_vminterface_status.py +1 -0
- nautobot/virtualization/migrations/0007_vminterface_status_data_migration.py +1 -0
- nautobot/virtualization/migrations/0011_alter_vminterface_mac_address.py +1 -0
- nautobot/virtualization/migrations/0012_alter_virtualmachine_role_add_new_role.py +1 -0
- nautobot/virtualization/migrations/0013_migrate_virtualmachine_role_data.py +1 -0
- nautobot/virtualization/migrations/0018_related_name_changes.py +1 -0
- nautobot/virtualization/migrations/0021_tagsfield_and_vminterface_to_primarymodel.py +1 -0
- nautobot/virtualization/migrations/0025_status_nonnullable.py +1 -0
- nautobot/virtualization/models.py +1 -2
- nautobot/virtualization/navigation.py +0 -1
- nautobot/virtualization/signals.py +0 -1
- nautobot/virtualization/tables.py +1 -0
- nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -2
- nautobot/virtualization/tests/test_filters.py +3 -3
- nautobot/virtualization/tests/test_models.py +1 -1
- nautobot/virtualization/tests/test_views.py +2 -2
- nautobot/virtualization/urls.py +1 -0
- nautobot/virtualization/views.py +1 -1
- {nautobot-2.1.0b1.dist-info → nautobot-2.1.1.dist-info}/METADATA +10 -2
- {nautobot-2.1.0b1.dist-info → nautobot-2.1.1.dist-info}/RECORD +895 -993
- nautobot/core/management/commands/build_ui.py +0 -281
- nautobot/core/templates/base_react.html +0 -55
- nautobot/core/tests/test_cli.py +0 -25
- nautobot/project-static/docs/media/installation/nautobot_ui_guest.png +0 -0
- nautobot/project-static/docs/user-guide/core-data-model/ipam/media/ipam_namespace_documentation.drawio.svg +0 -4
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/39-address-search.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/40-addr-main-page.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/git-as-data-source/18-git-data-source.png +0 -0
- nautobot/ui/.eslintignore +0 -3
- nautobot/ui/.gitignore +0 -7
- nautobot/ui/.prettierignore +0 -6
- nautobot/ui/.prettierrc +0 -4
- nautobot/ui/README.md +0 -27
- nautobot/ui/config/env.js +0 -102
- nautobot/ui/config/getHttpsConfig.js +0 -68
- nautobot/ui/config/jest/babelTransform.js +0 -14
- nautobot/ui/config/jest/cssTransform.js +0 -12
- nautobot/ui/config/jest/fileTransform.js +0 -38
- nautobot/ui/config/modules.js +0 -151
- nautobot/ui/config/paths.js +0 -67
- nautobot/ui/config/webpack/persistentCache/createEnvironmentHash.js +0 -8
- nautobot/ui/config/webpack.config.js +0 -674
- nautobot/ui/config/webpackDevServer.config.js +0 -127
- nautobot/ui/jest.config.js +0 -35
- nautobot/ui/jsconfig.json +0 -4
- nautobot/ui/package-lock.json +0 -22947
- nautobot/ui/package.json +0 -119
- nautobot/ui/public/index.html +0 -47
- nautobot/ui/public/logo192.png +0 -0
- nautobot/ui/public/logo512.png +0 -0
- nautobot/ui/public/manifest.json +0 -25
- nautobot/ui/public/nautobot_logo.svg +0 -131
- nautobot/ui/public/robots.txt +0 -3
- nautobot/ui/scripts/build.js +0 -224
- nautobot/ui/scripts/start.js +0 -140
- nautobot/ui/scripts/test.js +0 -40
- nautobot/ui/src/App.js +0 -79
- nautobot/ui/src/components/AppFullWidthComponents.js +0 -8
- nautobot/ui/src/components/AppTab.js +0 -40
- nautobot/ui/src/components/Apps.js +0 -60
- nautobot/ui/src/components/FeedbackModal.js +0 -123
- nautobot/ui/src/components/FiltersPanel.js +0 -693
- nautobot/ui/src/components/HomeChangelogPanel.js +0 -98
- nautobot/ui/src/components/HomePanel.js +0 -58
- nautobot/ui/src/components/JobHistoryTable.js +0 -78
- nautobot/ui/src/components/Layout.js +0 -76
- nautobot/ui/src/components/LoadingWidget.js +0 -14
- nautobot/ui/src/components/Navbar.js +0 -204
- nautobot/ui/src/components/NotificationPopover.js +0 -27
- nautobot/ui/src/components/ObjectTable/ObjectListTable.js +0 -300
- nautobot/ui/src/components/ObjectTable/ObjectTable.js +0 -96
- nautobot/ui/src/components/ObjectTable/ObjectTableItem.js +0 -70
- nautobot/ui/src/components/ObjectTable/index.js +0 -3
- nautobot/ui/src/components/Pagination/PageNumberForm.js +0 -228
- nautobot/ui/src/components/Pagination/PageSizeForm.js +0 -65
- nautobot/ui/src/components/Pagination/Pagination.js +0 -67
- nautobot/ui/src/components/Pagination/index.js +0 -3
- nautobot/ui/src/components/ReferenceDataTag.js +0 -35
- nautobot/ui/src/components/Retrieve/RenderChangeLogsTab.js +0 -58
- nautobot/ui/src/components/Retrieve/RenderColumn.js +0 -30
- nautobot/ui/src/components/Retrieve/RenderGroup.js +0 -24
- nautobot/ui/src/components/Retrieve/RenderHeader.js +0 -125
- nautobot/ui/src/components/Retrieve/RenderNotesTab.js +0 -60
- nautobot/ui/src/components/Retrieve/RenderTable.js +0 -33
- nautobot/ui/src/components/Retrieve/RenderTabs.js +0 -56
- nautobot/ui/src/components/Retrieve/index.js +0 -7
- nautobot/ui/src/components/RouterButton.js +0 -10
- nautobot/ui/src/components/RouterLink.js +0 -10
- nautobot/ui/src/components/SidebarNav.js +0 -156
- nautobot/ui/src/components/__tests__/AppFullWidthComponents.test.js +0 -16
- nautobot/ui/src/components/__tests__/AppTab.test.js +0 -21
- nautobot/ui/src/components/__tests__/Apps.test.js +0 -14
- nautobot/ui/src/components/__tests__/Layout.test.js +0 -33
- nautobot/ui/src/components/__tests__/PageSizeForm.test.js +0 -13
- nautobot/ui/src/components/__tests__/Pagination.test.js +0 -43
- nautobot/ui/src/components/__tests__/Table.test.js +0 -39
- nautobot/ui/src/components/__tests__/TableItem.test.js +0 -39
- nautobot/ui/src/components/index.js +0 -4
- nautobot/ui/src/constants/apiPath.js +0 -13
- nautobot/ui/src/constants/icons.js +0 -15
- nautobot/ui/src/constants/size.js +0 -15
- nautobot/ui/src/file_templates/app_imports.js.j2 +0 -7
- nautobot/ui/src/file_templates/jsconfig-base.json +0 -12
- nautobot/ui/src/index.js +0 -65
- nautobot/ui/src/reportWebVitals.js +0 -15
- nautobot/ui/src/router.js +0 -77
- nautobot/ui/src/utils/api.js +0 -160
- nautobot/ui/src/utils/app-import.js +0 -15
- nautobot/ui/src/utils/color.js +0 -15
- nautobot/ui/src/utils/date.js +0 -14
- nautobot/ui/src/utils/index.js +0 -15
- nautobot/ui/src/utils/navigation.js +0 -48
- nautobot/ui/src/utils/session.js +0 -64
- nautobot/ui/src/utils/store.js +0 -242
- nautobot/ui/src/utils/string.js +0 -6
- nautobot/ui/src/utils/url.js +0 -4
- nautobot/ui/src/views/Home.js +0 -142
- nautobot/ui/src/views/InstalledApps.js +0 -80
- nautobot/ui/src/views/Login.js +0 -48
- nautobot/ui/src/views/Logout.js +0 -20
- nautobot/ui/src/views/__tests__/BSCreateViewTemplate.test.js +0 -11
- nautobot/ui/src/views/__tests__/BSListViewTemplate.test.js +0 -107
- nautobot/ui/src/views/__tests__/Login.test.js +0 -15
- nautobot/ui/src/views/generic/GenericView.js +0 -191
- nautobot/ui/src/views/generic/ObjectCreate.js +0 -96
- nautobot/ui/src/views/generic/ObjectList.js +0 -137
- nautobot/ui/src/views/generic/ObjectRetrieve.js +0 -87
- {nautobot-2.1.0b1.dist-info → nautobot-2.1.1.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.1.0b1.dist-info → nautobot-2.1.1.dist-info}/WHEEL +0 -0
- {nautobot-2.1.0b1.dist-info → nautobot-2.1.1.dist-info}/entry_points.txt +0 -0
|
@@ -977,20 +977,6 @@
|
|
|
977
977
|
|
|
978
978
|
|
|
979
979
|
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
<li class="md-nav__item">
|
|
986
|
-
<a href="../../../user-guide/administration/configuration/node-configuration.html" class="md-nav__link">
|
|
987
|
-
Node.js Configuration
|
|
988
|
-
</a>
|
|
989
|
-
</li>
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
980
|
</ul>
|
|
995
981
|
</nav>
|
|
996
982
|
</li>
|
|
@@ -1439,34 +1425,6 @@
|
|
|
1439
1425
|
|
|
1440
1426
|
|
|
1441
1427
|
|
|
1442
|
-
<li class="md-nav__item">
|
|
1443
|
-
<a href="../../../user-guide/feature-guides/git-data-source.html" class="md-nav__link">
|
|
1444
|
-
Git as a Data Source
|
|
1445
|
-
</a>
|
|
1446
|
-
</li>
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
<li class="md-nav__item">
|
|
1457
|
-
<a href="../../../user-guide/feature-guides/graphql.html" class="md-nav__link">
|
|
1458
|
-
GraphQL
|
|
1459
|
-
</a>
|
|
1460
|
-
</li>
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
1428
|
<li class="md-nav__item">
|
|
1471
1429
|
<a href="../../../user-guide/feature-guides/relationships.html" class="md-nav__link">
|
|
1472
1430
|
Relationships
|
|
@@ -3556,23 +3514,9 @@
|
|
|
3556
3514
|
|
|
3557
3515
|
|
|
3558
3516
|
|
|
3559
|
-
<li class="md-nav__item">
|
|
3560
|
-
<a href="../../../development/apps/api/views/view-overrides.html" class="md-nav__link">
|
|
3561
|
-
View Overrides
|
|
3562
|
-
</a>
|
|
3563
|
-
</li>
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
|
|
3572
|
-
|
|
3573
3517
|
<li class="md-nav__item">
|
|
3574
3518
|
<a href="../../../development/apps/api/views/core-view-overrides.html" class="md-nav__link">
|
|
3575
|
-
|
|
3519
|
+
View Overrides
|
|
3576
3520
|
</a>
|
|
3577
3521
|
</li>
|
|
3578
3522
|
|
|
@@ -3661,7 +3605,7 @@
|
|
|
3661
3605
|
|
|
3662
3606
|
<li class="md-nav__item">
|
|
3663
3607
|
<a href="../../../development/apps/api/platform-features/filter-extensions.html" class="md-nav__link">
|
|
3664
|
-
Filter
|
|
3608
|
+
Filter Extensions
|
|
3665
3609
|
</a>
|
|
3666
3610
|
</li>
|
|
3667
3611
|
|
|
@@ -3869,21 +3813,7 @@
|
|
|
3869
3813
|
|
|
3870
3814
|
<li class="md-nav__item">
|
|
3871
3815
|
<a href="../../../development/apps/api/ui-extensions/object-detail-views.html" class="md-nav__link">
|
|
3872
|
-
Object Detail Views
|
|
3873
|
-
</a>
|
|
3874
|
-
</li>
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3882
|
-
|
|
3883
|
-
|
|
3884
|
-
<li class="md-nav__item">
|
|
3885
|
-
<a href="../../../development/apps/api/ui-extensions/tabs.html" class="md-nav__link">
|
|
3886
|
-
Tabs
|
|
3816
|
+
Object Detail Views and Tabs
|
|
3887
3817
|
</a>
|
|
3888
3818
|
</li>
|
|
3889
3819
|
|
|
@@ -4639,6 +4569,20 @@
|
|
|
4639
4569
|
|
|
4640
4570
|
|
|
4641
4571
|
|
|
4572
|
+
<li class="md-nav__item">
|
|
4573
|
+
<a href="../../../development/core/bootstrap-ui.html" class="md-nav__link">
|
|
4574
|
+
Bootstrap UI
|
|
4575
|
+
</a>
|
|
4576
|
+
</li>
|
|
4577
|
+
|
|
4578
|
+
|
|
4579
|
+
|
|
4580
|
+
|
|
4581
|
+
|
|
4582
|
+
|
|
4583
|
+
|
|
4584
|
+
|
|
4585
|
+
|
|
4642
4586
|
<li class="md-nav__item">
|
|
4643
4587
|
<a href="../../../development/core/best-practices.html" class="md-nav__link">
|
|
4644
4588
|
Best Practices
|
|
@@ -4751,20 +4695,6 @@
|
|
|
4751
4695
|
|
|
4752
4696
|
|
|
4753
4697
|
|
|
4754
|
-
<li class="md-nav__item">
|
|
4755
|
-
<a href="../../../development/core/react-ui.html" class="md-nav__link">
|
|
4756
|
-
React UI
|
|
4757
|
-
</a>
|
|
4758
|
-
</li>
|
|
4759
|
-
|
|
4760
|
-
|
|
4761
|
-
|
|
4762
|
-
|
|
4763
|
-
|
|
4764
|
-
|
|
4765
|
-
|
|
4766
|
-
|
|
4767
|
-
|
|
4768
4698
|
<li class="md-nav__item">
|
|
4769
4699
|
<a href="../../../development/core/role-internals.html" class="md-nav__link">
|
|
4770
4700
|
Role Internals
|
|
@@ -5380,7 +5310,8 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5380
5310
|
|
|
5381
5311
|
<details class="quote">
|
|
5382
5312
|
<summary>Source code in <code>nautobot/core/graphql/__init__.py</code></summary>
|
|
5383
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5313
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-57">57</a></span>
|
|
5314
|
+
<span class="normal"><a href="#__codelineno-0-58">58</a></span>
|
|
5384
5315
|
<span class="normal"><a href="#__codelineno-0-59">59</a></span>
|
|
5385
5316
|
<span class="normal"><a href="#__codelineno-0-60">60</a></span>
|
|
5386
5317
|
<span class="normal"><a href="#__codelineno-0-61">61</a></span>
|
|
@@ -5393,22 +5324,21 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5393
5324
|
<span class="normal"><a href="#__codelineno-0-68">68</a></span>
|
|
5394
5325
|
<span class="normal"><a href="#__codelineno-0-69">69</a></span>
|
|
5395
5326
|
<span class="normal"><a href="#__codelineno-0-70">70</a></span>
|
|
5396
|
-
<span class="normal"><a href="#__codelineno-0-71">71</a></span>
|
|
5397
|
-
<
|
|
5398
|
-
<a id="__codelineno-0-59" name="__codelineno-0-59"></a
|
|
5399
|
-
<a id="__codelineno-0-60" name="__codelineno-0-60"></a>
|
|
5400
|
-
<a id="__codelineno-0-61" name="__codelineno-0-61"></a><span class="sd">
|
|
5401
|
-
<a id="__codelineno-0-62" name="__codelineno-0-62"></a><span class="sd">
|
|
5402
|
-
<a id="__codelineno-0-63" name="__codelineno-0-63"></a
|
|
5403
|
-
<a id="__codelineno-0-64" name="__codelineno-0-64"></a>
|
|
5404
|
-
<a id="__codelineno-0-65" name="__codelineno-0-65"></a> <span class="n">
|
|
5405
|
-
<a id="__codelineno-0-66" name="__codelineno-0-66"></a>
|
|
5406
|
-
<a id="__codelineno-0-67" name="__codelineno-0-67"></a>
|
|
5407
|
-
<a id="__codelineno-0-68" name="__codelineno-0-68"></a> <span class="
|
|
5408
|
-
<a id="__codelineno-0-69" name="__codelineno-0-69"></a>
|
|
5409
|
-
<a id="__codelineno-0-70" name="__codelineno-0-70"></a>
|
|
5410
|
-
<a id="__codelineno-0-71" name="__codelineno-0-71"></a>
|
|
5411
|
-
<a id="__codelineno-0-72" name="__codelineno-0-72"></a> <span class="k">return</span> <span class="kc">None</span>
|
|
5327
|
+
<span class="normal"><a href="#__codelineno-0-71">71</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-57" name="__codelineno-0-57"></a><span class="k">class</span> <span class="nc">BigInteger</span><span class="p">(</span><span class="n">Scalar</span><span class="p">):</span>
|
|
5328
|
+
<a id="__codelineno-0-58" name="__codelineno-0-58"></a><span class="w"> </span><span class="sd">"""An integer which, unlike GraphQL's native Int type, doesn't reject values outside (-2^31, 2^31-1).</span>
|
|
5329
|
+
<a id="__codelineno-0-59" name="__codelineno-0-59"></a>
|
|
5330
|
+
<a id="__codelineno-0-60" name="__codelineno-0-60"></a><span class="sd"> Currently only used for ASNField, which goes up to 2^32-1 (i.e., unsigned 32-bit int); it's possible</span>
|
|
5331
|
+
<a id="__codelineno-0-61" name="__codelineno-0-61"></a><span class="sd"> that this approach may fail for values in excess of 2^53-1 (the largest integer value supported in JavaScript).</span>
|
|
5332
|
+
<a id="__codelineno-0-62" name="__codelineno-0-62"></a><span class="sd"> """</span>
|
|
5333
|
+
<a id="__codelineno-0-63" name="__codelineno-0-63"></a>
|
|
5334
|
+
<a id="__codelineno-0-64" name="__codelineno-0-64"></a> <span class="n">serialize</span> <span class="o">=</span> <span class="nb">int</span>
|
|
5335
|
+
<a id="__codelineno-0-65" name="__codelineno-0-65"></a> <span class="n">parse_value</span> <span class="o">=</span> <span class="nb">int</span>
|
|
5336
|
+
<a id="__codelineno-0-66" name="__codelineno-0-66"></a>
|
|
5337
|
+
<a id="__codelineno-0-67" name="__codelineno-0-67"></a> <span class="nd">@staticmethod</span>
|
|
5338
|
+
<a id="__codelineno-0-68" name="__codelineno-0-68"></a> <span class="k">def</span> <span class="nf">parse_literal</span><span class="p">(</span><span class="n">node</span><span class="p">):</span>
|
|
5339
|
+
<a id="__codelineno-0-69" name="__codelineno-0-69"></a> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">node</span><span class="p">,</span> <span class="n">ast</span><span class="o">.</span><span class="n">IntValue</span><span class="p">):</span>
|
|
5340
|
+
<a id="__codelineno-0-70" name="__codelineno-0-70"></a> <span class="k">return</span> <span class="nb">int</span><span class="p">(</span><span class="n">node</span><span class="o">.</span><span class="n">value</span><span class="p">)</span>
|
|
5341
|
+
<a id="__codelineno-0-71" name="__codelineno-0-71"></a> <span class="k">return</span> <span class="kc">None</span>
|
|
5412
5342
|
</code></pre></div></td></tr></table></div>
|
|
5413
5343
|
</details>
|
|
5414
5344
|
|
|
@@ -5555,7 +5485,8 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5555
5485
|
|
|
5556
5486
|
<details class="quote">
|
|
5557
5487
|
<summary>Source code in <code>nautobot/core/graphql/utils.py</code></summary>
|
|
5558
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5488
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-96"> 96</a></span>
|
|
5489
|
+
<span class="normal"><a href="#__codelineno-0-97"> 97</a></span>
|
|
5559
5490
|
<span class="normal"><a href="#__codelineno-0-98"> 98</a></span>
|
|
5560
5491
|
<span class="normal"><a href="#__codelineno-0-99"> 99</a></span>
|
|
5561
5492
|
<span class="normal"><a href="#__codelineno-0-100">100</a></span>
|
|
@@ -5581,35 +5512,34 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5581
5512
|
<span class="normal"><a href="#__codelineno-0-120">120</a></span>
|
|
5582
5513
|
<span class="normal"><a href="#__codelineno-0-121">121</a></span>
|
|
5583
5514
|
<span class="normal"><a href="#__codelineno-0-122">122</a></span>
|
|
5584
|
-
<span class="normal"><a href="#__codelineno-0-123">123</a></span>
|
|
5585
|
-
<
|
|
5586
|
-
<a id="__codelineno-0-98" name="__codelineno-0-98"></a
|
|
5587
|
-
<a id="__codelineno-0-99" name="__codelineno-0-99"></a>
|
|
5588
|
-
<a id="__codelineno-0-100" name="__codelineno-0-100"></a><span class="sd">
|
|
5589
|
-
<a id="__codelineno-0-101" name="__codelineno-0-101"></a><span class="sd">
|
|
5590
|
-
<a id="__codelineno-0-102" name="__codelineno-0-102"></a><span class="sd">
|
|
5591
|
-
<a id="__codelineno-0-103" name="__codelineno-0-103"></a
|
|
5592
|
-
<a id="__codelineno-0-104" name="__codelineno-0-104"></a>
|
|
5593
|
-
<a id="__codelineno-0-105" name="__codelineno-0-105"></a>
|
|
5594
|
-
<a id="__codelineno-0-106" name="__codelineno-0-106"></a>
|
|
5595
|
-
<a id="__codelineno-0-107" name="__codelineno-0-107"></a> <span class="
|
|
5596
|
-
<a id="__codelineno-0-108" name="__codelineno-0-108"></a>
|
|
5597
|
-
<a id="__codelineno-0-109" name="__codelineno-0-109"></a>
|
|
5598
|
-
<a id="__codelineno-0-110" name="__codelineno-0-110"></a>
|
|
5599
|
-
<a id="__codelineno-0-111" name="__codelineno-0-111"></a>
|
|
5600
|
-
<a id="__codelineno-0-112" name="__codelineno-0-112"></a>
|
|
5601
|
-
<a id="__codelineno-0-113" name="__codelineno-0-113"></a>
|
|
5602
|
-
<a id="__codelineno-0-114" name="__codelineno-0-114"></a>
|
|
5603
|
-
<a id="__codelineno-0-115" name="__codelineno-0-115"></a>
|
|
5604
|
-
<a id="__codelineno-0-116" name="__codelineno-0-116"></a>
|
|
5605
|
-
<a id="__codelineno-0-117" name="__codelineno-0-117"></a> <span class="
|
|
5606
|
-
<a id="__codelineno-0-118" name="__codelineno-0-118"></a>
|
|
5607
|
-
<a id="__codelineno-0-119" name="__codelineno-0-119"></a>
|
|
5608
|
-
<a id="__codelineno-0-120" name="__codelineno-0-120"></a>
|
|
5609
|
-
<a id="__codelineno-0-121" name="__codelineno-0-121"></a>
|
|
5610
|
-
<a id="__codelineno-0-122" name="__codelineno-0-122"></a>
|
|
5611
|
-
<a id="__codelineno-0-123" name="__codelineno-0-123"></a>
|
|
5612
|
-
<a id="__codelineno-0-124" name="__codelineno-0-124"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"resolver_type must be 'cable_peer' or 'connected_endpoint', not '</span><span class="si">{</span><span class="n">resolver_type</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
|
5515
|
+
<span class="normal"><a href="#__codelineno-0-123">123</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-96" name="__codelineno-0-96"></a><span class="k">def</span> <span class="nf">construct_resolver</span><span class="p">(</span><span class="n">model_name</span><span class="p">,</span> <span class="n">resolver_type</span><span class="p">):</span>
|
|
5516
|
+
<a id="__codelineno-0-97" name="__codelineno-0-97"></a><span class="w"> </span><span class="sd">"""Constructs a resolve_[cable_peer|connected_endpoint]_<endpoint> function for a given model type.</span>
|
|
5517
|
+
<a id="__codelineno-0-98" name="__codelineno-0-98"></a>
|
|
5518
|
+
<a id="__codelineno-0-99" name="__codelineno-0-99"></a><span class="sd"> Args:</span>
|
|
5519
|
+
<a id="__codelineno-0-100" name="__codelineno-0-100"></a><span class="sd"> model_name (str): Name of the model to construct a resolver function for (e.g. CircuitTermination).</span>
|
|
5520
|
+
<a id="__codelineno-0-101" name="__codelineno-0-101"></a><span class="sd"> resolver_type (str): One of ['connected_endpoint', 'cable_peer']</span>
|
|
5521
|
+
<a id="__codelineno-0-102" name="__codelineno-0-102"></a><span class="sd"> """</span>
|
|
5522
|
+
<a id="__codelineno-0-103" name="__codelineno-0-103"></a> <span class="k">if</span> <span class="n">resolver_type</span> <span class="o">==</span> <span class="s2">"cable_peer"</span><span class="p">:</span>
|
|
5523
|
+
<a id="__codelineno-0-104" name="__codelineno-0-104"></a>
|
|
5524
|
+
<a id="__codelineno-0-105" name="__codelineno-0-105"></a> <span class="k">def</span> <span class="nf">resolve_cable_peer</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
|
|
5525
|
+
<a id="__codelineno-0-106" name="__codelineno-0-106"></a> <span class="n">peer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">get_cable_peer</span><span class="p">()</span>
|
|
5526
|
+
<a id="__codelineno-0-107" name="__codelineno-0-107"></a> <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">peer</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span> <span class="o">==</span> <span class="n">model_name</span><span class="p">:</span>
|
|
5527
|
+
<a id="__codelineno-0-108" name="__codelineno-0-108"></a> <span class="k">return</span> <span class="n">peer</span>
|
|
5528
|
+
<a id="__codelineno-0-109" name="__codelineno-0-109"></a> <span class="k">return</span> <span class="kc">None</span>
|
|
5529
|
+
<a id="__codelineno-0-110" name="__codelineno-0-110"></a>
|
|
5530
|
+
<a id="__codelineno-0-111" name="__codelineno-0-111"></a> <span class="k">return</span> <span class="n">resolve_cable_peer</span>
|
|
5531
|
+
<a id="__codelineno-0-112" name="__codelineno-0-112"></a>
|
|
5532
|
+
<a id="__codelineno-0-113" name="__codelineno-0-113"></a> <span class="k">if</span> <span class="n">resolver_type</span> <span class="o">==</span> <span class="s2">"connected_endpoint"</span><span class="p">:</span>
|
|
5533
|
+
<a id="__codelineno-0-114" name="__codelineno-0-114"></a>
|
|
5534
|
+
<a id="__codelineno-0-115" name="__codelineno-0-115"></a> <span class="k">def</span> <span class="nf">resolve_connected_endpoint</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">args</span><span class="p">):</span>
|
|
5535
|
+
<a id="__codelineno-0-116" name="__codelineno-0-116"></a> <span class="n">peer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">connected_endpoint</span>
|
|
5536
|
+
<a id="__codelineno-0-117" name="__codelineno-0-117"></a> <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">peer</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span> <span class="o">==</span> <span class="n">model_name</span><span class="p">:</span>
|
|
5537
|
+
<a id="__codelineno-0-118" name="__codelineno-0-118"></a> <span class="k">return</span> <span class="n">peer</span>
|
|
5538
|
+
<a id="__codelineno-0-119" name="__codelineno-0-119"></a> <span class="k">return</span> <span class="kc">None</span>
|
|
5539
|
+
<a id="__codelineno-0-120" name="__codelineno-0-120"></a>
|
|
5540
|
+
<a id="__codelineno-0-121" name="__codelineno-0-121"></a> <span class="k">return</span> <span class="n">resolve_connected_endpoint</span>
|
|
5541
|
+
<a id="__codelineno-0-122" name="__codelineno-0-122"></a>
|
|
5542
|
+
<a id="__codelineno-0-123" name="__codelineno-0-123"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"resolver_type must be 'cable_peer' or 'connected_endpoint', not '</span><span class="si">{</span><span class="n">resolver_type</span><span class="si">}</span><span class="s2">'"</span><span class="p">)</span>
|
|
5613
5543
|
</code></pre></div></td></tr></table></div>
|
|
5614
5544
|
</details>
|
|
5615
5545
|
</div>
|
|
@@ -5729,7 +5659,8 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5729
5659
|
|
|
5730
5660
|
<details class="quote">
|
|
5731
5661
|
<summary>Source code in <code>nautobot/core/graphql/__init__.py</code></summary>
|
|
5732
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5662
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-10">10</a></span>
|
|
5663
|
+
<span class="normal"><a href="#__codelineno-0-11">11</a></span>
|
|
5733
5664
|
<span class="normal"><a href="#__codelineno-0-12">12</a></span>
|
|
5734
5665
|
<span class="normal"><a href="#__codelineno-0-13">13</a></span>
|
|
5735
5666
|
<span class="normal"><a href="#__codelineno-0-14">14</a></span>
|
|
@@ -5751,31 +5682,30 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5751
5682
|
<span class="normal"><a href="#__codelineno-0-30">30</a></span>
|
|
5752
5683
|
<span class="normal"><a href="#__codelineno-0-31">31</a></span>
|
|
5753
5684
|
<span class="normal"><a href="#__codelineno-0-32">32</a></span>
|
|
5754
|
-
<span class="normal"><a href="#__codelineno-0-33">33</a></span>
|
|
5755
|
-
<
|
|
5756
|
-
<a id="__codelineno-0-12" name="__codelineno-0-12"></a
|
|
5757
|
-
<a id="__codelineno-0-13" name="__codelineno-0-13"></a>
|
|
5758
|
-
<a id="__codelineno-0-14" name="__codelineno-0-14"></a><span class="sd">
|
|
5759
|
-
<a id="__codelineno-0-15" name="__codelineno-0-15"></a><span class="sd">
|
|
5760
|
-
<a id="__codelineno-0-16" name="__codelineno-0-16"></a><span class="sd">
|
|
5761
|
-
<a id="__codelineno-0-17" name="__codelineno-0-17"></a><span class="sd">
|
|
5762
|
-
<a id="__codelineno-0-18" name="__codelineno-0-18"></a
|
|
5763
|
-
<a id="__codelineno-0-19" name="__codelineno-0-19"></a>
|
|
5764
|
-
<a id="__codelineno-0-20" name="__codelineno-0-20"></a><span class="sd">
|
|
5765
|
-
<a id="__codelineno-0-21" name="__codelineno-0-21"></a><span class="sd">
|
|
5766
|
-
<a id="__codelineno-0-22" name="__codelineno-0-22"></a
|
|
5767
|
-
<a id="__codelineno-0-23" name="__codelineno-0-23"></a>
|
|
5768
|
-
<a id="__codelineno-0-24" name="__codelineno-0-24"></a>
|
|
5769
|
-
<a id="__codelineno-0-25" name="__codelineno-0-25"></a>
|
|
5770
|
-
<a id="__codelineno-0-26" name="__codelineno-0-26"></a> <span class="n">request</span
|
|
5771
|
-
<a id="__codelineno-0-27" name="__codelineno-0-27"></a>
|
|
5772
|
-
<a id="__codelineno-0-28" name="__codelineno-0-28"></a> <span class="n">
|
|
5773
|
-
<a id="__codelineno-0-29" name="__codelineno-0-29"></a> <span class="n">
|
|
5774
|
-
<a id="__codelineno-0-30" name="__codelineno-0-30"></a> <span class="
|
|
5775
|
-
<a id="__codelineno-0-31" name="__codelineno-0-31"></a>
|
|
5776
|
-
<a id="__codelineno-0-32" name="__codelineno-0-32"></a>
|
|
5777
|
-
<a id="__codelineno-0-33" name="__codelineno-0-33"></a>
|
|
5778
|
-
<a id="__codelineno-0-34" name="__codelineno-0-34"></a> <span class="k">return</span> <span class="n">document</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context_value</span><span class="o">=</span><span class="n">request</span><span class="p">)</span>
|
|
5685
|
+
<span class="normal"><a href="#__codelineno-0-33">33</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-10" name="__codelineno-0-10"></a><span class="k">def</span> <span class="nf">execute_query</span><span class="p">(</span><span class="n">query</span><span class="p">,</span> <span class="n">variables</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">request</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
5686
|
+
<a id="__codelineno-0-11" name="__codelineno-0-11"></a><span class="w"> </span><span class="sd">"""Execute a query from the ORM.</span>
|
|
5687
|
+
<a id="__codelineno-0-12" name="__codelineno-0-12"></a>
|
|
5688
|
+
<a id="__codelineno-0-13" name="__codelineno-0-13"></a><span class="sd"> Args:</span>
|
|
5689
|
+
<a id="__codelineno-0-14" name="__codelineno-0-14"></a><span class="sd"> query (str): String with GraphQL query.</span>
|
|
5690
|
+
<a id="__codelineno-0-15" name="__codelineno-0-15"></a><span class="sd"> variables (dict, optional): If the query has variables they need to be passed in as a dictionary.</span>
|
|
5691
|
+
<a id="__codelineno-0-16" name="__codelineno-0-16"></a><span class="sd"> request (django.test.client.RequestFactory, optional): Used to authenticate.</span>
|
|
5692
|
+
<a id="__codelineno-0-17" name="__codelineno-0-17"></a><span class="sd"> user (django.contrib.auth.models.User, optional): Used to authenticate.</span>
|
|
5693
|
+
<a id="__codelineno-0-18" name="__codelineno-0-18"></a>
|
|
5694
|
+
<a id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="sd"> Returns:</span>
|
|
5695
|
+
<a id="__codelineno-0-20" name="__codelineno-0-20"></a><span class="sd"> (GraphQLDocument): Result for query</span>
|
|
5696
|
+
<a id="__codelineno-0-21" name="__codelineno-0-21"></a><span class="sd"> """</span>
|
|
5697
|
+
<a id="__codelineno-0-22" name="__codelineno-0-22"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">request</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">user</span><span class="p">:</span>
|
|
5698
|
+
<a id="__codelineno-0-23" name="__codelineno-0-23"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Either request or username should be provided"</span><span class="p">)</span>
|
|
5699
|
+
<a id="__codelineno-0-24" name="__codelineno-0-24"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">request</span><span class="p">:</span>
|
|
5700
|
+
<a id="__codelineno-0-25" name="__codelineno-0-25"></a> <span class="n">request</span> <span class="o">=</span> <span class="n">RequestFactory</span><span class="p">()</span><span class="o">.</span><span class="n">post</span><span class="p">(</span><span class="s2">"/graphql/"</span><span class="p">)</span>
|
|
5701
|
+
<a id="__codelineno-0-26" name="__codelineno-0-26"></a> <span class="n">request</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="n">user</span>
|
|
5702
|
+
<a id="__codelineno-0-27" name="__codelineno-0-27"></a> <span class="n">backend</span> <span class="o">=</span> <span class="n">get_default_backend</span><span class="p">()</span>
|
|
5703
|
+
<a id="__codelineno-0-28" name="__codelineno-0-28"></a> <span class="n">schema</span> <span class="o">=</span> <span class="n">graphene_settings</span><span class="o">.</span><span class="n">SCHEMA</span>
|
|
5704
|
+
<a id="__codelineno-0-29" name="__codelineno-0-29"></a> <span class="n">document</span> <span class="o">=</span> <span class="n">backend</span><span class="o">.</span><span class="n">document_from_string</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span> <span class="n">query</span><span class="p">)</span>
|
|
5705
|
+
<a id="__codelineno-0-30" name="__codelineno-0-30"></a> <span class="k">if</span> <span class="n">variables</span><span class="p">:</span>
|
|
5706
|
+
<a id="__codelineno-0-31" name="__codelineno-0-31"></a> <span class="k">return</span> <span class="n">document</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context_value</span><span class="o">=</span><span class="n">request</span><span class="p">,</span> <span class="n">variable_values</span><span class="o">=</span><span class="n">variables</span><span class="p">)</span>
|
|
5707
|
+
<a id="__codelineno-0-32" name="__codelineno-0-32"></a> <span class="k">else</span><span class="p">:</span>
|
|
5708
|
+
<a id="__codelineno-0-33" name="__codelineno-0-33"></a> <span class="k">return</span> <span class="n">document</span><span class="o">.</span><span class="n">execute</span><span class="p">(</span><span class="n">context_value</span><span class="o">=</span><span class="n">request</span><span class="p">)</span>
|
|
5779
5709
|
</code></pre></div></td></tr></table></div>
|
|
5780
5710
|
</details>
|
|
5781
5711
|
</div>
|
|
@@ -5901,7 +5831,8 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5901
5831
|
|
|
5902
5832
|
<details class="quote">
|
|
5903
5833
|
<summary>Source code in <code>nautobot/core/graphql/__init__.py</code></summary>
|
|
5904
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5834
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-36">36</a></span>
|
|
5835
|
+
<span class="normal"><a href="#__codelineno-0-37">37</a></span>
|
|
5905
5836
|
<span class="normal"><a href="#__codelineno-0-38">38</a></span>
|
|
5906
5837
|
<span class="normal"><a href="#__codelineno-0-39">39</a></span>
|
|
5907
5838
|
<span class="normal"><a href="#__codelineno-0-40">40</a></span>
|
|
@@ -5915,23 +5846,22 @@ that this approach may fail for values in excess of 2^53-1 (the largest integer
|
|
|
5915
5846
|
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
|
|
5916
5847
|
<span class="normal"><a href="#__codelineno-0-49">49</a></span>
|
|
5917
5848
|
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
|
|
5918
|
-
<span class="normal"><a href="#__codelineno-0-51">51</a></span>
|
|
5919
|
-
<
|
|
5920
|
-
<a id="__codelineno-0-38" name="__codelineno-0-38"></a
|
|
5921
|
-
<a id="__codelineno-0-39" name="__codelineno-0-39"></a>
|
|
5922
|
-
<a id="__codelineno-0-40" name="__codelineno-0-40"></a><span class="sd">
|
|
5923
|
-
<a id="__codelineno-0-41" name="__codelineno-0-41"></a
|
|
5924
|
-
<a id="__codelineno-0-42" name="__codelineno-0-42"></a>
|
|
5925
|
-
<a id="__codelineno-0-43" name="__codelineno-0-43"></a><span class="sd">
|
|
5926
|
-
<a id="__codelineno-0-44" name="__codelineno-0-44"></a><span class="sd">
|
|
5927
|
-
<a id="__codelineno-0-45" name="__codelineno-0-45"></a><span class="sd">
|
|
5928
|
-
<a id="__codelineno-0-46" name="__codelineno-0-46"></a
|
|
5929
|
-
<a id="__codelineno-0-47" name="__codelineno-0-47"></a>
|
|
5930
|
-
<a id="__codelineno-0-48" name="__codelineno-0-48"></a><span class="sd">
|
|
5931
|
-
<a id="__codelineno-0-49" name="__codelineno-0-49"></a><span class="sd">
|
|
5932
|
-
<a id="__codelineno-0-50" name="__codelineno-0-50"></a><span class="
|
|
5933
|
-
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="
|
|
5934
|
-
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="k">return</span> <span class="n">execute_query</span><span class="p">(</span><span class="n">query</span><span class="o">=</span><span class="n">query</span><span class="o">.</span><span class="n">query</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
5849
|
+
<span class="normal"><a href="#__codelineno-0-51">51</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-36" name="__codelineno-0-36"></a><span class="k">def</span> <span class="nf">execute_saved_query</span><span class="p">(</span><span class="n">saved_query_name</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
|
|
5850
|
+
<a id="__codelineno-0-37" name="__codelineno-0-37"></a><span class="w"> </span><span class="sd">"""Execute saved query from the ORM.</span>
|
|
5851
|
+
<a id="__codelineno-0-38" name="__codelineno-0-38"></a>
|
|
5852
|
+
<a id="__codelineno-0-39" name="__codelineno-0-39"></a><span class="sd"> Args:</span>
|
|
5853
|
+
<a id="__codelineno-0-40" name="__codelineno-0-40"></a><span class="sd"> saved_query_name (str): Name of a saved GraphQL query.</span>
|
|
5854
|
+
<a id="__codelineno-0-41" name="__codelineno-0-41"></a>
|
|
5855
|
+
<a id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="sd"> Keyword Args:</span>
|
|
5856
|
+
<a id="__codelineno-0-43" name="__codelineno-0-43"></a><span class="sd"> variables (Optional[dict]): If the query has variables they need to be passed in as a dictionary.</span>
|
|
5857
|
+
<a id="__codelineno-0-44" name="__codelineno-0-44"></a><span class="sd"> request (Optional[django.test.client.RequestFactory]): Used to authenticate.</span>
|
|
5858
|
+
<a id="__codelineno-0-45" name="__codelineno-0-45"></a><span class="sd"> user (Optional[django.contrib.auth.models.User]): Used to authenticate.</span>
|
|
5859
|
+
<a id="__codelineno-0-46" name="__codelineno-0-46"></a>
|
|
5860
|
+
<a id="__codelineno-0-47" name="__codelineno-0-47"></a><span class="sd"> Returns:</span>
|
|
5861
|
+
<a id="__codelineno-0-48" name="__codelineno-0-48"></a><span class="sd"> (GraphQLDocument): Result for query</span>
|
|
5862
|
+
<a id="__codelineno-0-49" name="__codelineno-0-49"></a><span class="sd"> """</span>
|
|
5863
|
+
<a id="__codelineno-0-50" name="__codelineno-0-50"></a> <span class="n">query</span> <span class="o">=</span> <span class="n">GraphQLQuery</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">name</span><span class="o">=</span><span class="n">saved_query_name</span><span class="p">)</span>
|
|
5864
|
+
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="k">return</span> <span class="n">execute_query</span><span class="p">(</span><span class="n">query</span><span class="o">=</span><span class="n">query</span><span class="o">.</span><span class="n">query</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
|
|
5935
5865
|
</code></pre></div></td></tr></table></div>
|
|
5936
5866
|
</details>
|
|
5937
5867
|
</div>
|
|
@@ -6014,7 +5944,8 @@ if the filter field is a subclass of MultipleChoiceFilter, the argument will be
|
|
|
6014
5944
|
|
|
6015
5945
|
<details class="quote">
|
|
6016
5946
|
<summary>Source code in <code>nautobot/core/graphql/utils.py</code></summary>
|
|
6017
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5947
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-27">27</a></span>
|
|
5948
|
+
<span class="normal"><a href="#__codelineno-0-28">28</a></span>
|
|
6018
5949
|
<span class="normal"><a href="#__codelineno-0-29">29</a></span>
|
|
6019
5950
|
<span class="normal"><a href="#__codelineno-0-30">30</a></span>
|
|
6020
5951
|
<span class="normal"><a href="#__codelineno-0-31">31</a></span>
|
|
@@ -6079,74 +6010,73 @@ if the filter field is a subclass of MultipleChoiceFilter, the argument will be
|
|
|
6079
6010
|
<span class="normal"><a href="#__codelineno-0-90">90</a></span>
|
|
6080
6011
|
<span class="normal"><a href="#__codelineno-0-91">91</a></span>
|
|
6081
6012
|
<span class="normal"><a href="#__codelineno-0-92">92</a></span>
|
|
6082
|
-
<span class="normal"><a href="#__codelineno-0-93">93</a></span>
|
|
6083
|
-
<
|
|
6084
|
-
<a id="__codelineno-0-29" name="__codelineno-0-29"></a
|
|
6085
|
-
<a id="__codelineno-0-30" name="__codelineno-0-30"></a>
|
|
6086
|
-
<a id="__codelineno-0-31" name="__codelineno-0-31"></a><span class="sd">
|
|
6087
|
-
<a id="__codelineno-0-32" name="__codelineno-0-32"></a
|
|
6088
|
-
<a id="__codelineno-0-33" name="__codelineno-0-33"></a>
|
|
6089
|
-
<a id="__codelineno-0-34" name="__codelineno-0-34"></a><span class="sd">
|
|
6090
|
-
<a id="__codelineno-0-35" name="__codelineno-0-35"></a><span class="sd">
|
|
6091
|
-
<a id="__codelineno-0-36" name="__codelineno-0-36"></a
|
|
6092
|
-
<a id="__codelineno-0-37" name="__codelineno-0-37"></a>
|
|
6093
|
-
<a id="__codelineno-0-38" name="__codelineno-0-38"></a><span class="sd">
|
|
6094
|
-
<a id="__codelineno-0-39" name="__codelineno-0-39"></a
|
|
6095
|
-
<a id="__codelineno-0-40" name="__codelineno-0-40"></a>
|
|
6096
|
-
<a id="__codelineno-0-41" name="__codelineno-0-41"></a><span class="sd">
|
|
6097
|
-
<a id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="sd">
|
|
6098
|
-
<a id="__codelineno-0-43" name="__codelineno-0-43"></a
|
|
6099
|
-
<a id="__codelineno-0-44" name="__codelineno-0-44"></a>
|
|
6100
|
-
<a id="__codelineno-0-45" name="__codelineno-0-45"></a> <span class="n">
|
|
6101
|
-
<a id="__codelineno-0-46" name="__codelineno-0-46"></a>
|
|
6102
|
-
<a id="__codelineno-0-47" name="__codelineno-0-47"></a>
|
|
6103
|
-
<a id="__codelineno-0-48" name="__codelineno-0-48"></a>
|
|
6104
|
-
<a id="__codelineno-0-49" name="__codelineno-0-49"></a> <span class="c1">#
|
|
6105
|
-
<a id="__codelineno-0-50" name="__codelineno-0-50"></a> <span class="c1"># (
|
|
6106
|
-
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="c1">#
|
|
6107
|
-
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="c1">#
|
|
6108
|
-
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="
|
|
6109
|
-
<a id="__codelineno-0-54" name="__codelineno-0-54"></a>
|
|
6110
|
-
<a id="__codelineno-0-55" name="__codelineno-0-55"></a>
|
|
6111
|
-
<a id="__codelineno-0-56" name="__codelineno-0-56"></a>
|
|
6112
|
-
<a id="__codelineno-0-57" name="__codelineno-0-57"></a> <span class="
|
|
6113
|
-
<a id="__codelineno-0-58" name="__codelineno-0-58"></a>
|
|
6114
|
-
<a id="__codelineno-0-59" name="__codelineno-0-59"></a>
|
|
6115
|
-
<a id="__codelineno-0-60" name="__codelineno-0-60"></a> <span class="n">
|
|
6116
|
-
<a id="__codelineno-0-61" name="__codelineno-0-61"></a>
|
|
6117
|
-
<a id="__codelineno-0-62" name="__codelineno-0-62"></a>
|
|
6118
|
-
<a id="__codelineno-0-63" name="__codelineno-0-63"></a>
|
|
6119
|
-
<a id="__codelineno-0-64" name="__codelineno-0-64"></a>
|
|
6120
|
-
<a id="__codelineno-0-65" name="__codelineno-0-65"></a>
|
|
6121
|
-
<a id="__codelineno-0-66" name="__codelineno-0-66"></a>
|
|
6122
|
-
<a id="__codelineno-0-67" name="__codelineno-0-67"></a>
|
|
6123
|
-
<a id="__codelineno-0-68" name="__codelineno-0-68"></a>
|
|
6124
|
-
<a id="__codelineno-0-69" name="__codelineno-0-69"></a>
|
|
6125
|
-
<a id="__codelineno-0-70" name="__codelineno-0-70"></a>
|
|
6126
|
-
<a id="__codelineno-0-71" name="__codelineno-0-71"></a>
|
|
6127
|
-
<a id="__codelineno-0-72" name="__codelineno-0-72"></a>
|
|
6128
|
-
<a id="__codelineno-0-73" name="__codelineno-0-73"></a>
|
|
6129
|
-
<a id="__codelineno-0-74" name="__codelineno-0-74"></a>
|
|
6130
|
-
<a id="__codelineno-0-75" name="__codelineno-0-75"></a>
|
|
6131
|
-
<a id="__codelineno-0-76" name="__codelineno-0-76"></a>
|
|
6132
|
-
<a id="__codelineno-0-77" name="__codelineno-0-77"></a>
|
|
6133
|
-
<a id="__codelineno-0-78" name="__codelineno-0-78"></a>
|
|
6134
|
-
<a id="__codelineno-0-79" name="__codelineno-0-79"></a>
|
|
6135
|
-
<a id="__codelineno-0-80" name="__codelineno-0-80"></a>
|
|
6136
|
-
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="n">
|
|
6137
|
-
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="n">
|
|
6138
|
-
<a id="__codelineno-0-83" name="__codelineno-0-83"></a>
|
|
6139
|
-
<a id="__codelineno-0-84" name="__codelineno-0-84"></a>
|
|
6140
|
-
<a id="__codelineno-0-85" name="__codelineno-0-85"></a>
|
|
6141
|
-
<a id="__codelineno-0-86" name="__codelineno-0-86"></a> <span class="c1">#
|
|
6142
|
-
<a id="__codelineno-0-87" name="__codelineno-0-87"></a> <span class="c1">#
|
|
6143
|
-
<a id="__codelineno-0-88" name="__codelineno-0-88"></a> <span class="c1">#
|
|
6144
|
-
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="c1">#
|
|
6145
|
-
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="
|
|
6146
|
-
<a id="__codelineno-0-91" name="__codelineno-0-91"></a>
|
|
6147
|
-
<a id="__codelineno-0-92" name="__codelineno-0-92"></a>
|
|
6148
|
-
<a id="__codelineno-0-93" name="__codelineno-0-93"></a>
|
|
6149
|
-
<a id="__codelineno-0-94" name="__codelineno-0-94"></a> <span class="k">return</span> <span class="n">args</span>
|
|
6013
|
+
<span class="normal"><a href="#__codelineno-0-93">93</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-27" name="__codelineno-0-27"></a><span class="k">def</span> <span class="nf">get_filtering_args_from_filterset</span><span class="p">(</span><span class="n">filterset_class</span><span class="p">):</span>
|
|
6014
|
+
<a id="__codelineno-0-28" name="__codelineno-0-28"></a><span class="w"> </span><span class="sd">"""Generate a list of filter arguments from a filterset.</span>
|
|
6015
|
+
<a id="__codelineno-0-29" name="__codelineno-0-29"></a>
|
|
6016
|
+
<a id="__codelineno-0-30" name="__codelineno-0-30"></a><span class="sd"> The FilterSet class will be instantiated before extracting the list of arguments to</span>
|
|
6017
|
+
<a id="__codelineno-0-31" name="__codelineno-0-31"></a><span class="sd"> account for dynamic filters, inserted when the class is instantiated. (required for Custom Fields filters).</span>
|
|
6018
|
+
<a id="__codelineno-0-32" name="__codelineno-0-32"></a>
|
|
6019
|
+
<a id="__codelineno-0-33" name="__codelineno-0-33"></a><span class="sd"> Filter fields that are inheriting from BooleanFilter and NumberFilter will be converted</span>
|
|
6020
|
+
<a id="__codelineno-0-34" name="__codelineno-0-34"></a><span class="sd"> to their appropriate type, everything else will be of type String.</span>
|
|
6021
|
+
<a id="__codelineno-0-35" name="__codelineno-0-35"></a><span class="sd"> if the filter field is a subclass of MultipleChoiceFilter, the argument will be converted as a list</span>
|
|
6022
|
+
<a id="__codelineno-0-36" name="__codelineno-0-36"></a>
|
|
6023
|
+
<a id="__codelineno-0-37" name="__codelineno-0-37"></a><span class="sd"> Args:</span>
|
|
6024
|
+
<a id="__codelineno-0-38" name="__codelineno-0-38"></a><span class="sd"> filterset_class (FilterSet): FilterSet class used to extract the argument</span>
|
|
6025
|
+
<a id="__codelineno-0-39" name="__codelineno-0-39"></a>
|
|
6026
|
+
<a id="__codelineno-0-40" name="__codelineno-0-40"></a><span class="sd"> Returns:</span>
|
|
6027
|
+
<a id="__codelineno-0-41" name="__codelineno-0-41"></a><span class="sd"> (dict[graphene.Argument]): Filter Arguments organized in a dictionary</span>
|
|
6028
|
+
<a id="__codelineno-0-42" name="__codelineno-0-42"></a><span class="sd"> """</span>
|
|
6029
|
+
<a id="__codelineno-0-43" name="__codelineno-0-43"></a>
|
|
6030
|
+
<a id="__codelineno-0-44" name="__codelineno-0-44"></a> <span class="n">args</span> <span class="o">=</span> <span class="p">{}</span>
|
|
6031
|
+
<a id="__codelineno-0-45" name="__codelineno-0-45"></a> <span class="n">instance</span> <span class="o">=</span> <span class="n">filterset_class</span><span class="p">()</span>
|
|
6032
|
+
<a id="__codelineno-0-46" name="__codelineno-0-46"></a>
|
|
6033
|
+
<a id="__codelineno-0-47" name="__codelineno-0-47"></a> <span class="k">for</span> <span class="n">filter_name</span><span class="p">,</span> <span class="n">filter_field</span> <span class="ow">in</span> <span class="n">instance</span><span class="o">.</span><span class="n">filters</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
|
6034
|
+
<a id="__codelineno-0-48" name="__codelineno-0-48"></a> <span class="c1"># For general safety, but especially for the case of custom fields</span>
|
|
6035
|
+
<a id="__codelineno-0-49" name="__codelineno-0-49"></a> <span class="c1"># (https://github.com/nautobot/nautobot/issues/464)</span>
|
|
6036
|
+
<a id="__codelineno-0-50" name="__codelineno-0-50"></a> <span class="c1"># We don't have a way to map a GraphQL-sanitized filter name (such as "cf_my_custom_field") back to the</span>
|
|
6037
|
+
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="c1"># actual filter name (such as "cf_my-custom-field"), so if the sanitized filter name doesn't match the original</span>
|
|
6038
|
+
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="c1"># filter name, we just have to omit it for now. Better that than advertise a filter that doesn't actually work!</span>
|
|
6039
|
+
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="k">if</span> <span class="n">str_to_var_name</span><span class="p">(</span><span class="n">filter_name</span><span class="p">)</span> <span class="o">!=</span> <span class="n">filter_name</span><span class="p">:</span>
|
|
6040
|
+
<a id="__codelineno-0-54" name="__codelineno-0-54"></a> <span class="n">logger</span><span class="o">.</span><span class="n">warning</span><span class="p">(</span>
|
|
6041
|
+
<a id="__codelineno-0-55" name="__codelineno-0-55"></a> <span class="s1">'Filter "</span><span class="si">%s</span><span class="s1">" on </span><span class="si">%s</span><span class="s1"> is not GraphQL safe, and will be omitted'</span><span class="p">,</span> <span class="n">filter_name</span><span class="p">,</span> <span class="n">filterset_class</span><span class="o">.</span><span class="vm">__name__</span>
|
|
6042
|
+
<a id="__codelineno-0-56" name="__codelineno-0-56"></a> <span class="p">)</span>
|
|
6043
|
+
<a id="__codelineno-0-57" name="__codelineno-0-57"></a> <span class="k">continue</span>
|
|
6044
|
+
<a id="__codelineno-0-58" name="__codelineno-0-58"></a>
|
|
6045
|
+
<a id="__codelineno-0-59" name="__codelineno-0-59"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">String</span>
|
|
6046
|
+
<a id="__codelineno-0-60" name="__codelineno-0-60"></a> <span class="n">filter_field_class</span> <span class="o">=</span> <span class="nb">type</span><span class="p">(</span><span class="n">filter_field</span><span class="p">)</span>
|
|
6047
|
+
<a id="__codelineno-0-61" name="__codelineno-0-61"></a>
|
|
6048
|
+
<a id="__codelineno-0-62" name="__codelineno-0-62"></a> <span class="k">if</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">filter_field_class</span><span class="p">,</span> <span class="n">MultiValueBigNumberFilter</span><span class="p">):</span>
|
|
6049
|
+
<a id="__codelineno-0-63" name="__codelineno-0-63"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">List</span><span class="p">(</span><span class="n">BigInteger</span><span class="p">)</span>
|
|
6050
|
+
<a id="__codelineno-0-64" name="__codelineno-0-64"></a> <span class="k">elif</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">filter_field_class</span><span class="p">,</span> <span class="p">(</span><span class="n">MultiValueFloatFilter</span><span class="p">,</span> <span class="n">MultiValueDecimalFilter</span><span class="p">)):</span>
|
|
6051
|
+
<a id="__codelineno-0-65" name="__codelineno-0-65"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">List</span><span class="p">(</span><span class="n">graphene</span><span class="o">.</span><span class="n">Float</span><span class="p">)</span>
|
|
6052
|
+
<a id="__codelineno-0-66" name="__codelineno-0-66"></a> <span class="k">elif</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">filter_field_class</span><span class="p">,</span> <span class="n">MultiValueNumberFilter</span><span class="p">):</span>
|
|
6053
|
+
<a id="__codelineno-0-67" name="__codelineno-0-67"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">List</span><span class="p">(</span><span class="n">graphene</span><span class="o">.</span><span class="n">Int</span><span class="p">)</span>
|
|
6054
|
+
<a id="__codelineno-0-68" name="__codelineno-0-68"></a> <span class="k">else</span><span class="p">:</span>
|
|
6055
|
+
<a id="__codelineno-0-69" name="__codelineno-0-69"></a> <span class="k">if</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">filter_field_class</span><span class="p">,</span> <span class="n">BooleanFilter</span><span class="p">):</span>
|
|
6056
|
+
<a id="__codelineno-0-70" name="__codelineno-0-70"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">Boolean</span>
|
|
6057
|
+
<a id="__codelineno-0-71" name="__codelineno-0-71"></a> <span class="k">elif</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">filter_field_class</span><span class="p">,</span> <span class="n">NumberFilter</span><span class="p">):</span>
|
|
6058
|
+
<a id="__codelineno-0-72" name="__codelineno-0-72"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">Int</span>
|
|
6059
|
+
<a id="__codelineno-0-73" name="__codelineno-0-73"></a> <span class="k">else</span><span class="p">:</span>
|
|
6060
|
+
<a id="__codelineno-0-74" name="__codelineno-0-74"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">String</span>
|
|
6061
|
+
<a id="__codelineno-0-75" name="__codelineno-0-75"></a>
|
|
6062
|
+
<a id="__codelineno-0-76" name="__codelineno-0-76"></a> <span class="k">if</span> <span class="nb">issubclass</span><span class="p">(</span><span class="n">filter_field_class</span><span class="p">,</span> <span class="n">MultipleChoiceFilter</span><span class="p">):</span>
|
|
6063
|
+
<a id="__codelineno-0-77" name="__codelineno-0-77"></a> <span class="n">field_type</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">List</span><span class="p">(</span><span class="n">field_type</span><span class="p">)</span>
|
|
6064
|
+
<a id="__codelineno-0-78" name="__codelineno-0-78"></a>
|
|
6065
|
+
<a id="__codelineno-0-79" name="__codelineno-0-79"></a> <span class="n">args</span><span class="p">[</span><span class="n">filter_name</span><span class="p">]</span> <span class="o">=</span> <span class="n">graphene</span><span class="o">.</span><span class="n">Argument</span><span class="p">(</span>
|
|
6066
|
+
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="n">field_type</span><span class="p">,</span>
|
|
6067
|
+
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="n">description</span><span class="o">=</span><span class="n">filter_field</span><span class="o">.</span><span class="n">label</span><span class="p">,</span>
|
|
6068
|
+
<a id="__codelineno-0-82" name="__codelineno-0-82"></a> <span class="n">required</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
|
|
6069
|
+
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="p">)</span>
|
|
6070
|
+
<a id="__codelineno-0-84" name="__codelineno-0-84"></a>
|
|
6071
|
+
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="c1"># Hack to swap `type` fields to `_type` since they will conflict with</span>
|
|
6072
|
+
<a id="__codelineno-0-86" name="__codelineno-0-86"></a> <span class="c1"># `graphene.types.fields.Field.type` in Graphene 2.x.</span>
|
|
6073
|
+
<a id="__codelineno-0-87" name="__codelineno-0-87"></a> <span class="c1"># 2.0 TODO(jathan): Once we upgrade to Graphene 3.x we can remove this, but we</span>
|
|
6074
|
+
<a id="__codelineno-0-88" name="__codelineno-0-88"></a> <span class="c1"># will still need to do an API migration to deprecate it. This argument was</span>
|
|
6075
|
+
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="c1"># validated to be safe to keep even in Graphene 3.</span>
|
|
6076
|
+
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="k">if</span> <span class="s2">"type"</span> <span class="ow">in</span> <span class="n">args</span><span class="p">:</span>
|
|
6077
|
+
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="n">args</span><span class="p">[</span><span class="s2">"_type"</span><span class="p">]</span> <span class="o">=</span> <span class="n">args</span><span class="o">.</span><span class="n">pop</span><span class="p">(</span><span class="s2">"type"</span><span class="p">)</span>
|
|
6078
|
+
<a id="__codelineno-0-92" name="__codelineno-0-92"></a>
|
|
6079
|
+
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="k">return</span> <span class="n">args</span>
|
|
6150
6080
|
</code></pre></div></td></tr></table></div>
|
|
6151
6081
|
</details>
|
|
6152
6082
|
</div>
|
|
@@ -6175,19 +6105,19 @@ if the filter field is a subclass of MultipleChoiceFilter, the argument will be
|
|
|
6175
6105
|
|
|
6176
6106
|
<details class="quote">
|
|
6177
6107
|
<summary>Source code in <code>nautobot/core/graphql/utils.py</code></summary>
|
|
6178
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
6108
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-18">18</a></span>
|
|
6109
|
+
<span class="normal"><a href="#__codelineno-0-19">19</a></span>
|
|
6179
6110
|
<span class="normal"><a href="#__codelineno-0-20">20</a></span>
|
|
6180
6111
|
<span class="normal"><a href="#__codelineno-0-21">21</a></span>
|
|
6181
6112
|
<span class="normal"><a href="#__codelineno-0-22">22</a></span>
|
|
6182
6113
|
<span class="normal"><a href="#__codelineno-0-23">23</a></span>
|
|
6183
|
-
<span class="normal"><a href="#__codelineno-0-24">24</a></span>
|
|
6184
|
-
<
|
|
6185
|
-
<a id="__codelineno-0-20" name="__codelineno-0-20"></a
|
|
6186
|
-
<a id="__codelineno-0-21" name="__codelineno-0-21"></a>
|
|
6187
|
-
<a id="__codelineno-0-22" name="__codelineno-0-22"></a><span class="sd">
|
|
6188
|
-
<a id="__codelineno-0-23" name="__codelineno-0-23"></a><span class="sd">
|
|
6189
|
-
<a id="__codelineno-0-24" name="__codelineno-0-24"></a><span class="
|
|
6190
|
-
<a id="__codelineno-0-25" name="__codelineno-0-25"></a> <span class="k">return</span> <span class="n">slugify_dashes_to_underscores</span><span class="p">(</span><span class="n">verbose_name</span><span class="p">)</span>
|
|
6114
|
+
<span class="normal"><a href="#__codelineno-0-24">24</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-18" name="__codelineno-0-18"></a><span class="k">def</span> <span class="nf">str_to_var_name</span><span class="p">(</span><span class="n">verbose_name</span><span class="p">):</span>
|
|
6115
|
+
<a id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="w"> </span><span class="sd">"""Convert a string to a variable compatible name.</span>
|
|
6116
|
+
<a id="__codelineno-0-20" name="__codelineno-0-20"></a>
|
|
6117
|
+
<a id="__codelineno-0-21" name="__codelineno-0-21"></a><span class="sd"> Examples:</span>
|
|
6118
|
+
<a id="__codelineno-0-22" name="__codelineno-0-22"></a><span class="sd"> IP Addresses > ip_addresses</span>
|
|
6119
|
+
<a id="__codelineno-0-23" name="__codelineno-0-23"></a><span class="sd"> """</span>
|
|
6120
|
+
<a id="__codelineno-0-24" name="__codelineno-0-24"></a> <span class="k">return</span> <span class="n">slugify_dashes_to_underscores</span><span class="p">(</span><span class="n">verbose_name</span><span class="p">)</span>
|
|
6191
6121
|
</code></pre></div></td></tr></table></div>
|
|
6192
6122
|
</details>
|
|
6193
6123
|
</div>
|