git: 97f588b3919b - main - net-mgmt/netbox: Update to 3.4.5
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 22 Feb 2023 07:15:09 UTC
The branch main has been updated by kai: URL: https://cgit.FreeBSD.org/ports/commit/?id=97f588b3919babbc1e237df5f83a8418fa319ae3 commit 97f588b3919babbc1e237df5f83a8418fa319ae3 Author: Kai Knoblich <kai@FreeBSD.org> AuthorDate: 2023-02-22 07:04:18 +0000 Commit: Kai Knoblich <kai@FreeBSD.org> CommitDate: 2023-02-22 07:04:18 +0000 net-mgmt/netbox: Update to 3.4.5 Changelog since 3.3.10: It contains many bugfixes/enhancements and the following new features: * New Global Search * Virtual Device Contexts * Saved Filters * JSON/YAML Bulk Imports * Update Existing Objects via Bulk Import * Scheduled Reports & Scripts * API for Staged Changes https://netbox.readthedocs.io/en/stable/release-notes/version-3.4/ MFH: No (feature release) --- net-mgmt/netbox/Makefile | 56 +++++++-------- net-mgmt/netbox/distinfo | 6 +- net-mgmt/netbox/files/netboxrc.sample.in | 1 + net-mgmt/netbox/files/pkg-message.in | 45 ++++++++++++ net-mgmt/netbox/pkg-plist | 113 +++++++++++++++++++++++++------ 5 files changed, 169 insertions(+), 52 deletions(-) diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile index be06e80d97d4..4054a7730b2b 100644 --- a/net-mgmt/netbox/Makefile +++ b/net-mgmt/netbox/Makefile @@ -1,6 +1,6 @@ PORTNAME= netbox DISTVERSIONPREFIX= v -DISTVERSION= 3.3.10 +DISTVERSION= 3.4.5 CATEGORIES= net-mgmt python MAINTAINER= kai@FreeBSD.org @@ -18,47 +18,47 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt # Django packages that are known for regressions in conjunction with NetBox and # should therefore only be updated with caution. # -# - devel/py-dj40-django-rq -# - www/py-dj40-django-filter -# - www/py-dj40-django-tables2 -# - www/py-dj40-djangorestframework (in conjunction with www/py-dj40-drf-yasg) +# - devel/py-dj41-django-rq +# - www/py-dj41-django-filter +# - www/py-dj41-django-tables2 +# - www/py-dj41-djangorestframework (in conjunction with www/py-dj41-drf-yasg) # -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django40>=4.0.8<4.1:www/py-django40@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-cors-headers>=3.13.0<4:www/py-dj40-django-cors-headers@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-debug-toolbar>=3.6.0<4:www/py-dj40-django-debug-toolbar@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-filter>=22.1<23:www/py-dj40-django-filter@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-graphiql-debug-toolbar>=0.2.0<1:www/py-dj40-django-graphiql-debug-toolbar@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-mptt>=0.14.0<0.15:www/py-dj40-django-mptt@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-prometheus>=2.2.0<2.3:www/py-dj40-django-prometheus@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-redis>=5.2.0<6:www/py-dj40-django-redis@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-rich>=1.4.0<2:www/py-dj40-django-rich@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-rq>=2.5.1<2.7:devel/py-dj40-django-rq@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-tables2>=2.4.1<2.5:www/py-dj40-django-tables2@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-taggit>=3.1.0<4:www/py-dj40-django-taggit@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-django-timezone-field>=5.0<6:www/py-dj40-django-timezone-field@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-djangorestframework>=3.14.0<3.15.0:www/py-dj40-djangorestframework@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-drf-yasg>=1.21.4<1.22:www/py-dj40-drf-yasg@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dj40-graphene-django>=2.15.0<3:devel/py-dj40-graphene-django@${PY_FLAVOR} \ +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django41>=4.1.7<4.2:www/py-django41@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-cors-headers>=3.13.0<4:www/py-dj41-django-cors-headers@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-debug-toolbar>=3.7.0<4:www/py-dj41-django-debug-toolbar@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-filter>=22.1<23:www/py-dj41-django-filter@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-graphiql-debug-toolbar>=0.2.0<1:www/py-dj41-django-graphiql-debug-toolbar@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-mptt>=0.14.0<0.15:www/py-dj41-django-mptt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-prometheus>=2.2.0<2.3:www/py-dj41-django-prometheus@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-redis>=5.2.0<6:www/py-dj41-django-redis@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-rich>=1.4.0<2:www/py-dj41-django-rich@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-rq>=2.7.0<2.8:devel/py-dj41-django-rq@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-tables2>=2.5.2<2.6:www/py-dj41-django-tables2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-taggit>=3.1.0<4:www/py-dj41-django-taggit@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-django-timezone-field>=5.0<6:www/py-dj41-django-timezone-field@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-djangorestframework>=3.14.0<3.15.0:www/py-dj41-djangorestframework@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-drf-yasg>=1.21.5<1.22:www/py-dj41-drf-yasg@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj41-graphene-django>=3.0.0<4:devel/py-dj41-graphene-django@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}bleach>=5.0.1<6:www/py-bleach@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.0.1<4:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>=3.1.2<4:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7<3.4:textproc/py-markdown@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}markdown-include>=0.7.0<1:textproc/py-markdown-include@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}mkdocs-material>=8.2.11<9:textproc/py-mkdocs-material@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}mkdocs-material>=8.5.11<10:textproc/py-mkdocs-material@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.17.0<1:textproc/py-mkdocstrings@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}netaddr>=0.8.0<1:net/py-netaddr@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}pillow>=9.2.0:graphics/py-pillow@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.3<3:databases/py-psycopg2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pillow>=9.4.0:graphics/py-pillow@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.9.5<3:databases/py-psycopg2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}sentry-sdk>=1.5.12<2:devel/py-sentry-sdk@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}social-auth-app-django>=5.0.0<6:www/py-social-auth-app-django@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.3.0<5:security/py-social-auth-core@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}svgwrite>=1.4.3<2:graphics/py-svgwrite@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}tablib>=3.2.1<4:textproc/py-tablib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}tablib>=3.3.0<4:textproc/py-tablib@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}tzdata>=2022.7:devel/py-tzdata@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}yaml>=5.4.1<7:devel/py-yaml@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}yaml>=6.0<7:devel/py-yaml@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}gunicorn>=20.1.0<21:www/py-gunicorn@${PY_FLAVOR} -USES= cpe pgsql:10+ python:3.8+ +USES= cpe pgsql:11+ python:3.8+ CPE_VENDOR= netbox_project USE_GITHUB= yes GH_ACCOUNT= netbox-community diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo index 08eb0cd181f8..bd8b15e26827 100644 --- a/net-mgmt/netbox/distinfo +++ b/net-mgmt/netbox/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1670965894 -SHA256 (netbox-community-netbox-v3.3.10_GH0.tar.gz) = 18d59234db6ffbe08dc9b8eaea8cc8e022fc08f92e0714a01223ae8d7333b62b -SIZE (netbox-community-netbox-v3.3.10_GH0.tar.gz) = 7316933 +TIMESTAMP = 1676994695 +SHA256 (netbox-community-netbox-v3.4.5_GH0.tar.gz) = 505e4551f6420a70265e927a2ad7b2fabbea5d917e396abaf410713d80fd2736 +SIZE (netbox-community-netbox-v3.4.5_GH0.tar.gz) = 7371574 diff --git a/net-mgmt/netbox/files/netboxrc.sample.in b/net-mgmt/netbox/files/netboxrc.sample.in index 7510729b0701..f74676e1a4d4 100644 --- a/net-mgmt/netbox/files/netboxrc.sample.in +++ b/net-mgmt/netbox/files/netboxrc.sample.in @@ -99,6 +99,7 @@ netbox_upgrade() %%LOCALBASE%%/bin/mkdocs build %%PYTHON_CMD%% manage.py collectstatic --no-input %%PYTHON_CMD%% manage.py remove_stale_contenttypes --no-input + %%PYTHON_CMD%% manage.py reindex --lazy %%PYTHON_CMD%% manage.py clearsessions %%PYTHON_CMD%% manage.py clearcache echo "Please restart NetBox and the WSGI environment." diff --git a/net-mgmt/netbox/files/pkg-message.in b/net-mgmt/netbox/files/pkg-message.in index 490cbeb03501..dca61f4b8249 100644 --- a/net-mgmt/netbox/files/pkg-message.in +++ b/net-mgmt/netbox/files/pkg-message.in @@ -27,6 +27,7 @@ The following steps are required to finish the upgrade: # mkdocs build # python%%PYTHON_VER%% manage.py collectstatic --no-input # python%%PYTHON_VER%% manage.py remove_stale_contenttypes --no-input +# python%%PYTHON_VER%% manage.py reindex --lazy # python%%PYTHON_VER%% manage.py clearsessions # python%%PYTHON_VER%% manage.py clearcache @@ -280,4 +281,48 @@ following items before running the database migrations: documentation, etc.). EOD } +{ type: upgrade + maximum_version: 3.4.5 + message: <<EOD +1. Please make sure that the PostgreSQL server for the NetBox instance is + running version 11 or higher. This is because PostgreSQL 10 is End-of-Life + since November 2022 and Django 4.1 requires PostgreSQL 11 as a minimum. + +2. The NetBox 3.4 release contains some breaking changes, so the following + items should be checked as well: + + * Device and virtual machine names are no longer case-sensitive. Attempting + to create e.g. "device1" and "DEVICE1" within the same site will raise a + validation error. + + * The "asn", "noc_contact", "admin_contact", and "portal_url" fields have + been removed from the provider model. Please replicate any data remaining + in these fields to the ASN and contact models introduced in NetBox v3.1 + prior to upgrading. + + * The "content_type" fields on the CustomLink and ExportTemplate models have + been renamed to "content_types" and now support the assignment of multiple + content types per object. + + * Within the Python API, the "cf" property on an object with custom fields + now returns deserialized values. For example, a custom field referencing + an object will return the object instance rather than its numeric ID. + + To access the raw serialized values, reference the object's + "custom_field_data" attribute instead. + + * The "NetBoxModelCSVForm" class has been renamed to + "NetBoxModelImportForm". Backward compatability with the previous name + has been retained for this release, but will be dropped in NetBox v3.5. + + +3. Please note that the general update instructions got another command that + needs to be issued after each update: + +# python%%PYTHON_VER%% manage.py reindex --lazy + + The netbox sample rc script has also been adapted accordingly for this + purpose. +EOD +} ] diff --git a/net-mgmt/netbox/pkg-plist b/net-mgmt/netbox/pkg-plist index b6cdd06e9fc5..dd0271d1eed3 100644 --- a/net-mgmt/netbox/pkg-plist +++ b/net-mgmt/netbox/pkg-plist @@ -17,7 +17,7 @@ %%DATADIR%%/circuits/forms/bulk_edit.py %%DATADIR%%/circuits/forms/bulk_import.py %%DATADIR%%/circuits/forms/filtersets.py -%%DATADIR%%/circuits/forms/models.py +%%DATADIR%%/circuits/forms/model_forms.py %%DATADIR%%/circuits/graphql/__init__.py %%DATADIR%%/circuits/graphql/schema.py %%DATADIR%%/circuits/graphql/types.py @@ -32,10 +32,14 @@ %%DATADIR%%/circuits/migrations/0036_circuit_termination_date_tags_custom_fields.py %%DATADIR%%/circuits/migrations/0037_new_cabling_models.py %%DATADIR%%/circuits/migrations/0038_cabling_cleanup.py +%%DATADIR%%/circuits/migrations/0039_unique_constraints.py +%%DATADIR%%/circuits/migrations/0040_provider_remove_deprecated_fields.py +%%DATADIR%%/circuits/migrations/0041_standardize_description_comments.py %%DATADIR%%/circuits/migrations/__init__.py %%DATADIR%%/circuits/models/__init__.py %%DATADIR%%/circuits/models/circuits.py %%DATADIR%%/circuits/models/providers.py +%%DATADIR%%/circuits/search.py %%DATADIR%%/circuits/signals.py %%DATADIR%%/circuits/tables/__init__.py %%DATADIR%%/circuits/tables/circuits.py @@ -67,10 +71,11 @@ %%DATADIR%%/dcim/forms/connections.py %%DATADIR%%/dcim/forms/filtersets.py %%DATADIR%%/dcim/forms/formsets.py -%%DATADIR%%/dcim/forms/models.py +%%DATADIR%%/dcim/forms/model_forms.py %%DATADIR%%/dcim/forms/object_create.py %%DATADIR%%/dcim/forms/object_import.py %%DATADIR%%/dcim/graphql/__init__.py +%%DATADIR%%/dcim/graphql/gfk_mixins.py %%DATADIR%%/dcim/graphql/mixins.py %%DATADIR%%/dcim/graphql/schema.py %%DATADIR%%/dcim/graphql/types.py @@ -112,15 +117,23 @@ %%DATADIR%%/dcim/migrations/0159_populate_cable_paths.py %%DATADIR%%/dcim/migrations/0160_populate_cable_ends.py %%DATADIR%%/dcim/migrations/0161_cabling_cleanup.py +%%DATADIR%%/dcim/migrations/0162_unique_constraints.py +%%DATADIR%%/dcim/migrations/0163_weight_fields.py +%%DATADIR%%/dcim/migrations/0164_rack_mounting_depth.py +%%DATADIR%%/dcim/migrations/0165_standardize_description_comments.py +%%DATADIR%%/dcim/migrations/0166_virtualdevicecontext.py +%%DATADIR%%/dcim/migrations/0167_module_status.py %%DATADIR%%/dcim/migrations/__init__.py %%DATADIR%%/dcim/models/__init__.py %%DATADIR%%/dcim/models/cables.py %%DATADIR%%/dcim/models/device_component_templates.py %%DATADIR%%/dcim/models/device_components.py %%DATADIR%%/dcim/models/devices.py +%%DATADIR%%/dcim/models/mixins.py %%DATADIR%%/dcim/models/power.py %%DATADIR%%/dcim/models/racks.py %%DATADIR%%/dcim/models/sites.py +%%DATADIR%%/dcim/search.py %%DATADIR%%/dcim/signals.py %%DATADIR%%/dcim/svg/__init__.py %%DATADIR%%/dcim/svg/cables.py @@ -182,6 +195,7 @@ %%DATADIR%%/docs/development/index.md %%DATADIR%%/docs/development/models.md %%DATADIR%%/docs/development/release-checklist.md +%%DATADIR%%/docs/development/search.md %%DATADIR%%/docs/development/signals.md %%DATADIR%%/docs/development/style-guide.md %%DATADIR%%/docs/development/user-preferences.md @@ -200,6 +214,7 @@ %%DATADIR%%/docs/features/journaling.md %%DATADIR%%/docs/features/l2vpn-overlay.md %%DATADIR%%/docs/features/power-tracking.md +%%DATADIR%%/docs/features/search.md %%DATADIR%%/docs/features/tenancy.md %%DATADIR%%/docs/features/virtualization.md %%DATADIR%%/docs/features/vlan-management.md @@ -293,12 +308,16 @@ %%DATADIR%%/docs/models/dcim/site.md %%DATADIR%%/docs/models/dcim/sitegroup.md %%DATADIR%%/docs/models/dcim/virtualchassis.md +%%DATADIR%%/docs/models/dcim/virtualdevicecontext.md +%%DATADIR%%/docs/models/extras/branch.md %%DATADIR%%/docs/models/extras/configcontext.md %%DATADIR%%/docs/models/extras/customfield.md %%DATADIR%%/docs/models/extras/customlink.md %%DATADIR%%/docs/models/extras/exporttemplate.md %%DATADIR%%/docs/models/extras/imageattachment.md %%DATADIR%%/docs/models/extras/journalentry.md +%%DATADIR%%/docs/models/extras/savedfilter.md +%%DATADIR%%/docs/models/extras/stagedchange.md %%DATADIR%%/docs/models/extras/tag.md %%DATADIR%%/docs/models/extras/webhook.md %%DATADIR%%/docs/models/ipam/aggregate.md @@ -342,6 +361,8 @@ %%DATADIR%%/docs/plugins/development/models.md %%DATADIR%%/docs/plugins/development/navigation.md %%DATADIR%%/docs/plugins/development/rest-api.md +%%DATADIR%%/docs/plugins/development/search.md +%%DATADIR%%/docs/plugins/development/staged-changes.md %%DATADIR%%/docs/plugins/development/tables.md %%DATADIR%%/docs/plugins/development/templates.md %%DATADIR%%/docs/plugins/development/views.md @@ -366,6 +387,7 @@ %%DATADIR%%/docs/release-notes/version-3.1.md %%DATADIR%%/docs/release-notes/version-3.2.md %%DATADIR%%/docs/release-notes/version-3.3.md +%%DATADIR%%/docs/release-notes/version-3.4.md %%DATADIR%%/extras/__init__.py %%DATADIR%%/extras/admin.py %%DATADIR%%/extras/api/__init__.py @@ -379,15 +401,17 @@ %%DATADIR%%/extras/conditions.py %%DATADIR%%/extras/constants.py %%DATADIR%%/extras/context_managers.py +%%DATADIR%%/extras/fields.py %%DATADIR%%/extras/filters.py %%DATADIR%%/extras/filtersets.py %%DATADIR%%/extras/forms/__init__.py %%DATADIR%%/extras/forms/bulk_edit.py %%DATADIR%%/extras/forms/bulk_import.py %%DATADIR%%/extras/forms/config.py -%%DATADIR%%/extras/forms/customfields.py %%DATADIR%%/extras/forms/filtersets.py -%%DATADIR%%/extras/forms/models.py +%%DATADIR%%/extras/forms/mixins.py +%%DATADIR%%/extras/forms/model_forms.py +%%DATADIR%%/extras/forms/reports.py %%DATADIR%%/extras/forms/scripts.py %%DATADIR%%/extras/graphql/__init__.py %%DATADIR%%/extras/graphql/mixins.py @@ -399,6 +423,7 @@ %%DATADIR%%/extras/management/commands/clearcache.py %%DATADIR%%/extras/management/commands/housekeeping.py %%DATADIR%%/extras/management/commands/nbshell.py +%%DATADIR%%/extras/management/commands/reindex.py %%DATADIR%%/extras/management/commands/renaturalize.py %%DATADIR%%/extras/management/commands/rqworker.py %%DATADIR%%/extras/management/commands/runreport.py @@ -424,21 +449,32 @@ %%DATADIR%%/extras/migrations/0075_configcontext_locations.py %%DATADIR%%/extras/migrations/0076_tag_slug_unicode.py %%DATADIR%%/extras/migrations/0077_customlink_extend_text_and_url.py +%%DATADIR%%/extras/migrations/0078_unique_constraints.py +%%DATADIR%%/extras/migrations/0079_scheduled_jobs.py +%%DATADIR%%/extras/migrations/0080_customlink_content_types.py +%%DATADIR%%/extras/migrations/0081_exporttemplate_content_types.py +%%DATADIR%%/extras/migrations/0082_savedfilter.py +%%DATADIR%%/extras/migrations/0083_search.py +%%DATADIR%%/extras/migrations/0084_staging.py %%DATADIR%%/extras/migrations/__init__.py %%DATADIR%%/extras/models/__init__.py %%DATADIR%%/extras/models/change_logging.py %%DATADIR%%/extras/models/configcontexts.py %%DATADIR%%/extras/models/customfields.py %%DATADIR%%/extras/models/models.py +%%DATADIR%%/extras/models/search.py +%%DATADIR%%/extras/models/staging.py %%DATADIR%%/extras/models/tags.py %%DATADIR%%/extras/plugins/__init__.py +%%DATADIR%%/extras/plugins/navigation.py +%%DATADIR%%/extras/plugins/registration.py +%%DATADIR%%/extras/plugins/templates.py %%DATADIR%%/extras/plugins/urls.py -%%DATADIR%%/extras/plugins/utils.py %%DATADIR%%/extras/plugins/views.py %%DATADIR%%/extras/querysets.py -%%DATADIR%%/extras/registry.py %%DATADIR%%/extras/reports.py %%DATADIR%%/extras/scripts.py +%%DATADIR%%/extras/search.py %%DATADIR%%/extras/signals.py %%DATADIR%%/extras/tables/__init__.py %%DATADIR%%/extras/tables/tables.py @@ -460,6 +496,7 @@ %%DATADIR%%/extras/tests/dummy_plugin/models.py %%DATADIR%%/extras/tests/dummy_plugin/navigation.py %%DATADIR%%/extras/tests/dummy_plugin/preferences.py +%%DATADIR%%/extras/tests/dummy_plugin/search.py %%DATADIR%%/extras/tests/dummy_plugin/template_content.py %%DATADIR%%/extras/tests/dummy_plugin/urls.py %%DATADIR%%/extras/tests/dummy_plugin/views.py @@ -472,7 +509,6 @@ %%DATADIR%%/extras/tests/test_forms.py %%DATADIR%%/extras/tests/test_models.py %%DATADIR%%/extras/tests/test_plugins.py -%%DATADIR%%/extras/tests/test_registry.py %%DATADIR%%/extras/tests/test_scripts.py %%DATADIR%%/extras/tests/test_tags.py %%DATADIR%%/extras/tests/test_views.py @@ -501,8 +537,9 @@ %%DATADIR%%/ipam/forms/bulk_edit.py %%DATADIR%%/ipam/forms/bulk_import.py %%DATADIR%%/ipam/forms/filtersets.py -%%DATADIR%%/ipam/forms/models.py +%%DATADIR%%/ipam/forms/model_forms.py %%DATADIR%%/ipam/graphql/__init__.py +%%DATADIR%%/ipam/graphql/gfk_mixins.py %%DATADIR%%/ipam/graphql/mixins.py %%DATADIR%%/ipam/graphql/schema.py %%DATADIR%%/ipam/graphql/types.py @@ -527,6 +564,10 @@ %%DATADIR%%/ipam/migrations/0058_ipaddress_nat_inside_nonunique.py %%DATADIR%%/ipam/migrations/0059_l2vpn.py %%DATADIR%%/ipam/migrations/0060_alter_l2vpn_slug.py +%%DATADIR%%/ipam/migrations/0061_fhrpgroup_name.py +%%DATADIR%%/ipam/migrations/0062_unique_constraints.py +%%DATADIR%%/ipam/migrations/0063_standardize_description_comments.py +%%DATADIR%%/ipam/migrations/0064_clear_search_cache.py %%DATADIR%%/ipam/migrations/__init__.py %%DATADIR%%/ipam/models/__init__.py %%DATADIR%%/ipam/models/fhrp.py @@ -536,6 +577,7 @@ %%DATADIR%%/ipam/models/vlans.py %%DATADIR%%/ipam/models/vrfs.py %%DATADIR%%/ipam/querysets.py +%%DATADIR%%/ipam/search.py %%DATADIR%%/ipam/signals.py %%DATADIR%%/ipam/tables/__init__.py %%DATADIR%%/ipam/tables/fhrp.py @@ -598,11 +640,15 @@ %%DATADIR%%/netbox/middleware.py %%DATADIR%%/netbox/models/__init__.py %%DATADIR%%/netbox/models/features.py -%%DATADIR%%/netbox/navigation_menu.py +%%DATADIR%%/netbox/navigation/__init__.py +%%DATADIR%%/netbox/navigation/menu.py %%DATADIR%%/netbox/preferences.py -%%DATADIR%%/netbox/search.py +%%DATADIR%%/netbox/registry.py +%%DATADIR%%/netbox/search/__init__.py +%%DATADIR%%/netbox/search/backends.py %%DATADIR%%/netbox/settings.py %%DATADIR%%/netbox/signals.py +%%DATADIR%%/netbox/staging.py %%DATADIR%%/netbox/tables/__init__.py %%DATADIR%%/netbox/tables/columns.py %%DATADIR%%/netbox/tables/tables.py @@ -611,10 +657,15 @@ %%DATADIR%%/netbox/tests/test_authentication.py %%DATADIR%%/netbox/tests/test_config.py %%DATADIR%%/netbox/tests/test_graphql.py +%%DATADIR%%/netbox/tests/test_import.py +%%DATADIR%%/netbox/tests/test_registry.py +%%DATADIR%%/netbox/tests/test_search.py +%%DATADIR%%/netbox/tests/test_staging.py %%DATADIR%%/netbox/tests/test_tables.py %%DATADIR%%/netbox/tests/test_views.py %%DATADIR%%/netbox/urls.py %%DATADIR%%/netbox/views/__init__.py +%%DATADIR%%/netbox/views/errors.py %%DATADIR%%/netbox/views/generic/__init__.py %%DATADIR%%/netbox/views/generic/base.py %%DATADIR%%/netbox/views/generic/bulk_views.py @@ -622,6 +673,7 @@ %%DATADIR%%/netbox/views/generic/mixins.py %%DATADIR%%/netbox/views/generic/object_views.py %%DATADIR%%/netbox/views/generic/utils.py +%%DATADIR%%/netbox/views/misc.py %%DATADIR%%/netbox/wsgi.py %%DATADIR%%/project-static/.eslintignore %%DATADIR%%/project-static/.eslintrc @@ -780,14 +832,14 @@ %%DATADIR%%/templates/dcim/device/rearports.html %%DATADIR%%/templates/dcim/device/status.html %%DATADIR%%/templates/dcim/device_edit.html -%%DATADIR%%/templates/dcim/device_import.html -%%DATADIR%%/templates/dcim/device_import_child.html %%DATADIR%%/templates/dcim/device_list.html %%DATADIR%%/templates/dcim/devicebay.html %%DATADIR%%/templates/dcim/devicebay_delete.html %%DATADIR%%/templates/dcim/devicebay_depopulate.html %%DATADIR%%/templates/dcim/devicebay_populate.html %%DATADIR%%/templates/dcim/devicerole.html +%%DATADIR%%/templates/dcim/devicerole/devices.html +%%DATADIR%%/templates/dcim/devicerole/virtual_machines.html %%DATADIR%%/templates/dcim/devicetype.html %%DATADIR%%/templates/dcim/devicetype/base.html %%DATADIR%%/templates/dcim/devicetype/component_templates.html @@ -795,7 +847,6 @@ %%DATADIR%%/templates/dcim/inc/cable_termination.html %%DATADIR%%/templates/dcim/inc/cable_toggle_buttons.html %%DATADIR%%/templates/dcim/inc/connection_endpoints.html -%%DATADIR%%/templates/dcim/inc/device_import_header.html %%DATADIR%%/templates/dcim/inc/endpoint_connection.html %%DATADIR%%/templates/dcim/inc/interface_vlans_table.html %%DATADIR%%/templates/dcim/inc/nonracked_devices.html @@ -807,6 +858,7 @@ %%DATADIR%%/templates/dcim/inventoryitem.html %%DATADIR%%/templates/dcim/inventoryitem_bulk_delete.html %%DATADIR%%/templates/dcim/inventoryitem_delete.html +%%DATADIR%%/templates/dcim/inventoryitem_edit.html %%DATADIR%%/templates/dcim/inventoryitemrole.html %%DATADIR%%/templates/dcim/location.html %%DATADIR%%/templates/dcim/manufacturer.html @@ -825,6 +877,7 @@ %%DATADIR%%/templates/dcim/rack.html %%DATADIR%%/templates/dcim/rack_edit.html %%DATADIR%%/templates/dcim/rack_elevation_list.html +%%DATADIR%%/templates/dcim/rack_list.html %%DATADIR%%/templates/dcim/rackreservation.html %%DATADIR%%/templates/dcim/rackrole.html %%DATADIR%%/templates/dcim/rearport.html @@ -843,6 +896,7 @@ %%DATADIR%%/templates/dcim/virtualchassis_add_member.html %%DATADIR%%/templates/dcim/virtualchassis_edit.html %%DATADIR%%/templates/dcim/virtualchassis_remove_member.html +%%DATADIR%%/templates/dcim/virtualdevicecontext.html %%DATADIR%%/templates/exceptions/import_error.html %%DATADIR%%/templates/exceptions/permission_error.html %%DATADIR%%/templates/exceptions/programming_error.html @@ -867,6 +921,7 @@ %%DATADIR%%/templates/extras/report.html %%DATADIR%%/templates/extras/report_list.html %%DATADIR%%/templates/extras/report_result.html +%%DATADIR%%/templates/extras/savedfilter.html %%DATADIR%%/templates/extras/script.html %%DATADIR%%/templates/extras/script_list.html %%DATADIR%%/templates/extras/script_result.html @@ -883,7 +938,6 @@ %%DATADIR%%/templates/generic/object.html %%DATADIR%%/templates/generic/object_delete.html %%DATADIR%%/templates/generic/object_edit.html -%%DATADIR%%/templates/generic/object_import.html %%DATADIR%%/templates/generic/object_list.html %%DATADIR%%/templates/graphiql.html %%DATADIR%%/templates/home.html @@ -901,8 +955,10 @@ %%DATADIR%%/templates/inc/panels/contacts.html %%DATADIR%%/templates/inc/panels/custom_fields.html %%DATADIR%%/templates/inc/panels/image_attachments.html +%%DATADIR%%/templates/inc/panels/services.html %%DATADIR%%/templates/inc/panels/tags.html %%DATADIR%%/templates/inc/profile_button.html +%%DATADIR%%/templates/inc/searchbar.html %%DATADIR%%/templates/inc/table.html %%DATADIR%%/templates/inc/table_controls_htmx.html %%DATADIR%%/templates/inc/table_htmx.html @@ -915,7 +971,6 @@ %%DATADIR%%/templates/ipam/fhrpgroupassignment_edit.html %%DATADIR%%/templates/ipam/inc/ipaddress_edit_header.html %%DATADIR%%/templates/ipam/inc/panels/fhrp_groups.html -%%DATADIR%%/templates/ipam/inc/service.html %%DATADIR%%/templates/ipam/inc/toggle_available.html %%DATADIR%%/templates/ipam/ipaddress.html %%DATADIR%%/templates/ipam/ipaddress_assign.html @@ -957,6 +1012,7 @@ %%DATADIR%%/templates/tenancy/contactrole.html %%DATADIR%%/templates/tenancy/tenant.html %%DATADIR%%/templates/tenancy/tenantgroup.html +%%DATADIR%%/templates/users/api_token.html %%DATADIR%%/templates/users/api_tokens.html %%DATADIR%%/templates/users/base.html %%DATADIR%%/templates/users/password.html @@ -994,7 +1050,7 @@ %%DATADIR%%/tenancy/forms/bulk_import.py %%DATADIR%%/tenancy/forms/filtersets.py %%DATADIR%%/tenancy/forms/forms.py -%%DATADIR%%/tenancy/forms/models.py +%%DATADIR%%/tenancy/forms/model_forms.py %%DATADIR%%/tenancy/graphql/__init__.py %%DATADIR%%/tenancy/graphql/schema.py %%DATADIR%%/tenancy/graphql/types.py @@ -1005,10 +1061,13 @@ %%DATADIR%%/tenancy/migrations/0005_standardize_id_fields.py %%DATADIR%%/tenancy/migrations/0006_created_datetimefield.py %%DATADIR%%/tenancy/migrations/0007_contact_link.py +%%DATADIR%%/tenancy/migrations/0008_unique_constraints.py +%%DATADIR%%/tenancy/migrations/0009_standardize_description_comments.py %%DATADIR%%/tenancy/migrations/__init__.py %%DATADIR%%/tenancy/models/__init__.py %%DATADIR%%/tenancy/models/contacts.py %%DATADIR%%/tenancy/models/tenants.py +%%DATADIR%%/tenancy/search.py %%DATADIR%%/tenancy/tables/__init__.py %%DATADIR%%/tenancy/tables/columns.py %%DATADIR%%/tenancy/tables/contacts.py @@ -1073,6 +1132,7 @@ %%DATADIR%%/utilities/forms/utils.py %%DATADIR%%/utilities/forms/widgets.py %%DATADIR%%/utilities/htmx.py +%%DATADIR%%/utilities/json.py %%DATADIR%%/utilities/management/__init__.py %%DATADIR%%/utilities/management/commands/__init__.py %%DATADIR%%/utilities/management/commands/makemigrations.py @@ -1107,9 +1167,10 @@ %%DATADIR%%/utilities/templates/helpers/table_config_form.html %%DATADIR%%/utilities/templates/helpers/utilization_graph.html %%DATADIR%%/utilities/templates/navigation/menu.html -%%DATADIR%%/utilities/templates/search/searchbar.html +%%DATADIR%%/utilities/templates/tabs/model_view_tabs.html %%DATADIR%%/utilities/templates/widgets/clearable_file_input.html %%DATADIR%%/utilities/templates/widgets/colorselect_option.html +%%DATADIR%%/utilities/templates/widgets/select_duration.html %%DATADIR%%/utilities/templates/widgets/select_option.html %%DATADIR%%/utilities/templates/widgets/select_option_with_pk.html %%DATADIR%%/utilities/templates/widgets/select_speed.html @@ -1123,7 +1184,7 @@ %%DATADIR%%/utilities/templatetags/helpers.py %%DATADIR%%/utilities/templatetags/navigation.py %%DATADIR%%/utilities/templatetags/perms.py -%%DATADIR%%/utilities/templatetags/search.py +%%DATADIR%%/utilities/templatetags/tabs.py %%DATADIR%%/utilities/testing/__init__.py %%DATADIR%%/utilities/testing/api.py %%DATADIR%%/utilities/testing/base.py @@ -1138,6 +1199,7 @@ %%DATADIR%%/utilities/tests/test_managers.py %%DATADIR%%/utilities/tests/test_ordering.py %%DATADIR%%/utilities/tests/test_utils.py +%%DATADIR%%/utilities/urls.py %%DATADIR%%/utilities/utils.py %%DATADIR%%/utilities/validators.py %%DATADIR%%/utilities/views.py @@ -1155,7 +1217,7 @@ %%DATADIR%%/virtualization/forms/bulk_edit.py %%DATADIR%%/virtualization/forms/bulk_import.py %%DATADIR%%/virtualization/forms/filtersets.py -%%DATADIR%%/virtualization/forms/models.py +%%DATADIR%%/virtualization/forms/model_forms.py %%DATADIR%%/virtualization/forms/object_create.py %%DATADIR%%/virtualization/graphql/__init__.py %%DATADIR%%/virtualization/graphql/schema.py @@ -1171,8 +1233,13 @@ %%DATADIR%%/virtualization/migrations/0030_cluster_status.py %%DATADIR%%/virtualization/migrations/0031_virtualmachine_site_device.py %%DATADIR%%/virtualization/migrations/0032_virtualmachine_update_sites.py +%%DATADIR%%/virtualization/migrations/0033_unique_constraints.py +%%DATADIR%%/virtualization/migrations/0034_standardize_description_comments.py %%DATADIR%%/virtualization/migrations/__init__.py -%%DATADIR%%/virtualization/models.py +%%DATADIR%%/virtualization/models/__init__.py +%%DATADIR%%/virtualization/models/clusters.py +%%DATADIR%%/virtualization/models/virtualmachines.py +%%DATADIR%%/virtualization/search.py %%DATADIR%%/virtualization/tables/__init__.py %%DATADIR%%/virtualization/tables/clusters.py %%DATADIR%%/virtualization/tables/virtualmachines.py @@ -1197,7 +1264,7 @@ %%DATADIR%%/wireless/forms/bulk_edit.py %%DATADIR%%/wireless/forms/bulk_import.py %%DATADIR%%/wireless/forms/filtersets.py -%%DATADIR%%/wireless/forms/models.py +%%DATADIR%%/wireless/forms/model_forms.py %%DATADIR%%/wireless/graphql/__init__.py %%DATADIR%%/wireless/graphql/schema.py %%DATADIR%%/wireless/graphql/types.py @@ -1206,8 +1273,12 @@ %%DATADIR%%/wireless/migrations/0003_created_datetimefield.py %%DATADIR%%/wireless/migrations/0004_wireless_tenancy.py %%DATADIR%%/wireless/migrations/0005_wirelesslink_interface_types.py +%%DATADIR%%/wireless/migrations/0006_unique_constraints.py +%%DATADIR%%/wireless/migrations/0007_standardize_description_comments.py +%%DATADIR%%/wireless/migrations/0008_wirelesslan_status.py %%DATADIR%%/wireless/migrations/__init__.py %%DATADIR%%/wireless/models.py +%%DATADIR%%/wireless/search.py %%DATADIR%%/wireless/signals.py %%DATADIR%%/wireless/tables/__init__.py %%DATADIR%%/wireless/tables/wirelesslan.py