git: a7bcdf11908e - main - net-mgmt/netbox: Update to 4.2.6

From: Kai Knoblich <kai_at_FreeBSD.org>
Date: Sat, 22 Mar 2025 16:16:12 UTC
The branch main has been updated by kai:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a7bcdf11908e7a3153f351e95eb3c0013e95b3c6

commit a7bcdf11908e7a3153f351e95eb3c0013e95b3c6
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2025-03-22 15:52:57 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2025-03-22 16:11:34 +0000

    net-mgmt/netbox: Update to 4.2.6
    
    * Switch from py-mkdocstrings-python-legacy to py-mkdocstrings-python as
      upstream now uses the latter in conjunction with py-mkdocstrings to
      generate the embedded documentation.
    
    Changelog:
    
    Enhancements:
    * Add rack title above rack on rack detail view
    * Add config option for disk space divisor
    * Update filtersets and filter forms to include contact filters where
      missing
    * Ensure contact link in tables is hyperlinked
    * Add FC/UPC, FC/APC and FC/PC port types
    * Delay enqueuing background tasks until DB transaction is committed to
      avoid race condition
    * Support site group search for ASNs
    
    Bug Fixes:
    * Eliminate N+1 issue by adding generic prefetch operation to Interface
      API endpoint
    * Update JSONField to enclose bare string values in quotes
    * Fix prefix bulk import with associated VLAN and conflicting VLAN IDs
    * Ensure location list and detail views show related VLAN group
      information
    * Ensure misconfigured object list widgets on the dashboard now degrade
      gracefully
    * Fix inventory item bulk edit to ensure that component name and type
      are both validated Ensure
    * Ensure that local context data correctly rejects falsy values
    * Restore default sort behavior of name column on devices list view
    * Exempt MPTT-based models from ordering fix introduced in #18279
    * Ensure numeric conversion helper always return a clean decimal value
    * Ensure that kind is a required field when making journal entries
    * Ensure tag deserialization is handled correctly
    * Allow VM interface objects to be set on prefix object-type
      custom field
    * Fix icon displayed for GitHub authentication on login page
    * Support cascading deletions when cleaning up expired changelog records
    * Allow filtering VLAN groups by associated site groups
    * Ensure clearing "Widget type" field when adding widgets to dashboard
      does not cause a "ValueError: Unregistered widget class" error
    * Add missing contacts property to GraphQL types where the associated
      model has a connection to a contact
    
    https://github.com/netbox-community/netbox/releases/tag/v4.2.6
---
 net-mgmt/netbox/Makefile               | 14 +++++++-------
 net-mgmt/netbox/distinfo               |  6 +++---
 net-mgmt/netbox/files/patch-mkdocs.yml | 21 ++++++++++++---------
 net-mgmt/netbox/pkg-plist              |  3 +++
 4 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile
index ff9c0b0b6830..5d1fcd4478c6 100644
--- a/net-mgmt/netbox/Makefile
+++ b/net-mgmt/netbox/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	netbox
 DISTVERSIONPREFIX=	v
-DISTVERSION=	4.2.5
+DISTVERSION=	4.2.6
 CATEGORIES=	net-mgmt python
 
 MAINTAINER=	kai@FreeBSD.org
@@ -27,7 +27,7 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django51>=5.1.7<5.2:www/py-django51@${PY_FLA
 		${PYTHON_PKGNAMEPREFIX}dj51-django-cors-headers>=4.7.0<5:www/py-dj51-django-cors-headers@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-django-debug-toolbar>=5.0.1<6:www/py-dj51-django-debug-toolbar@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-django-filter>=25.1<26:www/py-dj51-django-filter@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj51-django-htmx>=1.22.0<2:www/py-dj51-django-htmx@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj51-django-htmx>=1.23.0<2:www/py-dj51-django-htmx@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-django-mptt>=0.16.0<0.17:www/py-dj51-django-mptt@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-django-prometheus>=2.3.1<2.4:www/py-dj51-django-prometheus@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-django-redis>=5.4.0<6:www/py-dj51-django-redis@${PY_FLAVOR} \
@@ -40,21 +40,21 @@ RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}django51>=5.1.7<5.2:www/py-django51@${PY_FLA
 		${PYTHON_PKGNAMEPREFIX}dj51-drf-spectacular>=0.28.0<1:www/py-dj51-drf-spectacular@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-drf-spectacular-sidecar>=2025.3.1:www/py-dj51-drf-spectacular-sidecar@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-social-auth-app-django>=5.4.3<6:www/py-dj51-social-auth-app-django@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}dj51-strawberry-graphql>=0.262.0<0.300:devel/py-dj51-strawberry-graphql@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}dj51-strawberry-graphql>=0.262.5<0.300:devel/py-dj51-strawberry-graphql@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}dj51-strawberry-graphql-django>=0.52.0<1:www/py-dj51-strawberry-graphql-django@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}feedparser>=6.0.11<7:textproc/py-feedparser@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}Jinja2>=3.1.6<4:devel/py-Jinja2@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}markdown>=3.6<3.8:textproc/py-markdown@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.6.7<10:textproc/py-mkdocs-material@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.27.0<1:textproc/py-mkdocstrings@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}mkdocstrings-python-legacy>0:textproc/py-mkdocstrings-python-legacy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.6.9<10:textproc/py-mkdocs-material@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.29.0<1:textproc/py-mkdocstrings@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}mkdocstrings-python>0:textproc/py-mkdocstrings-python@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}netaddr>=1.3.0<2:net/py-netaddr@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}nh3>=0.2.21<0.3:www/py-nh3@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pillow>=11.0.0:graphics/py-pillow@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}psycopg>=3.1.20<4:databases/py-psycopg@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}psycopg-c>=3.1.20<4:databases/py-psycopg-c@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}psycopg-pool>=3.2.4<4:databases/py-psycopg-pool@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psycopg-pool>=3.2.6<4:databases/py-psycopg-pool@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}requests>=2.32.3<3:www/py-requests@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}rq>=2.1.0<3:devel/py-rq@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.5.4<5:security/py-social-auth-core@${PY_FLAVOR} \
diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo
index ab53f49042cc..2e3c02e2059a 100644
--- a/net-mgmt/netbox/distinfo
+++ b/net-mgmt/netbox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1741278008
-SHA256 (netbox-community-netbox-v4.2.5_GH0.tar.gz) = 4a79f89dac4947477ecb0c2d6bc1b7576d4a046a7f081e57f791bb1fe117768e
-SIZE (netbox-community-netbox-v4.2.5_GH0.tar.gz) = 18303424
+TIMESTAMP = 1742638749
+SHA256 (netbox-community-netbox-v4.2.6_GH0.tar.gz) = 65deec8833d94e01bb9c913dd0b52efb62ed5a92d4a4bb6cce64007ac8adca37
+SIZE (netbox-community-netbox-v4.2.6_GH0.tar.gz) = 18320527
diff --git a/net-mgmt/netbox/files/patch-mkdocs.yml b/net-mgmt/netbox/files/patch-mkdocs.yml
index af37b9b07ff0..01916526b514 100644
--- a/net-mgmt/netbox/files/patch-mkdocs.yml
+++ b/net-mgmt/netbox/files/patch-mkdocs.yml
@@ -1,4 +1,6 @@
---- mkdocs.yml.orig	2022-04-28 19:00:11 UTC
+Use current directory to generate the embedded documentation.
+
+--- mkdocs.yml.orig	2025-03-21 21:17:50 UTC
 +++ mkdocs.yml
 @@ -1,5 +1,5 @@ site_name: NetBox Documentation
  site_name: NetBox Documentation
@@ -7,11 +9,12 @@
  site_url: https://docs.netbox.dev/
  repo_name: netbox-community/netbox
  repo_url: https://github.com/netbox-community/netbox
-@@ -26,7 +26,6 @@ plugins:
-           setup_commands:
-             - import os
-             - import django
--            - os.chdir('netbox/')
-             - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "netbox.settings")
-             - django.setup()
-           rendering:
+@@ -28,7 +28,7 @@ plugins:
+   - mkdocstrings:
+       handlers:
+         python:
+-          paths: ["netbox"]
++          paths: ["."]
+           options:
+             heading_level: 3
+             members_order: source
diff --git a/net-mgmt/netbox/pkg-plist b/net-mgmt/netbox/pkg-plist
index 1268569410b7..0014055e1213 100644
--- a/net-mgmt/netbox/pkg-plist
+++ b/net-mgmt/netbox/pkg-plist
@@ -624,6 +624,7 @@
 %%DATADIR%%/extras/migrations/0120_eventrule_event_types.py
 %%DATADIR%%/extras/migrations/0121_customfield_related_object_filter.py
 %%DATADIR%%/extras/migrations/0122_charfield_null_choices.py
+%%DATADIR%%/extras/migrations/0123_journalentry_kind_default.py
 %%DATADIR%%/extras/migrations/__init__.py
 %%DATADIR%%/extras/models/__init__.py
 %%DATADIR%%/extras/models/configs.py
@@ -654,6 +655,7 @@
 %%DATADIR%%/extras/tests/test_custom_validation.py
 %%DATADIR%%/extras/tests/test_customfields.py
 %%DATADIR%%/extras/tests/test_customvalidators.py
+%%DATADIR%%/extras/tests/test_dashboard.py
 %%DATADIR%%/extras/tests/test_event_rules.py
 %%DATADIR%%/extras/tests/test_filtersets.py
 %%DATADIR%%/extras/tests/test_forms.py
@@ -1590,6 +1592,7 @@
 %%DATADIR%%/utilities/tests/__init__.py
 %%DATADIR%%/utilities/tests/test_api.py
 %%DATADIR%%/utilities/tests/test_choices.py
+%%DATADIR%%/utilities/tests/test_conversions.py
 %%DATADIR%%/utilities/tests/test_counters.py
 %%DATADIR%%/utilities/tests/test_data.py
 %%DATADIR%%/utilities/tests/test_filters.py