Merge branch 'develop' into 17460-module-bay-buttons

This commit is contained in:
Arthur Hanson 2024-09-12 11:45:13 -07:00
commit 2e6b1f2cb4
96 changed files with 50795 additions and 43423 deletions

View File

@ -14,7 +14,7 @@ body:
attributes: attributes:
label: NetBox version label: NetBox version
description: What version of NetBox are you currently running? description: What version of NetBox are you currently running?
placeholder: v4.1.0 placeholder: v4.1.1
validations: validations:
required: true required: true
- type: dropdown - type: dropdown

View File

@ -26,7 +26,7 @@ body:
attributes: attributes:
label: NetBox Version label: NetBox Version
description: What version of NetBox are you currently running? description: What version of NetBox are you currently running?
placeholder: v4.1.0 placeholder: v4.1.1
validations: validations:
required: true required: true
- type: dropdown - type: dropdown

View File

@ -45,6 +45,7 @@ jobs:
This PR has been automatically closed due to lack of activity. This PR has been automatically closed due to lack of activity.
days-before-pr-stale: 15 days-before-pr-stale: 15
days-before-pr-close: 15 days-before-pr-close: 15
exempt-pr-labels: 'status: blocked'
stale-pr-label: 'pending closure' stale-pr-label: 'pending closure'
stale-pr-message: > stale-pr-message: >
This PR has been automatically marked as stale because it has not had This PR has been automatically marked as stale because it has not had

View File

@ -84,10 +84,6 @@ Jinja2
# https://python-markdown.github.io/changelog/ # https://python-markdown.github.io/changelog/
Markdown Markdown
# File inclusion plugin for Python-Markdown
# https://github.com/cmacmackin/markdown-include
markdown-include
# MkDocs Material theme (for documentation build) # MkDocs Material theme (for documentation build)
# https://squidfunk.github.io/mkdocs-material/changelog/ # https://squidfunk.github.io/mkdocs-material/changelog/
mkdocs-material mkdocs-material

View File

@ -149,6 +149,7 @@
"nema-l15-60p", "nema-l15-60p",
"nema-l21-20p", "nema-l21-20p",
"nema-l21-30p", "nema-l21-30p",
"nema-l22-20p",
"nema-l22-30p", "nema-l22-30p",
"cs6361c", "cs6361c",
"cs6365c", "cs6365c",
@ -262,6 +263,7 @@
"nema-l15-60r", "nema-l15-60r",
"nema-l21-20r", "nema-l21-20r",
"nema-l21-30r", "nema-l21-30r",
"nema-l22-20r",
"nema-l22-30r", "nema-l22-30r",
"CS6360C", "CS6360C",
"CS6364C", "CS6364C",
@ -518,6 +520,14 @@
"urm-p4", "urm-p4",
"urm-p8", "urm-p8",
"splice", "splice",
"usb-a",
"usb-b",
"usb-c",
"usb-mini-a",
"usb-mini-b",
"usb-micro-a",
"usb-micro-b",
"usb-micro-ab",
"other" "other"
] ]
} }
@ -575,6 +585,14 @@
"urm-p4", "urm-p4",
"urm-p8", "urm-p8",
"splice", "splice",
"usb-a",
"usb-b",
"usb-c",
"usb-mini-a",
"usb-mini-b",
"usb-micro-a",
"usb-micro-b",
"usb-micro-ab",
"other" "other"
] ]
} }

View File

@ -1,6 +1,6 @@
# NetBox v4.1 # NetBox v4.1
## v4.1.1 (FUTURE) ## v4.1.1 (2024-09-12)
### Enhancements ### Enhancements
@ -11,11 +11,18 @@
* [#17066](https://github.com/netbox-community/netbox/issues/17066) - Fix OpenAPI schema definition for custom scripts REST API endpoint * [#17066](https://github.com/netbox-community/netbox/issues/17066) - Fix OpenAPI schema definition for custom scripts REST API endpoint
* [#17332](https://github.com/netbox-community/netbox/issues/17332) - Restore pagination for object list dashboard widgets * [#17332](https://github.com/netbox-community/netbox/issues/17332) - Restore pagination for object list dashboard widgets
* [#17333](https://github.com/netbox-community/netbox/issues/17333) - Avoid prefetching all jobs when retrieving custom scripts via the REST API
* [#17353](https://github.com/netbox-community/netbox/issues/17353) - Fix styling of map buttons under site and device views * [#17353](https://github.com/netbox-community/netbox/issues/17353) - Fix styling of map buttons under site and device views
* [#17354](https://github.com/netbox-community/netbox/issues/17354) - Prevent object & multi-object custom fields from breaking bulk import forms * [#17354](https://github.com/netbox-community/netbox/issues/17354) - Prevent object & multi-object custom fields from breaking bulk import forms
* [#17362](https://github.com/netbox-community/netbox/issues/17362) - Remove duplicate prefixes & IP addresses returned by the `present_in_vrf` query filter
* [#17364](https://github.com/netbox-community/netbox/issues/17364) - Fix rendering of Markdown tables inside object list dashboard widgets * [#17364](https://github.com/netbox-community/netbox/issues/17364) - Fix rendering of Markdown tables inside object list dashboard widgets
* [#17387](https://github.com/netbox-community/netbox/issues/17387) - Fix display of the changelog tab for users with sufficient permission * [#17387](https://github.com/netbox-community/netbox/issues/17387) - Fix display of the changelog tab for users with sufficient permission
* [#17410](https://github.com/netbox-community/netbox/issues/17410) - Enable debug toolbar middleware for `strawberry-django` only when `DEBUG` is true
* [#17414](https://github.com/netbox-community/netbox/issues/17414) - Fix support for declaring individual VLAN IDs within a VLAN group * [#17414](https://github.com/netbox-community/netbox/issues/17414) - Fix support for declaring individual VLAN IDs within a VLAN group
* [#17431](https://github.com/netbox-community/netbox/issues/17431) - Fix database migration error when upgrading to v4.1 from v3.7 or earlier
* [#17437](https://github.com/netbox-community/netbox/issues/17437) - Fix exception when specifying a bridge relationship on an interface template
* [#17444](https://github.com/netbox-community/netbox/issues/17444) - Custom script fails to execute when triggered by an event rule
* [#17457](https://github.com/netbox-community/netbox/issues/17457) - GraphQL `service_list` filter should not require a port number
--- ---

View File

@ -72,7 +72,7 @@ class NestedInterfaceTemplateSerializer(WritableNestedSerializer):
class Meta: class Meta:
model = models.InterfaceTemplate model = models.InterfaceTemplate
fields = ['id', 'url', 'display_url', 'display', 'name'] fields = ['id', 'url', 'display', 'name']
class NestedDeviceBaySerializer(WritableNestedSerializer): class NestedDeviceBaySerializer(WritableNestedSerializer):

View File

@ -975,8 +975,8 @@ class InterfaceTemplateForm(ModularComponentTemplateForm):
queryset=InterfaceTemplate.objects.all(), queryset=InterfaceTemplate.objects.all(),
required=False, required=False,
query_params={ query_params={
'devicetype_id': '$device_type', 'device_type_id': '$device_type',
'moduletype_id': '$module_type', 'module_type_id': '$module_type',
} }
) )

View File

@ -236,7 +236,7 @@ class ConfigTemplateViewSet(SyncedDataMixin, ConfigTemplateRenderMixin, NetBoxMo
) )
class ScriptViewSet(ModelViewSet): class ScriptViewSet(ModelViewSet):
permission_classes = [IsAuthenticatedOrLoginNotRequired] permission_classes = [IsAuthenticatedOrLoginNotRequired]
queryset = Script.objects.prefetch_related('jobs') queryset = Script.objects.all()
serializer_class = serializers.ScriptSerializer serializer_class = serializers.ScriptSerializer
filterset_class = filtersets.ScriptFilterSet filterset_class = filtersets.ScriptFilterSet

View File

@ -47,7 +47,7 @@ def map_strawberry_type(field):
pass pass
elif isinstance(field, NumericArrayFilter): elif isinstance(field, NumericArrayFilter):
should_create_function = True should_create_function = True
attr_type = int attr_type = int | None
elif isinstance(field, TreeNodeMultipleChoiceFilter): elif isinstance(field, TreeNodeMultipleChoiceFilter):
should_create_function = True should_create_function = True
attr_type = List[str] | None attr_type = List[str] | None

View File

@ -100,7 +100,8 @@ class JobRunner(ABC):
This method is a wrapper of `Job.enqueue()` using `handle()` as function callback. See its documentation for This method is a wrapper of `Job.enqueue()` using `handle()` as function callback. See its documentation for
parameters. parameters.
""" """
return Job.enqueue(cls.handle, name=cls.name, *args, **kwargs) name = kwargs.pop('name', None) or cls.name
return Job.enqueue(cls.handle, name=name, *args, **kwargs)
@classmethod @classmethod
@advisory_lock(ADVISORY_LOCK_KEYS['job-schedules']) @advisory_lock(ADVISORY_LOCK_KEYS['job-schedules'])

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -22,7 +22,7 @@
"validate:formatting:scripts": "prettier -c src/**/*.ts" "validate:formatting:scripts": "prettier -c src/**/*.ts"
}, },
"dependencies": { "dependencies": {
"@fontsource-variable/plus-jakarta-sans": "^5.0.22", "@fontsource-variable/plus-jakarta-sans": "^5.1.0",
"@mdi/font": "7.4.47", "@mdi/font": "7.4.47",
"@tabler/core": "1.0.0-beta20", "@tabler/core": "1.0.0-beta20",
"bootstrap": "5.3.3", "bootstrap": "5.3.3",
@ -31,7 +31,7 @@
"gridstack": "10.3.1", "gridstack": "10.3.1",
"htmx.org": "1.9.12", "htmx.org": "1.9.12",
"query-string": "9.1.0", "query-string": "9.1.0",
"sass": "1.77.8", "sass": "1.78.0",
"tom-select": "2.3.1", "tom-select": "2.3.1",
"typeface-roboto-mono": "1.1.13" "typeface-roboto-mono": "1.1.13"
}, },

View File

@ -200,10 +200,10 @@
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5"
integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==
"@fontsource-variable/plus-jakarta-sans@^5.0.22": "@fontsource-variable/plus-jakarta-sans@^5.1.0":
version "5.0.22" version "5.1.0"
resolved "https://registry.yarnpkg.com/@fontsource-variable/plus-jakarta-sans/-/plus-jakarta-sans-5.0.22.tgz#9f96b5f5381b93a422d35d89b0bc7871c4c06d60" resolved "https://registry.yarnpkg.com/@fontsource-variable/plus-jakarta-sans/-/plus-jakarta-sans-5.1.0.tgz#9dd5aa72277c43d408f6e34cd658d823fbef1fe1"
integrity sha512-YDV+FVn+icpvB004N3R973K/0W75FRPaEmeOoZ5nBuPAN8hizhUfTHpWpEv9FUr3C8FkPFwzrVl3gvdkzDdBxw== integrity sha512-K7o2GO7/quVFFyfjTqYZu0ng4KJGf60KSAGbvUWwKuH+/Giyl6Qe/EqnGLcjrl9AmXZzTvtRB1xpkASn8FNFoQ==
"@graphiql/plugin-explorer@3.2.2": "@graphiql/plugin-explorer@3.2.2":
version "3.2.2" version "3.2.2"
@ -2561,7 +2561,16 @@ safe-regex-test@^1.0.3:
es-errors "^1.3.0" es-errors "^1.3.0"
is-regex "^1.1.4" is-regex "^1.1.4"
sass@1.77.8, sass@^1.71.1: sass@1.78.0:
version "1.78.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.78.0.tgz#cef369b2f9dc21ea1d2cf22c979f52365da60841"
integrity sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
sass@^1.71.1:
version "1.77.8" version "1.77.8"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.8.tgz#9f18b449ea401759ef7ec1752a16373e296b52bd" resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.8.tgz#9f18b449ea401759ef7ec1752a16373e296b52bd"
integrity sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ== integrity sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==

View File

@ -1,3 +1,3 @@
version: "4.1.0" version: "4.1.1"
edition: "Community" edition: "Community"
published: "2024-09-03" published: "2024-09-12"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-09-11 05:01+0000\n" "POT-Creation-Date: 2024-09-12 05:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -10937,63 +10937,63 @@ msgstr ""
msgid "Cannot delete stores from registry" msgid "Cannot delete stores from registry"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:756 #: netbox/netbox/settings.py:762
msgid "Czech" msgid "Czech"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:757 #: netbox/netbox/settings.py:763
msgid "Danish" msgid "Danish"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:758 #: netbox/netbox/settings.py:764
msgid "German" msgid "German"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:759 #: netbox/netbox/settings.py:765
msgid "English" msgid "English"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:760 #: netbox/netbox/settings.py:766
msgid "Spanish" msgid "Spanish"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:761 #: netbox/netbox/settings.py:767
msgid "French" msgid "French"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:762 #: netbox/netbox/settings.py:768
msgid "Italian" msgid "Italian"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:763 #: netbox/netbox/settings.py:769
msgid "Japanese" msgid "Japanese"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:764 #: netbox/netbox/settings.py:770
msgid "Dutch" msgid "Dutch"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:765 #: netbox/netbox/settings.py:771
msgid "Polish" msgid "Polish"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:766 #: netbox/netbox/settings.py:772
msgid "Portuguese" msgid "Portuguese"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:767 #: netbox/netbox/settings.py:773
msgid "Russian" msgid "Russian"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:768 #: netbox/netbox/settings.py:774
msgid "Turkish" msgid "Turkish"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:769 #: netbox/netbox/settings.py:775
msgid "Ukrainian" msgid "Ukrainian"
msgstr "" msgstr ""
#: netbox/netbox/settings.py:770 #: netbox/netbox/settings.py:776
msgid "Chinese" msgid "Chinese"
msgstr "" msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,7 @@ gunicorn==23.0.0
Jinja2==3.1.4 Jinja2==3.1.4
Markdown==3.7 Markdown==3.7
mkdocs-material==9.5.34 mkdocs-material==9.5.34
mkdocstrings[python-legacy]==0.26.0 mkdocstrings[python-legacy]==0.26.1
netaddr==1.3.0 netaddr==1.3.0
nh3==0.2.18 nh3==0.2.18
Pillow==10.4.0 Pillow==10.4.0
@ -30,8 +30,8 @@ PyYAML==6.0.2
requests==2.32.3 requests==2.32.3
social-auth-app-django==5.4.2 social-auth-app-django==5.4.2
social-auth-core==4.5.4 social-auth-core==4.5.4
strawberry-graphql==0.239.2 strawberry-graphql==0.240.2
strawberry-graphql-django==0.47.1 strawberry-graphql-django==0.47.2
svgwrite==1.4.3 svgwrite==1.4.3
tablib==3.6.1 tablib==3.6.1
tzdata==2024.1 tzdata==2024.1