Commit Graph

14316 Commits

Author SHA1 Message Date
Jason Novinger bee0080917
Release v4.4.4 (#20594) 2025-10-15 14:25:43 -05:00
bctiemann 389c44e5d6
Merge pull request #20591 from pheus/20554-add-missing-contenttypefilter-to-filtersets
Fixes #20554: Add ContentTypeFilter to several filtersets
2025-10-15 14:16:51 -04:00
bctiemann 9cb2c78e34
Init storage at class level of BaseScript instead of in findsource function (#20575) 2025-10-15 11:09:22 -07:00
Jason Novinger 2ae98f0353 Fixes #20587: Handle stale ContentTypes in has_feature()
When deleting stale ContentTypes during remove_stale_contenttypes, the
pre_delete signal triggers notify_object_changed(), which calls
has_feature() with the ContentType instance. For stale types (those with
no corresponding model class), model_class() returns None, which then gets
passed to issubclass() in the feature test lambda, causing a TypeError.

The previous implementation in has_feature() checked for None before
attempting ObjectType lookup. The optimization in 5ceb6a6 removed this
safety check when refactoring the ContentType code path to use direct
feature registry lookups. This restores the null check to maintain the
original behavior of returning False for stale ContentTypes.
2025-10-15 14:09:04 -04:00
Jeremy Stretch addda0538f
Fixes #20584: Ensure consistent validation between Interface & InterfaceTemplate (#20589) 2025-10-15 11:04:39 -07:00
Jeremy Stretch c902a1c510
Fixes #20585: Fix AttributeError exception for conditionless single-field UniqueConstraints (#20590) 2025-10-15 12:51:33 -05:00
Martin Hauser f23ee0a46f
feat(filtersets): Add ContentTypeFilter to enhance filtering
Introduce `ContentTypeFilter` across several filtersets, including
`object_type`, `related_object_type`, `assigned_object_type`, and
`parent_object_type`. This improvement enhances filtering specificity
and aligns with existing usability standards.

Closes #20554
2025-10-15 18:24:42 +02:00
github-actions b4acc3fb36 Update source translation strings 2025-10-15 05:04:04 +00:00
Jeremy Stretch a69bbcf651 Release v4.4.3 2025-10-14 13:51:41 -04:00
Jeremy Stretch 2edfde5753
Fixes #19302: Fix uniqueness validation in REST API for nullable fields (#20549) 2025-10-14 09:19:10 -07:00
Martin Hauser cfbd9632ac feat(utilities): Add ranges_to_string_list
Introduce `ranges_to_string_list` for converting numeric ranges into a
list of readable strings. Update the `vid_ranges_list` property and
templates to use this method for better readability and maintainability.
Add related tests to ensure functionality.

Closes #20516
2025-10-14 09:39:09 -04:00
bctiemann c9386bc9c3
Merge pull request #20558 from netbox-community/20557-update-to-django-5.2.7
Closes #20557: Upgrade Django to v5.2.7
2025-10-13 07:02:44 -04:00
Jason Novinger c826c5cdb0 Closes #20557: Upgrade Django to v5.2.7
Upgrade Django to v5.2.7 to address upstream vulnerability reports

https://www.djangoproject.com/weblog/2025/oct/01/security-releases/
2025-10-13 01:06:23 -05:00
Aaron a4ab4f885d
Fixes #20156: Fixed rack view not using previous setting (#20556) 2025-10-13 00:38:45 -05:00
Arthur Hanson 61d77dff14
Fixes #19615: Properly set version request parameter for static files in S3 (#20455) 2025-10-12 18:49:42 -05:00
github-actions 24a83acc34 Update source translation strings 2025-10-10 05:03:50 +00:00
bctiemann dbc71158ec
Merge pull request #20525 from mathieumd/19818-hide_primary_ip_at_vm_creation
Fixes #19818: Hide IP fields when creating VM
2025-10-09 17:54:22 -04:00
Jason Novinger f0523611d1
Fixes #20542: Add form prefix to `POST` handler in `ObjectEditView` (#20550)
Commit d22246688 added form prefix support to the `GET` handler to fix
Markdown preview functionality in quick add modals. The form prefix
allows Django to properly namespace field names and IDs when rendering
forms within the quick add modal context.

However, the corresponding change was not made to the `POST` handler. This
created a mismatch where form fields were rendered with the `quickadd-`
prefix during `GET` requests, but the `POST` handler instantiated forms
without the prefix. When users submitted quick add forms, Django looked
for unprefixed field names like `address` and `status` in the `POST` data,
but the actual submitted data used prefixed names like `quickadd-address`
and `quickadd-status`. This caused validation to fail immediately with
"This field is required" errors for all required fields, making every
quick add form unusable.

The fix adds the same prefix detection logic to the `POST` handler that was
added to the `GET` handler, checking for the `_quickadd` parameter in the
query string and applying the `quickadd` prefix when present. This ensures
consistent form field naming between rendering and validation.

A regression test has been added to `MACAddressTestCase` to verify that MAC
addresses can be successfully created via the quick add modal, preventing
this issue from recurring. This test should be promoted to a template
test whenever it becomes possible to determine if a model should support
quick-add functionality.
2025-10-09 14:42:59 -07:00
Daniel Sheppard 7719b98697
Fixes #19825: Prevent inaccurate config revision activation when not intended (#20219) 2025-10-09 01:36:41 -05:00
Martin Hauser f383067ecb
Closes #20527: Address deprecation warnings (#20533) 2025-10-09 00:47:09 -05:00
github-actions 20de263565 Update source translation strings 2025-10-09 05:04:28 +00:00
Jeremy Stretch 5ceb6a60da Fixes #20290: Avoid exceptions when upgrading to v4.4 from early releases due to missing ObjectTypes table 2025-10-08 13:00:27 -04:00
Martin Hauser 33d4759871 feat(extras): Add range_contains ORM lookup
Introduce a generic lookup for ArrayField(RangeField) that matches rows
where a scalar value is contained by any range in the array
(e.g. VLANGroup.vid_ranges).
Replace the raw-SQL helper in the VLANGroup FilterSet (`contains_vid`)
with the ORM lookup for better maintainability.
Add tests for the lookup and the FilterSet behavior.

Closes #20497
2025-10-08 09:57:15 -04:00
Amir-Bakar 2abc5ac69a Update base.html
Update base.html to account for other cases where passwords are not used, other than LDAP. (SSO solutions, for example.)
2025-10-08 09:56:15 -04:00
bctiemann f8c074045f
Merge pull request #20528 from netbox-community/02496-max-page
20496 make max_page_size upper bound
2025-10-07 13:11:59 -04:00
Arthur 4db3d488ad Merge branch 'main' into 02496-max-page 2025-10-07 09:12:33 -07:00
Martin Hauser b7cae04572
fix(api): Update NumericRange handling to use half-open intervals (#20478) 2025-10-07 09:01:29 -07:00
Martin Hauser 51528ae429
fix(utilities): Enhance ranges_to_string for improved clarity (#20479) 2025-10-07 08:47:01 -07:00
Jeremy Stretch d5e8480367
Update OpenAPI schema (#20519) 2025-10-07 08:22:24 -07:00
Matthew Papaleo 05e26b82c1 Fixes #20507 Contacts returned for ASN via graphql API 2025-10-07 09:08:04 -04:00
Mathieu d8e4c95bcc Fixes #19818: Hide IP fields when creating VM 2025-10-07 14:03:01 +02:00
github-actions faa89a53ff Update source translation strings 2025-10-07 05:02:29 +00:00
Dmitry Smirnov d18bbe48c1 add tag copy_content and id 'job_data_output' 2025-10-06 15:17:39 -04:00
Martin Hauser 99e367cbaf docs(api): Correct IntegerRangeSerializer schema definition
Adjusts the schema mapping for `IntegerRangeSerializer` by setting
`match_subclasses` to `True` and refining the array definition. Adds
an example field for clarity in generated OpenAPI documentation.

Fixes #20494
2025-10-06 15:09:57 -04:00
Daniel Sheppard f5ed095738
Fixes: #21040 - Registered denormalized fields (#20503) 2025-10-06 09:12:27 -05:00
Johannes Erwerle b70f1211ab Fixed wrong link in plugin filtersets documentation 2025-10-06 10:03:47 -04:00
Arthur 10e8e7b071 20496 fix test 2025-10-03 14:54:08 -07:00
Arthur c770e6b45d 20496 fix max_page_size for REST API 2025-10-03 14:22:55 -07:00
Jason Novinger c094699dc0 Fixes #20484: Configure CodeQL to exclude URL redirect false positives 2025-10-03 08:48:02 -04:00
Martin Hauser 5f77d684e1 chore(core): Remove unused imports in plugins and migrations
Cleans up unused imports across `plugins.py` and a migration file.

Closes #20482
2025-10-02 17:11:07 -04:00
github-actions f23eb53312 Update source translation strings 2025-10-02 05:02:10 +00:00
bctiemann 91d5d284ca
Merge pull request #20464 from netbox-community/20248-fix-translation-error
Fixes #20248: Tweak help text to avoid error when compiling translations
2025-10-01 20:45:42 -04:00
github-actions c4dcc62c04 Update source translation strings 2025-10-01 05:02:17 +00:00
Jeremy Stretch 5a96b76cd4 Release v4.4.2 2025-09-30 16:14:35 -04:00
Jeremy Stretch 26fc06b817 Fixes #20248: Tweak help text to avoid error when compiling translations 2025-09-30 15:10:53 -04:00
Jeremy Stretch 9bc60a157b
Fixes #20243: Prevent scheduled system jobs from re-running multiple times (#20450) 2025-09-30 13:27:31 -05:00
Jeremy Stretch 28cc8e5c89
Fixes #18878: Automatically assign a designated primary MAC address upon creation of a new interface (#20457) 2025-09-30 13:26:52 -05:00
Martin Hauser ba1c0d6d84
Closes #20449: Add user preferences documentation (#20460) 2025-09-30 13:16:36 -05:00
Jeremy Stretch f31a5551ff
Closes #19765: Linkify object types under saved filter view (#20458) 2025-09-30 08:29:59 -07:00
Jeremy Stretch b0a8b86a93
#20382: Additional GraphQL API tips (#20451)
* #20382: Additional GraphQL API tips

* Add graphql hint for syntax highlighting
2025-09-30 11:29:29 -04:00