Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed Device Type link and count from Device Family Detail View. #6248

Merged

Conversation

itdependsnetworks
Copy link
Contributor

Fixed Device Type link and count from Device Family Detail View.

Seems to be regression during #5668, I checked a few, and they did not affect anything, but probably better suited for someone that knows the pattern where this may happen a bit better.

Copy link
Contributor

@glennmatthews glennmatthews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More "interesting" UI patterns - not sure why we display the count at all given that we also have a full table of the related device-types just below. But thanks for the fix!

Comment on lines +4142 to +4147
device_type_count = 0
for device_type in device_types:
total_devices += device_type.device_count
device_type_count += 1
context["total_devices"] = total_devices
context["device_type_count"] = device_type_count
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
device_type_count = 0
for device_type in device_types:
total_devices += device_type.device_count
device_type_count += 1
context["total_devices"] = total_devices
context["device_type_count"] = device_type_count
for device_type in device_types:
total_devices += device_type.device_count
context["total_devices"] = total_devices
context["device_type_count"] = device_types.count()

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought about this, but it seemed like an extra query

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair point - would be good to test either way. Could also use len(device_types) as that shouldn't be an extra query.

@itdependsnetworks
Copy link
Contributor Author

@glennmatthews did my other point make sense to review that PR for similar?

@glennmatthews
Copy link
Contributor

@glennmatthews did my other point make sense to review that PR for similar?

Yes - I did a quick grep through the code base and don't immediately see any similar problems.

@glennmatthews glennmatthews added the type: bug Something isn't working as expected label Sep 20, 2024
@glennmatthews glennmatthews merged commit bb00494 into nautobot:develop Sep 20, 2024
17 checks passed
smk4664 added a commit that referenced this pull request Oct 24, 2024
* Fixed appropriate cable status coloring not applied for DeviceModule*Table rows in dark mode. (#6128)

* Fixed appropriate cable status coloring not applied for DeviceModule*Table rows in dark mode.

* ruff fix

* address PR feedback

* address PR feedback

* ruff fix

* Fix regression #6131 (#6132)

* Added missing DynamicGroup content to Device Detail View and Software Image File Detail View (#6148)

* Added missing DynamicGroup content to Device Detail View.

* Added missing DynamicGroup content to Software Image Detail View.

* modified changelog

* modified changelog

* Fix some points of non-determinism in factory data (#6147)


---------

Co-authored-by: Hanlin Miao <[email protected]>

* Added Status Field to VRF model (#6130)

* Add status field to VRF (#6120)

* Add status field to VRF (#6120)

* make status field nullable and blankable

* changelog

* address PR feedback

---------

Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: HanlinMiao <[email protected]>

* Handle time zones more correctly with ScheduledJob (#6122)

* Fix #5591 - handle time zones more correctly with ScheduledJob.

* Refinements and some test coverage

* 1 line of bug fix, 300 lines of testing

* Python 3.8 use backports.zoneinfo

* Apply suggestions from code review

Co-authored-by: Hanlin Miao <[email protected]>

* Diversify test data a bit

---------

Co-authored-by: Hanlin Miao <[email protected]>

* release/2.3.2

* Avoid exceptions when encountering a model that doesn't inherit from BaseModel (#6175)

* Avoid exceptions when encountering a model that doesn't inherit from BaseModel

* Change fragment

* Rotate collapse icon (#6160)

* Rotate collapse icon on homepage

* Add changelog

---------

Co-authored-by: Hanlin Miao <[email protected]>

* 5180 - Search by Scheduled Job Name in Job Results (#6167)

* Filter Job Results by Scheduled Job

* Fix ruff

* Add Scheduled Job to Job Results table

* Remove unnecessary widget

* Fix integration tests

* Add action buttons to Scheduled Jobs

* Remove ScheduledJob factory

* Ruff fix

* unittest fix

---------

Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* merge latest PRs and generated release notes

* Bump cryptography from 43.0.0 to 43.0.1 (#6182)

* Bump cryptography from 43.0.0 to 43.0.1

Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.0 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@43.0.0...43.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Change fragment

* Update changes/6182.security

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* updated release notes after 6182

* version bump

* migration conflict

* ruff

* comment out generic tests for TreeNodeMultipleChoiceFilter

* not enough JobQueues with tenant groups

* Fix #6184 (#6186)

* add display property to Prefix model (#6190)

* add display property to Prefix model

* ruff format & add changelog

* remove unused test code

* modify path parameter in test client `.get` call

---------

Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Update Lock-file Patch Releases for Develop (develop) (#6084)

* Update Lock-file Patch Releases for Develop

* Pyproject.toml and change fragment

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* Add User to override the UI view for Time Zone (#6156)

* add middleware

* Add testcase

* Update nautobot/core/middleware.py

* mod test

* fix bug incorrect timezone displayed in schedule form

* move Timezone update UI to Preference

* PR feedback

* Update 3263.added

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Updates example invoke.yml (#6155)

* Updates example invoke.yml

* Adds fragment

* Changes all options to comments

* Cleans up comments

* Updates changelog wording

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fix #6197 (#6202)

Co-authored-by: Glenn Matthews <[email protected]>

* Fix performance regression in web_request_context (#6206)

* Fix performance regression in web_request_context

* Alternate approach, a bit more efficient

---------

Co-authored-by: Hanlin Miao <[email protected]>

* Added JobQueue UI/Refactor Job Code to use JobQueue models (#6154)

* JobQueue UI

* fix some JobQueue related forms and added view unittests

* added JobQueue to navigation menu and added jobs filter to JobQueueFilterSet

* added JobQueue field to JobForm

* changelogs

* address PR feedback

* remove task queues from job abd queue from scheduled job

* remove some of the task queues references

* added cache for get_celery_queues

* remove some of the task queues references

* fix unittests

* Revert "fix unittests"

This reverts commit 3e6086e.

* fix unittests

* remove output.txt

* fix unittests

* fix unittests

* address some PR feedback

* added task_queues/queue property to JobSerializer and ScheduledJobSerializer

* fix unittests

* fix unittests

* fix unittests

* ruff fix

* unittests

* added documentation and unittests

* added new doc to nav config

* fix unittests

* refactor JobQueueAssignmentFactory

* fix unittests

* unittest fix

* ruff fix

* Update nautobot/extras/templates/extras/jobqueue_retrieve.html

Co-authored-by: Glenn Matthews <[email protected]>

* address some PR feedback

* remove jobqueueassignment.md

* create stub for _job_queue field in JobForm

* added clear_job_queues_override to JobBulkEditForm

* JobQueueFactory changes

* migration fix

* Address PR feedback

* address PR feedback from standup

* ruff

* refactor JobVariablesTest

* Update nautobot/extras/migrations/0117_task_queue_to_job_queue_migration.py

Co-authored-by: Glenn Matthews <[email protected]>

* unittest fix

* Review feedback

* added job_queue related fields on JobInputSerializer and JobMultiPartInputSerializer

* raise validation error

* fix unittests

* ruff

* refactored JobQueueFactory a bit

* unittests

* Add `job_queues_override` functionality.

* generate more JobQueues to make sure that enough JobQueues have tenants that have tenant groups

* factory changes

* ruff fix

* UI fixes

* Fix UI a bit more

* add value type check for task_queues_override setter

* ruff fix

* pylint fix

---------

Co-authored-by: Glenn Matthews <[email protected]>

* VDC: model & API (#6169)

* create model and api

* add missing fields and constrains

* Add api test case

* add model test case

* resolve PR feedback

* resolve PR feedback

* fix unittest

* fix failling test

* fix test

* Fix unittest

* remod comments

* PR feedback

* Update nautobot/dcim/models/devices.py

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Disable coverage during test database setup (#6215)

* towncrier/version bump

* Update nautobot/docs/release-notes/version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

* Update Lock-file Patch Releases for Develop (develop) (#6212)

* Update Lock-file Patch Releases for Develop

* changelog and pyproject.toml

* 6212.dependencies -> 6212.security

* Update changes/6212.security

Co-authored-by: Glenn Matthews <[email protected]>

* restored poetry.lock

* poetry lock file

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* reran towncrier

* Fix upstream testing workflow to work with new Dockerfile (#6222)

* Constance cache timeout fix and docs updates (#6221)

* Add NAUTOBOT_CACHES_TIMEOUT environment variable and use it for Constance as well

* pyproject.toml

* Updating datetime.timedelta (#6230)

Co-authored-by: Glenn Matthews <[email protected]>

* Towncrier and version bump

* Changed `--cache-test-fixtures` and `--keepdb` flags from opt-in to opt-out for `inv unittest` and `inv integration-test` commands. (#6213)

* first commit

* delete debugging statements

* modified github workflow files ci_pullrequest.yml and ci_integration.yml to explictly opt out of cache-test-fixture and keepdb

* fix typo

* Update changes/5859.housekeeping

Co-authored-by: Glenn Matthews <[email protected]>

* updated documentations

* Update nautobot/docs/development/core/getting-started.md

Co-authored-by: Glenn Matthews <[email protected]>

* address PR feedback

* fix flaky unittests

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fixed ClusterTable for device count column link uses outdated filter pattern. (#6229)

* Fixed ClusterTable for device count column link uses outdated filter pattern.

* Fixed PowerPanelTable for power feed count column link uses outdated filter pattern.

* add cluster NaturalKeyOrPKMultipleChoiceFilter to VMFilterSet

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

* changelog

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fix upstream testing typo from #6222 (#6227)

* fixed typo in plugin upstream testing base

* add comment

* changelog

* update

---------

Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* towncrier

* version bump

* Fixed SavedView functionality not working in Rack Elevation List View. (#6228)

* Fixed SavedView functionality not working in Rack Elevation List View.

* pylint

* address PR feedback

* address PR feedback

* fix unittests

* Add rendered-markdown in NoteTable (#6233)

* add rendered-markdown in NoteTable

* add changelog

* Update changes/6233.added

Co-authored-by: Glenn Matthews <[email protected]>

* fix changelog name

---------

Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Fixed Device Type link and count from Device Family Detail View. (#6248)

* Refactored SavedViewUIViewSet to take into account of `permissions_class` attribute. (#6216)

* save progress

* ruff fix

* modified github workflow files ci_pullrequest.yml and ci_integration.yml to explictly opt out of cache-test-fixture and keepdb

* revert changes

* moved permission_classes to SavedViewUIViewSet

* feedback from standup

* changelog

* implemented previous fix

* feedback from standup

* added unit test

* ruff fix

* address PR feedback

* Enhanced job delete functions to prevent users with the appropriate permissions or super users from deleting system jobs from the UI and the API. (#6245)

* Enhanced job delete functions to prevent users with the appropriate permissions or super users from deleting system jobs from the UI and the API.

* Update nautobot/extras/tests/test_views.py

Co-authored-by: Glenn Matthews <[email protected]>

* changelog

---------

Co-authored-by: Glenn Matthews <[email protected]>

* [2.4] Remove Python 3.8 support (#6252)

* Remove Python 3.8 support

* Update dependency mkdocs-material to v9.5.35 (develop) (#6247)

* Update Lock-file Patch Releases for Develop

* changelog and pyproject.toml

* 6212.dependencies -> 6212.security

* Update changes/6212.security

Co-authored-by: Glenn Matthews <[email protected]>

* restored poetry.lock

* poetry lock file

* Update dependency mkdocs-material to v9.5.35

* changelog and pyproject.toml

* deleted extra changelogs

* Update changes/6247.dependencies

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Interface VirtualDeviceContext Assignment model and REST API  (#6223)

* Fixed device bay populate/depopulate redirect (#6270)

* Add VDC Model UI (#6209)

* create model and api

* add missing fields and constrains

* Add api test case

* add model test case

* resolve PR feedback

* resolve PR feedback

* fix unittest

* fix failling test

* fix test

* Fix unittest

* remod comments

* PR feedback

* Add VDC Model UI

* add docs

* fix unittest

* Update nautobot/dcim/forms.py

* Add interfaces to VDC form

* Add interface vdc filter test case

* use status = DynamicModelChoiceField

* add model and docs

* remove vdc field from interface

* PR feedback resolved

* update

* fix markdown

* changelogs

* remove validation check

* All PR feedback resolved

* fix failing test by removing webhooks extras_features

Because `webhooks` assets that model has changelogging, and in this case we are inheriting from BaseModel instead of PrimaryModel

* changes added

* fix faliling test

* add filter

* fix

* fix

* PR feedback

* add ip device validation

* fix ruff

* fix failing test

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* UI python framework: code drop to `next` (#6266)

* UI Components: Basic layout rendering (#6159)

* Move existing UI framework components into nautobot.core.ui module

* Add invoke nbshell --quiet option

* UI framework continued - weight-defined layout, ObjectsTablePanel (#6219)

* Refactor, remove Layout classes

* Replace constants with choicesets

* Add ObjectsTablePanel class.

* Change fragment

* Review feedback

* UI components: refactor, add panels for custom fields, computed fields, relationships (#6246)

* Add to nautobot.apps.ui namespace, enhance docstrings accordingly

* Self-review feedback

* #6141 - add tags panel to ObjectDetailContent (#6274)

* Additional change fragments

* VLANGroup range field. (#6176)

* Fixed `position` to properly disable RUs that are currently occupied (#6264)


---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fix Prefix not displaying the correct utilization for IP Addresses (#6278)

* VLANGroup add tags (#6256)

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Changed Django-structlog to use "celery" instead of "all" (#6288)

* Changed Django-structlog to use "celery" instead of "all"

* Update changes/6287.dependencies

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Add --no-reusedb option to unittest (#6285)

* Add --no-reusedb option to unittest

* Change fragment

* Backport some test resilience fixes from #6256 (#6292)

* Backport some test resilience fixes from #6256

* Change fragment

* release 2.3.5

* address pr feedback

* Implement Service Add button. (#6290)

* Implement Service Add button.

* Lookup IP Addresses dynamically

* Update changes/6289.fixed

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* rerun towncrier

* version bump

* Added optional `role` field to `VirtualDeviceContext`. (#6268)

* added optional role field to VDC model

* changelog

* fix unittest

* mysql fix perhaps?

* mysql fix perhaps?

* mysql fix perhaps?

* mysql fix perhaps?

* mysql fix perhaps?

* migration file

* ruff

* sort-buffer-size

* address PR feedback

* change to ci_pullrequest.yml

* restore

* brute force

* mysql latest

* try to run the whole test suite

* pullrequest.yml

* restore pullrequest.yml

* commented out m2m_changed on _handle_changed_object

* revert unnecessary changes

* mysql fix

* run whole test suite

* mysql fix

* restore ci_pullrequest.yml

* fix unittest

* ruff fix

* fix unit tests

* run unittest without parallel to detect mysql test failure

* run unittest without parallel to detect mysql test failure

* fix setuptest

* revert ci_pullrequest.yml

* add todo comment

* Fix startup error when serializer base class is not as expected (#6305)

* [NCLOUD-2472] Add local K8s cluster (#6284)

* feat: Doc K8s dev env

* deps: Change kubernetes dependency from `31.0.0` to `^31.0.0`

* fix: Do not touch users home kube config

* change: Better doc organization

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Glenn Matthews <[email protected]>

* increase the minimum number of content-types for MetadataTypes created by factories (#6308)

* increase the minimum number of content-types for MetadataTypes created by factories

* changelog

* changelog

* changelog

* [DEVELOP] VLANGroup Ranges (#6309)

* VLANGroup range field pr#1

* VLANGroup range field pr#2

* fix unittests

* ruff fix

* Update nautobot/docs/release-notes/version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Release 2.3.6

* version bump

* version bump

* ruff fix

* remove duplicate migration file

* deleted duplicate changelog and deleted duplicate lines on test

* Fix UI overflow issue Tenant Stats (#6313)

Co-authored-by: Glenn Matthews <[email protected]>

* Added `default_job_queue` field to the Job Model (#6277)

* added default job queue field to the Job Model

* missing job.save()

* miscellaneous

* ruff fix

* unit test

* unittest

* unittest and JobBulkEditForm

* address PR feedback

* migration file fix

* pylint

* address PR feedback

* address unittest failure

* migration test

* ruff fix

* fix unit tests

* run unittest without parallel to detect test failure

* fix setuptest()

* related_name changes

* migration file

* fix all unittests

* ruff

* address PR feedback

* fix unittests

* address PR feedback

* address pr feedback

* pylint

* Update dependency mkdocs-material to v9.5.39 (develop) (#6283)

* Update dependency mkdocs-material to v9.5.39

* changelog

* updated requirement.txt's

* rename changelog: dependencies -> housekeeping

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* A number of various fixes (#6318)

* Fix test error with cached job queues (#6320)

* Event notification system (#6312)

* Improve error handling in Celery inspect (#6322)

* Fix #6299 - improve error handling in Celery inspect

* Test fix backport from #6154

* Update Lock-file Patch Releases for Next (next) (major) (#5963)

* Update Lock-file Patch Releases for Next

* Update Lock-file Patch Releases for Next

* updated poetry.lock and reverted updates for Django and graphene-django

* Update pyproject.toml

Co-authored-by: Glenn Matthews <[email protected]>

* updated changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Enhance ObjectsTablePanel (#6306)


---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Address VDC UI feedback (#6332)

* Address VDC UI feedback

* role field is not required

* template changes

* Fix #6337 - add exception handling removed from django-constance upstream (#6339)

* Enhancements to nautobot-server runjob (#6334)

* Add soft time limit enforcement to 'runjob --local'

* Reload jobs in runjob management command, fix warning log message

* Enhance ObjectFieldPanel (#6328)

* First pass

* comments

* revert changes to contact table

* Minor Updates:

Include `add_button_route`
Include Badge
Add hyperlink fields

* fix pylint test

* add unittest

* PR feedback

* fix unittest

* resolve PR feedback

* PR feedback

* minor update

* Enhance ObjectFieldPanel

* Enhanced ObjectFieldsPanel: Include TreeModel Hierarchy display, copy button ar row level and url fields automatically hyperlinked features.

* add unittest

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

* resolve PR feedback

* pr feedback

* slugify key

* alphabetize router register

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Added Event Broker Config

* Add repo name to hash log of ensure_git_repository (#6351)

* Improve constance error handling further (#6349)

* Fix DynamicGroup.group_type automatic setting (#6333)



---------

Co-authored-by: Hanlin Miao <[email protected]>

* Add more test

* Fix unittest

* Remove more react UI remnants (#6342)


---------

Co-authored-by: Hanlin Miao <[email protected]>

* Improve view test failure output (#6366)

* Extract nav menu JS to a separate file

* Add and adopt assertBodyContains test helper function

* Have assertHttpStatus also use extract_page_body

---------

Co-authored-by: Timizuo <[email protected]>

* Release v2.3.7

* PR feedback

* Added `StatsPanel` UI component Python class. (#6345)

* Added StatsPanel UI component Python class

* modified changelog

* address PR feedback

* Initial refactor of LocationDetailView

* refactored Tenant Detail View

* cleanup

* cleanup after #6328

* pylint

* pylint and bug fix from 6328

* revert Location Detail View changes

* changelog and ruff

* ruff

* address PR feedback

* revert more LocationDetailView changes and address PR feedback

* ruff

* restore tzoffset

* address PR feedback

* fix tests

* fix wrong import path

* fix griffe warnings

* Update version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

* Update version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

* Move django-constance back to v3 (#6371)

* Partial #6297 - add pagination to IPAM related object tables (#6346)

Co-authored-by: Hanlin Miao <[email protected]>

* Fix PR test failures

* ruff fix

* resolve PR feedback

* fix yamllint

* version bump

* merge upstream

* update poetry.lock

* renumber several migration files

* renumber jobqueue migration files instead

* migration file

* Fix issue with Installed Apps trying to load invalid action links (#6382)

* Try reverse

* Add change fragment.

* Revise code based on feedback.

* Remove assignment of reverse

* [#5050] Changed logic to permit VLANs assigned to a device's location's parent locations (including parents of parents, etc.) to be assigned to that device's interfaces. (#6379)

* Fix #5050: assign vlans from device's location's parents

* add support for assigning vlan to interface if vlan location is parent of switch location

* add changelog entry

* added unittests

* added unittests

* fix unit tests

* restore unittest

* fix unittests

* remove extranenous file

* address PR feedback

---------

Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>

* Refactored `ObjectsTablePanel` to accept either a table class and a queryset or an already initialized table. (#6365)

* Fix #6385 - restore Prefix.get_child_ips() API (#6388)

* Towncrier and version bump

* 6139 Add Text Panel classses (#6357)

* 6139 Add Text Panel classses

* 6139 Remove custom template panel - for now

* 6139 Add get_obj_from_context method

* 6139 Add support for json/yaml and placeholder

* 6139 Add changes list

* 6139 Fix typo

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* 6139 Different approach for rendering placeholder

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* 6139 Apply CR comments

* 6139 Apply CR comments

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Dynamic Group membership update performance improvements (#6364)

* Micro-optimization: narrow scope of TreeModel invalidate_max_depth_cache signal

* Exclude dynamic_group_count column from dynamic group members table

* Improve dynamic group member setter performance

* Update release date

* Add environment variable support for setting CSRF_TRUSTED_ORIGINS (#6374)



---------

Co-authored-by: Glenn Matthews <[email protected]>

* Update Lock-file Patch Releases for Develop (develop) (#6362)

* Update Lock-file Patch Releases for Develop

* Change fragment, pyproject updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* Fix IPAM migration 0050 name and contents to match develop (#6395)

* Fix IPAM migration 0050 name and contents to match develop

* Change fragment

* Handle M2M and reverse M2M correctly in ObjectFieldsPanel, etc. (#6393)

* Fix #6377 - handle M2M and reverse M2M correctly in ObjectFieldsPanel, etc.

* Add docs for vdc (#6392)

* 144 Add documentation for VDC

* updated VDC docs

* Update nautobot/docs/user-guide/core-data-model/dcim/virtualdevicecontext.md

Co-authored-by: Glenn Matthews <[email protected]>

* pr feedback

* markdownlint

---------

Co-authored-by: John Anderson <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Fix job queue behavior (#6397)

* Fixed false unable to run or schedule job: Celery worker process not running error

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fixed wrong primary ipv6 label on VirtualDeviceContextForm (#6403)

* fix wrong primary ipv6 label on VirtualDeviceContextForm

* changelo

* Revert "changelo"

This reverts commit f642c1d.

* changelog

* Update Lock-file Patch Releases for Next (next) (major) (#6363)


---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* Fix issue with choices on JSONArrayFormField

Also apply sort to channel_width and allowed_channel_list during factories.

* Update factory.py

Ruff

* Fix migrations

* Update test_api.py

Make RackTest data more deterministic.  Relying on the factory to create a device with a u_height and having a location was causing errors some of the times.

* Ruff

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Martin Schyth <[email protected]>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: matt852 <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patryk Szulczewski <[email protected]>
Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Joe Wesch <[email protected]>
Co-authored-by: Gary Snider <[email protected]>
Co-authored-by: Matt Miller <[email protected]>
Co-authored-by: Bintang Fadhli <[email protected]>
Co-authored-by: Ken Celenza <[email protected]>
Co-authored-by: mzb <[email protected]>
Co-authored-by: Jan Snasel <[email protected]>
Co-authored-by: Nikos Kallergis <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: mateusz-lachowski-codilime <[email protected]>
Co-authored-by: Axel François <[email protected]>
Co-authored-by: John Anderson <[email protected]>
smk4664 added a commit that referenced this pull request Nov 8, 2024
* Wireless models (#6196)

* Initial work to implement Wireless Models.

* Add Wireless models

* Fix test name and model

* Add Choices and make migrations

* Ruff

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Apply feedback suggestions.

Also add the ChoiceArrayField.

* Resolve issues

* Add Tenants and Factory

* Address Feedback

* Correct related name.

* Change access_point to device to match model

* Update nautobot/wireless/models.py

Co-authored-by: Gary Snider <[email protected]>

* Address feedback and more reliably create the M2M factory data.

---------

Co-authored-by: Gary Snider <[email protected]>

* Add Wireless models API (#6241)

* CSV Export support of JSONArray Choice FIeld

* Add additional test data to reduce random test failures.

* Fix Model Tests

* Add Wireless API

* Add Change Fragment

* Allow Mode for Wireless and Interfaces

* Address some review comments.

* Update factory.py

Correct the filter.

* Update changes/6241.added

Co-authored-by: Gary Snider <[email protected]>

* Update mkdocs.yml

Co-authored-by: Gary Snider <[email protected]>

* Update mkdocs.yml

Co-authored-by: Gary Snider <[email protected]>

* Address remaining feedback items.

* Fix test failure with VLAN being protected.

* Address feedback from peer review.

---------

Co-authored-by: Gary Snider <[email protected]>

* Wireless UI (#6338)

* Initial UI commit

* Add the JSONArrayChoiceFormField

Also add templates and continue to flush out the UI.

* Fix JSONArrayChoiceFormField

This change allows the widget to select the proper choice on load, so that existing choices are selected.

* Update factory.py

channel_width and allowed_channel_list should contain unique values.

* Update forms.py

Remove unused imports.

* Add inline formset for assignments.

* Add missing fields for the forms

This adds the M2M fields into the create/edit form

* Fix verbose name for SSID

* Finish Wireless Views

This adds the formsets to the create/edit views as well as adding the tables to the table view.

* Fix issue with formsets not being able to use query_params

* Add Wireless tab to Device Detail View

* More UI Changes and Tests

* Fix Access Point Group on Device Edit

* Fix issue with tests

The field when errors are present in form uses `data=[]`, which is not a string and will error out on JSONFields `json.loads(data)`. This ensures that we always have a json valid string object.

* Fix test cases

Also adds bulk_edit for channel_width

* Fix ordering in NumericArrayField

* Address feedback from Sprint Review

* Ruff and change fragments.

* Update nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html

Co-authored-by: Glenn Matthews <[email protected]>

* Update nautobot/wireless/templates/wireless/supporteddatarate_retrieve.html

Co-authored-by: Glenn Matthews <[email protected]>

* Update nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html

Co-authored-by: Glenn Matthews <[email protected]>

* Address some of the Peer Review feedback

* Fix issue with field errors not rendering red.

* Add Form Validation for the Formset.

* Uncommit accidentally committed code

* Address BulkEdit Form issues.

* Address Additional feedback

* Update tables.py

Ruff

* Fix filter test

* Remove unused Code

* SupportedDataRate Tests should not conflict with factory.

* Fix bug in Formset lookup

We only care about the closest TR that has a class applied (which all dynamic formsets would). If the class attribute doesn't exist, it isn't a dynamic formset.

* Fix channel_width on RadioProfileTestCases

* Fix Controller Active tabs for wireless

* Address feedback on Paginator

* Apply suggestions from code review

Co-authored-by: Gary Snider <[email protected]>

* Fix factory generation of devices for Wireless Access Points

* Add additional filters requested

* Ruff

* Move JobQueueFactory to before Tenant Factory

This is to try to get around the Tenant filter tests, This should have been before the TenantFactory.

* Ensure 2 JobQueue's have tenants

---------

Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Gary Snider <[email protected]>

* Add Wireless Model documentation (#6381)

* Add Wireless Model documentation

* Fix doc links

* Change Fragment and link correction.

* Update changes/6381.documentation

Co-authored-by: Hanlin Miao <[email protected]>

* Update nautobot/docs/user-guide/core-data-model/wireless/accesspointgroup.md

Co-authored-by: Hanlin Miao <[email protected]>

* Remove the assignment docs

These don't add any value.

* Remove references to the assignment docs.

* Override documentation path

* Add link to External Integration

---------

Co-authored-by: Hanlin Miao <[email protected]>

* Fix issue with choices on JSONArrayFormField (#6412)

* Fixed appropriate cable status coloring not applied for DeviceModule*Table rows in dark mode. (#6128)

* Fixed appropriate cable status coloring not applied for DeviceModule*Table rows in dark mode.

* ruff fix

* address PR feedback

* address PR feedback

* ruff fix

* Fix regression #6131 (#6132)

* Added missing DynamicGroup content to Device Detail View and Software Image File Detail View (#6148)

* Added missing DynamicGroup content to Device Detail View.

* Added missing DynamicGroup content to Software Image Detail View.

* modified changelog

* modified changelog

* Fix some points of non-determinism in factory data (#6147)


---------

Co-authored-by: Hanlin Miao <[email protected]>

* Added Status Field to VRF model (#6130)

* Add status field to VRF (#6120)

* Add status field to VRF (#6120)

* make status field nullable and blankable

* changelog

* address PR feedback

---------

Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: HanlinMiao <[email protected]>

* Handle time zones more correctly with ScheduledJob (#6122)

* Fix #5591 - handle time zones more correctly with ScheduledJob.

* Refinements and some test coverage

* 1 line of bug fix, 300 lines of testing

* Python 3.8 use backports.zoneinfo

* Apply suggestions from code review

Co-authored-by: Hanlin Miao <[email protected]>

* Diversify test data a bit

---------

Co-authored-by: Hanlin Miao <[email protected]>

* release/2.3.2

* Avoid exceptions when encountering a model that doesn't inherit from BaseModel (#6175)

* Avoid exceptions when encountering a model that doesn't inherit from BaseModel

* Change fragment

* Rotate collapse icon (#6160)

* Rotate collapse icon on homepage

* Add changelog

---------

Co-authored-by: Hanlin Miao <[email protected]>

* 5180 - Search by Scheduled Job Name in Job Results (#6167)

* Filter Job Results by Scheduled Job

* Fix ruff

* Add Scheduled Job to Job Results table

* Remove unnecessary widget

* Fix integration tests

* Add action buttons to Scheduled Jobs

* Remove ScheduledJob factory

* Ruff fix

* unittest fix

---------

Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* merge latest PRs and generated release notes

* Bump cryptography from 43.0.0 to 43.0.1 (#6182)

* Bump cryptography from 43.0.0 to 43.0.1

Bumps [cryptography](https://github.com/pyca/cryptography) from 43.0.0 to 43.0.1.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@43.0.0...43.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Change fragment

* Update changes/6182.security

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* updated release notes after 6182

* version bump

* migration conflict

* ruff

* comment out generic tests for TreeNodeMultipleChoiceFilter

* not enough JobQueues with tenant groups

* Fix #6184 (#6186)

* add display property to Prefix model (#6190)

* add display property to Prefix model

* ruff format & add changelog

* remove unused test code

* modify path parameter in test client `.get` call

---------

Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Update Lock-file Patch Releases for Develop (develop) (#6084)

* Update Lock-file Patch Releases for Develop

* Pyproject.toml and change fragment

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* Add User to override the UI view for Time Zone (#6156)

* add middleware

* Add testcase

* Update nautobot/core/middleware.py

* mod test

* fix bug incorrect timezone displayed in schedule form

* move Timezone update UI to Preference

* PR feedback

* Update 3263.added

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Updates example invoke.yml (#6155)

* Updates example invoke.yml

* Adds fragment

* Changes all options to comments

* Cleans up comments

* Updates changelog wording

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fix #6197 (#6202)

Co-authored-by: Glenn Matthews <[email protected]>

* Fix performance regression in web_request_context (#6206)

* Fix performance regression in web_request_context

* Alternate approach, a bit more efficient

---------

Co-authored-by: Hanlin Miao <[email protected]>

* Added JobQueue UI/Refactor Job Code to use JobQueue models (#6154)

* JobQueue UI

* fix some JobQueue related forms and added view unittests

* added JobQueue to navigation menu and added jobs filter to JobQueueFilterSet

* added JobQueue field to JobForm

* changelogs

* address PR feedback

* remove task queues from job abd queue from scheduled job

* remove some of the task queues references

* added cache for get_celery_queues

* remove some of the task queues references

* fix unittests

* Revert "fix unittests"

This reverts commit 3e6086e.

* fix unittests

* remove output.txt

* fix unittests

* fix unittests

* address some PR feedback

* added task_queues/queue property to JobSerializer and ScheduledJobSerializer

* fix unittests

* fix unittests

* fix unittests

* ruff fix

* unittests

* added documentation and unittests

* added new doc to nav config

* fix unittests

* refactor JobQueueAssignmentFactory

* fix unittests

* unittest fix

* ruff fix

* Update nautobot/extras/templates/extras/jobqueue_retrieve.html

Co-authored-by: Glenn Matthews <[email protected]>

* address some PR feedback

* remove jobqueueassignment.md

* create stub for _job_queue field in JobForm

* added clear_job_queues_override to JobBulkEditForm

* JobQueueFactory changes

* migration fix

* Address PR feedback

* address PR feedback from standup

* ruff

* refactor JobVariablesTest

* Update nautobot/extras/migrations/0117_task_queue_to_job_queue_migration.py

Co-authored-by: Glenn Matthews <[email protected]>

* unittest fix

* Review feedback

* added job_queue related fields on JobInputSerializer and JobMultiPartInputSerializer

* raise validation error

* fix unittests

* ruff

* refactored JobQueueFactory a bit

* unittests

* Add `job_queues_override` functionality.

* generate more JobQueues to make sure that enough JobQueues have tenants that have tenant groups

* factory changes

* ruff fix

* UI fixes

* Fix UI a bit more

* add value type check for task_queues_override setter

* ruff fix

* pylint fix

---------

Co-authored-by: Glenn Matthews <[email protected]>

* VDC: model & API (#6169)

* create model and api

* add missing fields and constrains

* Add api test case

* add model test case

* resolve PR feedback

* resolve PR feedback

* fix unittest

* fix failling test

* fix test

* Fix unittest

* remod comments

* PR feedback

* Update nautobot/dcim/models/devices.py

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Disable coverage during test database setup (#6215)

* towncrier/version bump

* Update nautobot/docs/release-notes/version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

* Update Lock-file Patch Releases for Develop (develop) (#6212)

* Update Lock-file Patch Releases for Develop

* changelog and pyproject.toml

* 6212.dependencies -> 6212.security

* Update changes/6212.security

Co-authored-by: Glenn Matthews <[email protected]>

* restored poetry.lock

* poetry lock file

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* reran towncrier

* Fix upstream testing workflow to work with new Dockerfile (#6222)

* Constance cache timeout fix and docs updates (#6221)

* Add NAUTOBOT_CACHES_TIMEOUT environment variable and use it for Constance as well

* pyproject.toml

* Updating datetime.timedelta (#6230)

Co-authored-by: Glenn Matthews <[email protected]>

* Towncrier and version bump

* Changed `--cache-test-fixtures` and `--keepdb` flags from opt-in to opt-out for `inv unittest` and `inv integration-test` commands. (#6213)

* first commit

* delete debugging statements

* modified github workflow files ci_pullrequest.yml and ci_integration.yml to explictly opt out of cache-test-fixture and keepdb

* fix typo

* Update changes/5859.housekeeping

Co-authored-by: Glenn Matthews <[email protected]>

* updated documentations

* Update nautobot/docs/development/core/getting-started.md

Co-authored-by: Glenn Matthews <[email protected]>

* address PR feedback

* fix flaky unittests

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fixed ClusterTable for device count column link uses outdated filter pattern. (#6229)

* Fixed ClusterTable for device count column link uses outdated filter pattern.

* Fixed PowerPanelTable for power feed count column link uses outdated filter pattern.

* add cluster NaturalKeyOrPKMultipleChoiceFilter to VMFilterSet

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

* changelog

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fix upstream testing typo from #6222 (#6227)

* fixed typo in plugin upstream testing base

* add comment

* changelog

* update

---------

Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* towncrier

* version bump

* Fixed SavedView functionality not working in Rack Elevation List View. (#6228)

* Fixed SavedView functionality not working in Rack Elevation List View.

* pylint

* address PR feedback

* address PR feedback

* fix unittests

* Add rendered-markdown in NoteTable (#6233)

* add rendered-markdown in NoteTable

* add changelog

* Update changes/6233.added

Co-authored-by: Glenn Matthews <[email protected]>

* fix changelog name

---------

Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Fixed Device Type link and count from Device Family Detail View. (#6248)

* Refactored SavedViewUIViewSet to take into account of `permissions_class` attribute. (#6216)

* save progress

* ruff fix

* modified github workflow files ci_pullrequest.yml and ci_integration.yml to explictly opt out of cache-test-fixture and keepdb

* revert changes

* moved permission_classes to SavedViewUIViewSet

* feedback from standup

* changelog

* implemented previous fix

* feedback from standup

* added unit test

* ruff fix

* address PR feedback

* Enhanced job delete functions to prevent users with the appropriate permissions or super users from deleting system jobs from the UI and the API. (#6245)

* Enhanced job delete functions to prevent users with the appropriate permissions or super users from deleting system jobs from the UI and the API.

* Update nautobot/extras/tests/test_views.py

Co-authored-by: Glenn Matthews <[email protected]>

* changelog

---------

Co-authored-by: Glenn Matthews <[email protected]>

* [2.4] Remove Python 3.8 support (#6252)

* Remove Python 3.8 support

* Update dependency mkdocs-material to v9.5.35 (develop) (#6247)

* Update Lock-file Patch Releases for Develop

* changelog and pyproject.toml

* 6212.dependencies -> 6212.security

* Update changes/6212.security

Co-authored-by: Glenn Matthews <[email protected]>

* restored poetry.lock

* poetry lock file

* Update dependency mkdocs-material to v9.5.35

* changelog and pyproject.toml

* deleted extra changelogs

* Update changes/6247.dependencies

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Interface VirtualDeviceContext Assignment model and REST API  (#6223)

* Fixed device bay populate/depopulate redirect (#6270)

* Add VDC Model UI (#6209)

* create model and api

* add missing fields and constrains

* Add api test case

* add model test case

* resolve PR feedback

* resolve PR feedback

* fix unittest

* fix failling test

* fix test

* Fix unittest

* remod comments

* PR feedback

* Add VDC Model UI

* add docs

* fix unittest

* Update nautobot/dcim/forms.py

* Add interfaces to VDC form

* Add interface vdc filter test case

* use status = DynamicModelChoiceField

* add model and docs

* remove vdc field from interface

* PR feedback resolved

* update

* fix markdown

* changelogs

* remove validation check

* All PR feedback resolved

* fix failing test by removing webhooks extras_features

Because `webhooks` assets that model has changelogging, and in this case we are inheriting from BaseModel instead of PrimaryModel

* changes added

* fix faliling test

* add filter

* fix

* fix

* PR feedback

* add ip device validation

* fix ruff

* fix failing test

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* UI python framework: code drop to `next` (#6266)

* UI Components: Basic layout rendering (#6159)

* Move existing UI framework components into nautobot.core.ui module

* Add invoke nbshell --quiet option

* UI framework continued - weight-defined layout, ObjectsTablePanel (#6219)

* Refactor, remove Layout classes

* Replace constants with choicesets

* Add ObjectsTablePanel class.

* Change fragment

* Review feedback

* UI components: refactor, add panels for custom fields, computed fields, relationships (#6246)

* Add to nautobot.apps.ui namespace, enhance docstrings accordingly

* Self-review feedback

* #6141 - add tags panel to ObjectDetailContent (#6274)

* Additional change fragments

* VLANGroup range field. (#6176)

* Fixed `position` to properly disable RUs that are currently occupied (#6264)


---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fix Prefix not displaying the correct utilization for IP Addresses (#6278)

* VLANGroup add tags (#6256)

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Changed Django-structlog to use "celery" instead of "all" (#6288)

* Changed Django-structlog to use "celery" instead of "all"

* Update changes/6287.dependencies

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Add --no-reusedb option to unittest (#6285)

* Add --no-reusedb option to unittest

* Change fragment

* Backport some test resilience fixes from #6256 (#6292)

* Backport some test resilience fixes from #6256

* Change fragment

* release 2.3.5

* address pr feedback

* Implement Service Add button. (#6290)

* Implement Service Add button.

* Lookup IP Addresses dynamically

* Update changes/6289.fixed

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* rerun towncrier

* version bump

* Added optional `role` field to `VirtualDeviceContext`. (#6268)

* added optional role field to VDC model

* changelog

* fix unittest

* mysql fix perhaps?

* mysql fix perhaps?

* mysql fix perhaps?

* mysql fix perhaps?

* mysql fix perhaps?

* migration file

* ruff

* sort-buffer-size

* address PR feedback

* change to ci_pullrequest.yml

* restore

* brute force

* mysql latest

* try to run the whole test suite

* pullrequest.yml

* restore pullrequest.yml

* commented out m2m_changed on _handle_changed_object

* revert unnecessary changes

* mysql fix

* run whole test suite

* mysql fix

* restore ci_pullrequest.yml

* fix unittest

* ruff fix

* fix unit tests

* run unittest without parallel to detect mysql test failure

* run unittest without parallel to detect mysql test failure

* fix setuptest

* revert ci_pullrequest.yml

* add todo comment

* Fix startup error when serializer base class is not as expected (#6305)

* [NCLOUD-2472] Add local K8s cluster (#6284)

* feat: Doc K8s dev env

* deps: Change kubernetes dependency from `31.0.0` to `^31.0.0`

* fix: Do not touch users home kube config

* change: Better doc organization

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Glenn Matthews <[email protected]>

* increase the minimum number of content-types for MetadataTypes created by factories (#6308)

* increase the minimum number of content-types for MetadataTypes created by factories

* changelog

* changelog

* changelog

* [DEVELOP] VLANGroup Ranges (#6309)

* VLANGroup range field pr#1

* VLANGroup range field pr#2

* fix unittests

* ruff fix

* Update nautobot/docs/release-notes/version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Release 2.3.6

* version bump

* version bump

* ruff fix

* remove duplicate migration file

* deleted duplicate changelog and deleted duplicate lines on test

* Fix UI overflow issue Tenant Stats (#6313)

Co-authored-by: Glenn Matthews <[email protected]>

* Added `default_job_queue` field to the Job Model (#6277)

* added default job queue field to the Job Model

* missing job.save()

* miscellaneous

* ruff fix

* unit test

* unittest

* unittest and JobBulkEditForm

* address PR feedback

* migration file fix

* pylint

* address PR feedback

* address unittest failure

* migration test

* ruff fix

* fix unit tests

* run unittest without parallel to detect test failure

* fix setuptest()

* related_name changes

* migration file

* fix all unittests

* ruff

* address PR feedback

* fix unittests

* address PR feedback

* address pr feedback

* pylint

* Update dependency mkdocs-material to v9.5.39 (develop) (#6283)

* Update dependency mkdocs-material to v9.5.39

* changelog

* updated requirement.txt's

* rename changelog: dependencies -> housekeeping

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* A number of various fixes (#6318)

* Fix test error with cached job queues (#6320)

* Event notification system (#6312)

* Improve error handling in Celery inspect (#6322)

* Fix #6299 - improve error handling in Celery inspect

* Test fix backport from #6154

* Update Lock-file Patch Releases for Next (next) (major) (#5963)

* Update Lock-file Patch Releases for Next

* Update Lock-file Patch Releases for Next

* updated poetry.lock and reverted updates for Django and graphene-django

* Update pyproject.toml

Co-authored-by: Glenn Matthews <[email protected]>

* updated changelog

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Enhance ObjectsTablePanel (#6306)


---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>

* Address VDC UI feedback (#6332)

* Address VDC UI feedback

* role field is not required

* template changes

* Fix #6337 - add exception handling removed from django-constance upstream (#6339)

* Enhancements to nautobot-server runjob (#6334)

* Add soft time limit enforcement to 'runjob --local'

* Reload jobs in runjob management command, fix warning log message

* Enhance ObjectFieldPanel (#6328)

* First pass

* comments

* revert changes to contact table

* Minor Updates:

Include `add_button_route`
Include Badge
Add hyperlink fields

* fix pylint test

* add unittest

* PR feedback

* fix unittest

* resolve PR feedback

* PR feedback

* minor update

* Enhance ObjectFieldPanel

* Enhanced ObjectFieldsPanel: Include TreeModel Hierarchy display, copy button ar row level and url fields automatically hyperlinked features.

* add unittest

* Apply suggestions from code review

Co-authored-by: Glenn Matthews <[email protected]>

* resolve PR feedback

* pr feedback

* slugify key

* alphabetize router register

---------

Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Added Event Broker Config

* Add repo name to hash log of ensure_git_repository (#6351)

* Improve constance error handling further (#6349)

* Fix DynamicGroup.group_type automatic setting (#6333)



---------

Co-authored-by: Hanlin Miao <[email protected]>

* Add more test

* Fix unittest

* Remove more react UI remnants (#6342)


---------

Co-authored-by: Hanlin Miao <[email protected]>

* Improve view test failure output (#6366)

* Extract nav menu JS to a separate file

* Add and adopt assertBodyContains test helper function

* Have assertHttpStatus also use extract_page_body

---------

Co-authored-by: Timizuo <[email protected]>

* Release v2.3.7

* PR feedback

* Added `StatsPanel` UI component Python class. (#6345)

* Added StatsPanel UI component Python class

* modified changelog

* address PR feedback

* Initial refactor of LocationDetailView

* refactored Tenant Detail View

* cleanup

* cleanup after #6328

* pylint

* pylint and bug fix from 6328

* revert Location Detail View changes

* changelog and ruff

* ruff

* address PR feedback

* revert more LocationDetailView changes and address PR feedback

* ruff

* restore tzoffset

* address PR feedback

* fix tests

* fix wrong import path

* fix griffe warnings

* Update version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

* Update version-2.3.md

Co-authored-by: Glenn Matthews <[email protected]>

* Move django-constance back to v3 (#6371)

* Partial #6297 - add pagination to IPAM related object tables (#6346)

Co-authored-by: Hanlin Miao <[email protected]>

* Fix PR test failures

* ruff fix

* resolve PR feedback

* fix yamllint

* version bump

* merge upstream

* update poetry.lock

* renumber several migration files

* renumber jobqueue migration files instead

* migration file

* Fix issue with Installed Apps trying to load invalid action links (#6382)

* Try reverse

* Add change fragment.

* Revise code based on feedback.

* Remove assignment of reverse

* [#5050] Changed logic to permit VLANs assigned to a device's location's parent locations (including parents of parents, etc.) to be assigned to that device's interfaces. (#6379)

* Fix #5050: assign vlans from device's location's parents

* add support for assigning vlan to interface if vlan location is parent of switch location

* add changelog entry

* added unittests

* added unittests

* fix unit tests

* restore unittest

* fix unittests

* remove extranenous file

* address PR feedback

---------

Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>

* Refactored `ObjectsTablePanel` to accept either a table class and a queryset or an already initialized table. (#6365)

* Fix #6385 - restore Prefix.get_child_ips() API (#6388)

* Towncrier and version bump

* 6139 Add Text Panel classses (#6357)

* 6139 Add Text Panel classses

* 6139 Remove custom template panel - for now

* 6139 Add get_obj_from_context method

* 6139 Add support for json/yaml and placeholder

* 6139 Add changes list

* 6139 Fix typo

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* 6139 Different approach for rendering placeholder

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* Update nautobot/core/ui/object_detail.py

Co-authored-by: Glenn Matthews <[email protected]>

* 6139 Apply CR comments

* 6139 Apply CR comments

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Dynamic Group membership update performance improvements (#6364)

* Micro-optimization: narrow scope of TreeModel invalidate_max_depth_cache signal

* Exclude dynamic_group_count column from dynamic group members table

* Improve dynamic group member setter performance

* Update release date

* Add environment variable support for setting CSRF_TRUSTED_ORIGINS (#6374)



---------

Co-authored-by: Glenn Matthews <[email protected]>

* Update Lock-file Patch Releases for Develop (develop) (#6362)

* Update Lock-file Patch Releases for Develop

* Change fragment, pyproject updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* Fix IPAM migration 0050 name and contents to match develop (#6395)

* Fix IPAM migration 0050 name and contents to match develop

* Change fragment

* Handle M2M and reverse M2M correctly in ObjectFieldsPanel, etc. (#6393)

* Fix #6377 - handle M2M and reverse M2M correctly in ObjectFieldsPanel, etc.

* Add docs for vdc (#6392)

* 144 Add documentation for VDC

* updated VDC docs

* Update nautobot/docs/user-guide/core-data-model/dcim/virtualdevicecontext.md

Co-authored-by: Glenn Matthews <[email protected]>

* pr feedback

* markdownlint

---------

Co-authored-by: John Anderson <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>

* Fix job queue behavior (#6397)

* Fixed false unable to run or schedule job: Celery worker process not running error

---------

Co-authored-by: Glenn Matthews <[email protected]>

* Fixed wrong primary ipv6 label on VirtualDeviceContextForm (#6403)

* fix wrong primary ipv6 label on VirtualDeviceContextForm

* changelo

* Revert "changelo"

This reverts commit f642c1d.

* changelog

* Update Lock-file Patch Releases for Next (next) (major) (#6363)


---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Glenn Matthews <[email protected]>

* Fix issue with choices on JSONArrayFormField

Also apply sort to channel_width and allowed_channel_list during factories.

* Update factory.py

Ruff

* Fix migrations

* Update test_api.py

Make RackTest data more deterministic.  Relying on the factory to create a device with a u_height and having a location was causing errors some of the times.

* Ruff

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Martin Schyth <[email protected]>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: matt852 <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patryk Szulczewski <[email protected]>
Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Joe Wesch <[email protected]>
Co-authored-by: Gary Snider <[email protected]>
Co-authored-by: Matt Miller <[email protected]>
Co-authored-by: Bintang Fadhli <[email protected]>
Co-authored-by: Ken Celenza <[email protected]>
Co-authored-by: mzb <[email protected]>
Co-authored-by: Jan Snasel <[email protected]>
Co-authored-by: Nikos Kallergis <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: mateusz-lachowski-codilime <[email protected]>
Co-authored-by: Axel François <[email protected]>
Co-authored-by: John Anderson <[email protected]>

* Add Controller Capabilities field (#6446)

* Add capabilities fields to Controller and ControllerManagedDeviceGroup

* Accept URL params for JSONArrayField

JSONArrayFIeld was dropping the value when passed into the url parameters instead of converting to a list.

Also switch rendering of allowed_channel_list to use the array_to_string.

* Allow query_params on NavMenuItems. Fix Wireless Navigation.

* Ruff and Changelog

* Fix tests.

* Apply feedback and fix InterfaceTest

* Ruff

* Remove JobQueueFactoryWithTenancy

* Apply suggestions from code review

Co-authored-by: Gary Snider <[email protected]>

* Apply changes from code suggestions.

* Update nautobot/dcim/models/devices.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/dcim/models/devices.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/dcim/tables/devices.py

Co-authored-by: Gary Snider <[email protected]>

* Update nautobot/dcim/tables/devices.py

Co-authored-by: Gary Snider <[email protected]>

* Revert docstring change.

* Add note on the Capabilities field use case.

* Apply code feedback

---------

Co-authored-by: Gary Snider <[email protected]>

* U/smk4664 remove access point groups (#6467)

* Replace AccessPointGroup with ControllerManagedDeviceGroup

* Remove items from homepage

The Radio Profiles and Supported Data Rates do not need to be on the homepage.

* Hide Controller on Controller UI.

This field should already be known, unnecessary to show on this view.

* Remove references to Access Point Groups.

* Fix migrations and optional rendering based on capabilities.

* Ensure capabilities is set when linking to ControllerManagedDeviceGroup

* Ruff

* Render label or mdash for capabilities

* Ruff

* Avoid test conflicts

I found that sometimes the Identifier would be set to 100, which could conflict with the VirtualDeviceContextsTestCase in test_api if the same device was randomly chosen.

* Update factory.py

Ruff

* Add "assigned_object_id" to metadata ordering.

* Remove factory data from ObjectMetadataTest

* Revert Metadata Ordering change.

* Resolve some issues found in Peer Review.

* Remove lingering TODO comments.

* Apply suggested Changes

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Gary Snider <[email protected]>
Co-authored-by: Glenn Matthews <[email protected]>
Co-authored-by: Hanlin Miao <[email protected]>
Co-authored-by: Martin Schyth <[email protected]>
Co-authored-by: HanlinMiao <[email protected]>
Co-authored-by: matt852 <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patryk Szulczewski <[email protected]>
Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: Brandon Donohoe <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Timizuo <[email protected]>
Co-authored-by: Joe Wesch <[email protected]>
Co-authored-by: Matt Miller <[email protected]>
Co-authored-by: Bintang Fadhli <[email protected]>
Co-authored-by: Ken Celenza <[email protected]>
Co-authored-by: mzb <[email protected]>
Co-authored-by: Jan Snasel <[email protected]>
Co-authored-by: Nikos Kallergis <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: Alex Tremblay <[email protected]>
Co-authored-by: mateusz-lachowski-codilime <[email protected]>
Co-authored-by: Axel François <[email protected]>
Co-authored-by: John Anderson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working as expected
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants