Merge pull request #12366 from netbox-community/develop

Release v3.4.10
This commit is contained in:
Jeremy Stretch 2023-04-27 12:03:16 -04:00 committed by GitHub
commit 72767fb5b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 23 additions and 9 deletions

View File

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

View File

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

View File

@ -1,5 +1,15 @@
# NetBox v3.4
## v3.4.10 (2023-04-27)
### Bug Fixes
* [#11607](https://github.com/netbox-community/netbox/issues/11607) - Fix custom object field assignments made via REST API for for cables
* [#12252](https://github.com/netbox-community/netbox/issues/12252) - Fix ordering of search results when sorting by object name
* [#12355](https://github.com/netbox-community/netbox/issues/12355) - Fix escaping of certain characters in URL when rendering custom links
---
## v3.4.9 (2023-04-26)
### Enhancements

View File

@ -425,7 +425,7 @@ class NestedInventoryItemRoleSerializer(WritableNestedSerializer):
# Cables
#
class NestedCableSerializer(BaseModelSerializer):
class NestedCableSerializer(WritableNestedSerializer):
url = serializers.HyperlinkedIdentityField(view_name='dcim-api:cable-detail')
class Meta:

View File

@ -279,7 +279,7 @@ class CustomLink(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogged
text = clean_html(text, allowed_schemes)
# Sanitize link
link = urllib.parse.quote_plus(link, safe='/:?&')
link = urllib.parse.quote_plus(link, safe='/:?&=%+[]@#')
# Verify link scheme is allowed
result = urllib.parse.urlparse(link)

View File

@ -145,9 +145,12 @@ class CachedValueSearchBackend(SearchBackend):
)
# Omit any results pertaining to an object the user does not have permission to view
return [
r for r in results if r.object is not None
]
ret = []
for r in results:
if r.object is not None:
r.name = str(r.object)
ret.append(r)
return ret
def cache(self, instances, indexer=None, remove_existing=True):
content_type = None

View File

@ -25,7 +25,7 @@ from netbox.constants import RQ_QUEUE_DEFAULT, RQ_QUEUE_HIGH, RQ_QUEUE_LOW
# Environment setup
#
VERSION = '3.4.9'
VERSION = '3.4.10'
# Hostname
HOSTNAME = platform.node()

View File

@ -204,7 +204,8 @@ class SearchTable(tables.Table):
order_by="object___meta__verbose_name",
)
object = tables.Column(
linkify=True
linkify=True,
order_by=('name', )
)
field = tables.Column()
value = tables.Column()