nautobot 2.2.4__py3-none-any.whl → 2.2.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (303) hide show
  1. nautobot/circuits/forms.py +15 -0
  2. nautobot/circuits/navigation.py +9 -1
  3. nautobot/circuits/views.py +2 -0
  4. nautobot/core/filters.py +11 -0
  5. nautobot/core/settings.yaml +3 -3
  6. nautobot/core/testing/filters.py +24 -1
  7. nautobot/core/testing/views.py +13 -1
  8. nautobot/core/views/utils.py +18 -1
  9. nautobot/dcim/filters/__init__.py +1 -1
  10. nautobot/dcim/forms.py +23 -4
  11. nautobot/dcim/tables/devicetypes.py +15 -4
  12. nautobot/dcim/tests/test_views.py +84 -0
  13. nautobot/dcim/views.py +3 -0
  14. nautobot/extras/api/views.py +2 -2
  15. nautobot/extras/context_managers.py +3 -0
  16. nautobot/extras/filters/__init__.py +15 -1
  17. nautobot/extras/forms/forms.py +33 -0
  18. nautobot/extras/forms/mixins.py +0 -6
  19. nautobot/extras/signals.py +6 -1
  20. nautobot/extras/tests/test_api.py +24 -2
  21. nautobot/extras/tests/test_context_managers.py +33 -1
  22. nautobot/extras/tests/test_filters.py +69 -0
  23. nautobot/extras/tests/test_forms.py +0 -3
  24. nautobot/extras/tests/test_views.py +48 -4
  25. nautobot/extras/views.py +12 -10
  26. nautobot/ipam/forms.py +18 -0
  27. nautobot/ipam/tests/test_views.py +9 -2
  28. nautobot/ipam/views.py +11 -0
  29. nautobot/project-static/docs/404.html +3 -3
  30. nautobot/project-static/docs/apps/index.html +3 -3
  31. nautobot/project-static/docs/apps/nautobot-apps.html +3 -3
  32. nautobot/project-static/docs/assets/javascripts/{bundle.3220b9d7.min.js → bundle.ebd0bdb7.min.js} +5 -5
  33. nautobot/project-static/docs/assets/javascripts/{bundle.3220b9d7.min.js.map → bundle.ebd0bdb7.min.js.map} +3 -3
  34. nautobot/project-static/docs/assets/stylesheets/{main.66ac8b77.min.css → main.6543a935.min.css} +1 -1
  35. nautobot/project-static/docs/assets/stylesheets/{main.66ac8b77.min.css.map → main.6543a935.min.css.map} +1 -1
  36. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +3 -3
  37. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +3 -3
  38. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +3 -3
  39. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +3 -3
  40. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +3 -3
  41. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +3 -3
  42. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +3 -3
  43. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +3 -3
  44. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +3 -3
  45. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +3 -3
  46. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +3 -3
  47. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +3 -3
  48. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +3 -3
  49. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +3 -3
  50. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +3 -3
  51. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +3 -3
  52. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +3 -3
  53. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +3 -3
  54. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +3 -3
  55. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +3 -3
  56. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +3 -3
  57. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +3 -3
  58. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +3 -3
  59. nautobot/project-static/docs/development/apps/api/configuration-view.html +3 -3
  60. nautobot/project-static/docs/development/apps/api/database-backend-config.html +3 -3
  61. nautobot/project-static/docs/development/apps/api/models/django-admin.html +3 -3
  62. nautobot/project-static/docs/development/apps/api/models/global-search.html +3 -3
  63. nautobot/project-static/docs/development/apps/api/models/graphql.html +3 -3
  64. nautobot/project-static/docs/development/apps/api/models/index.html +3 -3
  65. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +3 -3
  66. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +3 -3
  67. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +4 -4
  68. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +3 -3
  69. nautobot/project-static/docs/development/apps/api/platform-features/index.html +3 -3
  70. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +3 -3
  71. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +3 -3
  72. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +3 -3
  73. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +3 -3
  74. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +3 -3
  75. nautobot/project-static/docs/development/apps/api/prometheus.html +3 -3
  76. nautobot/project-static/docs/development/apps/api/setup.html +3 -3
  77. nautobot/project-static/docs/development/apps/api/testing.html +3 -3
  78. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +3 -3
  79. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +3 -3
  80. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +3 -3
  81. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +3 -3
  82. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +3 -3
  83. nautobot/project-static/docs/development/apps/api/views/base-template.html +3 -3
  84. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +3 -3
  85. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +3 -3
  86. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +3 -3
  87. nautobot/project-static/docs/development/apps/api/views/index.html +3 -3
  88. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +3 -3
  89. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +3 -3
  90. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +3 -3
  91. nautobot/project-static/docs/development/apps/api/views/notes.html +3 -3
  92. nautobot/project-static/docs/development/apps/api/views/rest-api.html +3 -3
  93. nautobot/project-static/docs/development/apps/api/views/urls.html +3 -3
  94. nautobot/project-static/docs/development/apps/index.html +3 -3
  95. nautobot/project-static/docs/development/apps/migration/code-updates.html +3 -3
  96. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +3 -3
  97. nautobot/project-static/docs/development/apps/migration/from-v1.html +5 -5
  98. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +3 -3
  99. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +3 -3
  100. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +3 -3
  101. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +3 -3
  102. nautobot/project-static/docs/development/apps/porting-from-netbox.html +3 -3
  103. nautobot/project-static/docs/development/core/application-registry.html +4 -4
  104. nautobot/project-static/docs/development/core/best-practices.html +3 -3
  105. nautobot/project-static/docs/development/core/bootstrap-ui.html +3 -3
  106. nautobot/project-static/docs/development/core/caching.html +3 -3
  107. nautobot/project-static/docs/development/core/controllers.html +3 -3
  108. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +3 -3
  109. nautobot/project-static/docs/development/core/generic-views.html +3 -3
  110. nautobot/project-static/docs/development/core/getting-started.html +5 -5
  111. nautobot/project-static/docs/development/core/homepage.html +3 -3
  112. nautobot/project-static/docs/development/core/index.html +3 -3
  113. nautobot/project-static/docs/development/core/model-checklist.html +3 -3
  114. nautobot/project-static/docs/development/core/model-features.html +3 -3
  115. nautobot/project-static/docs/development/core/natural-keys.html +3 -3
  116. nautobot/project-static/docs/development/core/navigation-menu.html +3 -3
  117. nautobot/project-static/docs/development/core/release-checklist.html +3 -3
  118. nautobot/project-static/docs/development/core/role-internals.html +3 -3
  119. nautobot/project-static/docs/development/core/settings.html +3 -3
  120. nautobot/project-static/docs/development/core/style-guide.html +3 -3
  121. nautobot/project-static/docs/development/core/templates.html +3 -3
  122. nautobot/project-static/docs/development/core/testing.html +4 -4
  123. nautobot/project-static/docs/development/core/user-preferences.html +3 -3
  124. nautobot/project-static/docs/development/index.html +3 -3
  125. nautobot/project-static/docs/development/jobs/index.html +3 -3
  126. nautobot/project-static/docs/development/jobs/migration/from-v1.html +3 -3
  127. nautobot/project-static/docs/index.html +3 -3
  128. nautobot/project-static/docs/release-notes/index.html +3 -3
  129. nautobot/project-static/docs/release-notes/version-1.0.html +4 -4
  130. nautobot/project-static/docs/release-notes/version-1.1.html +3 -3
  131. nautobot/project-static/docs/release-notes/version-1.2.html +5 -5
  132. nautobot/project-static/docs/release-notes/version-1.3.html +4 -4
  133. nautobot/project-static/docs/release-notes/version-1.4.html +5 -5
  134. nautobot/project-static/docs/release-notes/version-1.5.html +5 -5
  135. nautobot/project-static/docs/release-notes/version-1.6.html +543 -163
  136. nautobot/project-static/docs/release-notes/version-2.0.html +6 -6
  137. nautobot/project-static/docs/release-notes/version-2.1.html +3 -3
  138. nautobot/project-static/docs/release-notes/version-2.2.html +263 -84
  139. nautobot/project-static/docs/requirements.txt +2 -2
  140. nautobot/project-static/docs/search/search_index.json +1 -1
  141. nautobot/project-static/docs/sitemap.xml +254 -254
  142. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  143. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +3 -3
  144. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +3 -3
  145. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +5 -5
  146. nautobot/project-static/docs/user-guide/administration/configuration/index.html +4 -4
  147. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +6 -6
  148. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +3 -3
  149. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +3 -3
  150. nautobot/project-static/docs/user-guide/administration/guides/caching.html +3 -3
  151. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +3 -3
  152. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +3 -3
  153. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +3 -3
  154. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +3 -3
  155. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +4 -4
  156. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +3 -3
  157. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +3 -3
  158. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +3 -3
  159. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +3 -3
  160. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +3 -3
  161. nautobot/project-static/docs/user-guide/administration/installation/index.html +3 -3
  162. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +3 -3
  163. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +7 -7
  164. nautobot/project-static/docs/user-guide/administration/installation/services.html +4 -4
  165. nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +3 -3
  166. nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +3 -3
  167. nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +3 -3
  168. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +3 -3
  169. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +3 -3
  170. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +3 -3
  171. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +3 -3
  172. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +3 -3
  173. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +3 -3
  174. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +3 -3
  175. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +4 -4
  176. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +3 -3
  177. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +3 -3
  178. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +3 -22
  179. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +5 -5
  180. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +3 -3
  181. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +3 -3
  182. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +3 -3
  183. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +3 -3
  184. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +3 -3
  185. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +3 -3
  186. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +3 -3
  187. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +3 -3
  188. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +3 -3
  189. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +3 -3
  190. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +3 -3
  191. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +3 -3
  192. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +3 -3
  193. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +5 -5
  194. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +3 -3
  195. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +3 -3
  196. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +3 -3
  197. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +3 -3
  198. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +4 -4
  199. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +3 -3
  200. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +3 -3
  201. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +3 -3
  202. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +3 -3
  203. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +3 -3
  204. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +3 -3
  205. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +3 -3
  206. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +3 -3
  207. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +3 -3
  208. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +3 -3
  209. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +3 -3
  210. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +3 -3
  211. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +3 -3
  212. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +3 -3
  213. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +3 -3
  214. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +3 -3
  215. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +3 -3
  216. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +3 -3
  217. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +3 -3
  218. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +3 -3
  219. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +3 -3
  220. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +3 -3
  221. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +3 -3
  222. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +3 -3
  223. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +3 -3
  224. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +3 -3
  225. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +3 -3
  226. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +3 -3
  227. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +3 -3
  228. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +3 -3
  229. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +3 -3
  230. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +3 -3
  231. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +3 -3
  232. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +3 -3
  233. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +3 -3
  234. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +3 -3
  235. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +3 -3
  236. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +3 -3
  237. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +3 -3
  238. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +3 -3
  239. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +3 -3
  240. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +3 -3
  241. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +3 -3
  242. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +3 -3
  243. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +3 -3
  244. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +3 -3
  245. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +3 -3
  246. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +6 -6
  247. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +3 -3
  248. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +3 -3
  249. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +4 -4
  250. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +3 -3
  251. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +3 -3
  252. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +3 -3
  253. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +3 -3
  254. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +4 -4
  255. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +3 -3
  256. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +3 -3
  257. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +3 -3
  258. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +3 -3
  259. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +3 -3
  260. nautobot/project-static/docs/user-guide/index.html +3 -3
  261. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +3 -3
  262. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +3 -3
  263. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +3 -3
  264. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +3 -3
  265. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +3 -3
  266. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +3 -3
  267. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +3 -3
  268. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +3 -3
  269. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +3 -3
  270. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +3 -3
  271. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +3 -3
  272. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +3 -3
  273. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +4 -4
  274. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +3 -3
  275. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +3 -3
  276. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +5 -5
  277. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +5 -5
  278. nautobot/project-static/docs/user-guide/platform-functionality/note.html +3 -3
  279. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +3 -3
  280. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +3 -3
  281. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +3 -3
  282. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +3 -3
  283. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +3 -3
  284. nautobot/project-static/docs/user-guide/platform-functionality/role.html +4 -36
  285. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +3 -3
  286. nautobot/project-static/docs/user-guide/platform-functionality/status.html +3 -3
  287. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +3 -3
  288. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +3 -3
  289. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +3 -3
  290. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +3 -3
  291. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +3 -3
  292. nautobot/project-static/js/forms.js +2 -1
  293. nautobot/tenancy/forms.py +9 -0
  294. nautobot/tenancy/views.py +1 -0
  295. nautobot/virtualization/forms.py +18 -6
  296. nautobot/virtualization/templates/virtualization/clustertype.html +2 -2
  297. nautobot/virtualization/views.py +2 -0
  298. {nautobot-2.2.4.dist-info → nautobot-2.2.5.dist-info}/METADATA +1 -1
  299. {nautobot-2.2.4.dist-info → nautobot-2.2.5.dist-info}/RECORD +303 -303
  300. {nautobot-2.2.4.dist-info → nautobot-2.2.5.dist-info}/LICENSE.txt +0 -0
  301. {nautobot-2.2.4.dist-info → nautobot-2.2.5.dist-info}/NOTICE +0 -0
  302. {nautobot-2.2.4.dist-info → nautobot-2.2.5.dist-info}/WHEEL +0 -0
  303. {nautobot-2.2.4.dist-info → nautobot-2.2.5.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@@ -8317,7 +8317,7 @@ From the Devices/Circuits example above, you might label the relationship so tha
8317
8317
  <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8318
8318
 
8319
8319
 
8320
- <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8320
+ <script src="../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8321
8321
 
8322
8322
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8323
8323
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -8048,7 +8048,7 @@
8048
8048
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8049
8049
 
8050
8050
 
8051
- <script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8051
+ <script src="../../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8052
8052
 
8053
8053
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8054
8054
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -8301,7 +8301,7 @@
8301
8301
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8302
8302
 
8303
8303
 
8304
- <script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8304
+ <script src="../../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8305
8305
 
8306
8306
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8307
8307
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -9227,7 +9227,7 @@ This parameter is an positive integer value that can range from 0 to 10. In most
9227
9227
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
9228
9228
 
9229
9229
 
9230
- <script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
9230
+ <script src="../../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
9231
9231
 
9232
9232
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
9233
9233
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -7937,7 +7937,7 @@ Note that these API endpoints are hidden from OpenAPI schema as well.</p>
7937
7937
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
7938
7938
 
7939
7939
 
7940
- <script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
7940
+ <script src="../../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
7941
7941
 
7942
7942
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
7943
7943
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@@ -4567,21 +4567,6 @@
4567
4567
  </span>
4568
4568
  </a>
4569
4569
 
4570
- <nav class="md-nav" aria-label="Role Basics">
4571
- <ul class="md-nav__list">
4572
-
4573
- <li class="md-nav__item">
4574
- <a href="#importing-objects-with-a-role-field" class="md-nav__link">
4575
- <span class="md-ellipsis">
4576
- Importing Objects with a role Field
4577
- </span>
4578
- </a>
4579
-
4580
- </li>
4581
-
4582
- </ul>
4583
- </nav>
4584
-
4585
4570
  </li>
4586
4571
 
4587
4572
  </ul>
@@ -7830,21 +7815,6 @@
7830
7815
  </span>
7831
7816
  </a>
7832
7817
 
7833
- <nav class="md-nav" aria-label="Role Basics">
7834
- <ul class="md-nav__list">
7835
-
7836
- <li class="md-nav__item">
7837
- <a href="#importing-objects-with-a-role-field" class="md-nav__link">
7838
- <span class="md-ellipsis">
7839
- Importing Objects with a role Field
7840
- </span>
7841
- </a>
7842
-
7843
- </li>
7844
-
7845
- </ul>
7846
- </nav>
7847
-
7848
7818
  </li>
7849
7819
 
7850
7820
  </ul>
@@ -7866,13 +7836,11 @@
7866
7836
 
7867
7837
 
7868
7838
  <h1 id="roles">Roles<a class="headerlink" href="#roles" title="Permanent link">&para;</a></h1>
7869
- <p>The Role model represents a role that can be assigned to a device, rack, virtual machine, IP address, VLAN, or prefix. Each role is identified by a unique name and has a weight, color and content-types associated with it.</p>
7839
+ <p>The Role model represents a role that can be assigned to a <a href="../core-data-model/dcim/device.html">device</a>, <a href="../core-data-model/dcim/rack.html">rack</a>, <a href="../core-data-model/virtualization/virtualmachine.html">virtual machine</a>, <a href="../core-data-model/ipam/ipaddress.html">IP address</a>, <a href="../core-data-model/ipam/vlan.html">VLAN</a>, or <a href="../core-data-model/ipam/prefix.html">prefix</a>. Each role is identified by a unique name and has a weight, color and content-types associated with it.</p>
7870
7840
  <h2 id="role-basics">Role Basics<a class="headerlink" href="#role-basics" title="Permanent link">&para;</a></h2>
7871
7841
  <p>The value of a <code>role</code> field on a model (such as <code>Device.role</code>) will be represented as a <code>nautobot.extras.models.Role</code> object.</p>
7872
7842
  <p>When created, a <code>Role</code> can be associated to one or more model content-types using a many-to-many relationship. The relationship to each model is referenced across all user interfaces using the <code>{app_label}.{model}</code> naming convention (e.g. <code>dcim.device</code>).</p>
7873
7843
  <p>Roles may be managed by navigating to <strong>Organization &gt; Roles</strong> in the navigation menu.</p>
7874
- <h3 id="importing-objects-with-a-role-field">Importing Objects with a <code>role</code> Field<a class="headerlink" href="#importing-objects-with-a-role-field" title="Permanent link">&para;</a></h3>
7875
- <p>When using CSV import to reference a <code>role</code> field on an object, the <code>Role.name</code> field is used.</p>
7876
7844
  <p>Visit <a href="../../development/core/role-internals.html">role-internals</a> to learn more about working with <code>role</code> as a developer.</p>
7877
7845
 
7878
7846
 
@@ -8020,7 +7988,7 @@
8020
7988
  <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8021
7989
 
8022
7990
 
8023
- <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
7991
+ <script src="../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8024
7992
 
8025
7993
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8026
7994
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@@ -8228,7 +8228,7 @@
8228
8228
  <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8229
8229
 
8230
8230
 
8231
- <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8231
+ <script src="../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8232
8232
 
8233
8233
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8234
8234
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@@ -8305,7 +8305,7 @@ own risk!</p>
8305
8305
  <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8306
8306
 
8307
8307
 
8308
- <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8308
+ <script src="../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8309
8309
 
8310
8310
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8311
8311
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@@ -8064,7 +8064,7 @@
8064
8064
  <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8065
8065
 
8066
8066
 
8067
- <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8067
+ <script src="../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8068
8068
 
8069
8069
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8070
8070
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@@ -9057,7 +9057,7 @@ additionally if there is an <code>object.description</code> this will be used as
9057
9057
  <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
9058
9058
 
9059
9059
 
9060
- <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
9060
+ <script src="../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
9061
9061
 
9062
9062
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
9063
9063
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -8049,7 +8049,7 @@
8049
8049
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8050
8050
 
8051
8051
 
8052
- <script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8052
+ <script src="../../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8053
8053
 
8054
8054
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8055
8055
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -7946,7 +7946,7 @@
7946
7946
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
7947
7947
 
7948
7948
 
7949
- <script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
7949
+ <script src="../../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
7950
7950
 
7951
7951
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
7952
7952
 
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.23">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
@@ -8197,7 +8197,7 @@
8197
8197
  <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8198
8198
 
8199
8199
 
8200
- <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8200
+ <script src="../../assets/javascripts/bundle.ebd0bdb7.min.js"></script>
8201
8201
 
8202
8202
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8203
8203
 
@@ -664,7 +664,8 @@ function initializeDynamicFilterForm(context){
664
664
  let search_query = new URLSearchParams();
665
665
  let dynamic_query = new URLSearchParams(new FormData(document.getElementById("dynamic-filter-form")));
666
666
  dynamic_query.forEach((value, key) => { if (value != "") { search_query.append(key, value); }});
667
- let default_query = new URLSearchParams(new FormData(document.getElementById("default-filter").firstElementChild));
667
+ // Some list views may lack a default-filter form
668
+ let default_query = new URLSearchParams(new FormData(document.getElementById("default-filter")?.firstElementChild));
668
669
  default_query.forEach((value, key) => {
669
670
  if (value != "" && !search_query.has(key, value)) { search_query.append(key, value); }
670
671
  });
nautobot/tenancy/forms.py CHANGED
@@ -4,8 +4,10 @@ from nautobot.core.forms import (
4
4
  CommentField,
5
5
  DynamicModelChoiceField,
6
6
  DynamicModelMultipleChoiceField,
7
+ StaticSelect2,
7
8
  TagFilterField,
8
9
  )
10
+ from nautobot.core.forms.constants import BOOLEAN_WITH_BLANK_CHOICES
9
11
  from nautobot.extras.forms import (
10
12
  NautobotBulkEditForm,
11
13
  NautobotFilterForm,
@@ -32,6 +34,13 @@ class TenantGroupForm(NautobotModelForm):
32
34
  ]
33
35
 
34
36
 
37
+ class TenantGroupFilterForm(NautobotFilterForm):
38
+ model = TenantGroup
39
+ q = forms.CharField(required=False, label="Search")
40
+ parent = DynamicModelMultipleChoiceField(queryset=TenantGroup.objects.all(), to_field_name="name", required=False)
41
+ has_tenants = forms.NullBooleanField(required="False", widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES))
42
+
43
+
35
44
  #
36
45
  # Tenants
37
46
  #
nautobot/tenancy/views.py CHANGED
@@ -19,6 +19,7 @@ from .models import Tenant, TenantGroup
19
19
  class TenantGroupListView(generic.ObjectListView):
20
20
  queryset = TenantGroup.objects.annotate(tenant_count=count_related(Tenant, "tenant_group"))
21
21
  filterset = filters.TenantGroupFilterSet
22
+ filterset_form = forms.TenantGroupFilterForm
22
23
  table = tables.TenantGroupTable
23
24
 
24
25
 
@@ -62,6 +62,12 @@ class ClusterTypeForm(NautobotModelForm):
62
62
  ]
63
63
 
64
64
 
65
+ class ClusterTypeFilterForm(NautobotFilterForm):
66
+ model = ClusterType
67
+ q = forms.CharField(required=False, label="Search")
68
+ clusters = DynamicModelMultipleChoiceField(queryset=Cluster.objects.all(), to_field_name="name", required=False)
69
+
70
+
65
71
  #
66
72
  # Cluster groups
67
73
  #
@@ -76,6 +82,12 @@ class ClusterGroupForm(NautobotModelForm):
76
82
  ]
77
83
 
78
84
 
85
+ class ClusterGroupFilterForm(NautobotFilterForm):
86
+ model = ClusterGroup
87
+ q = forms.CharField(required=False, label="Search")
88
+ clusters = DynamicModelMultipleChoiceField(queryset=Cluster.objects.all(), to_field_name="name", required=False)
89
+
90
+
79
91
  #
80
92
  # Clusters
81
93
  #
@@ -485,8 +497,8 @@ class VMInterfaceForm(NautobotModelForm, InterfaceCommonForm):
485
497
  # Add current location to VLANs query params
486
498
  location = virtual_machine.location
487
499
  if location:
488
- self.fields["untagged_vlan"].widget.add_query_param("location", location.pk)
489
- self.fields["tagged_vlans"].widget.add_query_param("location", location.pk)
500
+ self.fields["untagged_vlan"].widget.add_query_param("locations", location.pk)
501
+ self.fields["tagged_vlans"].widget.add_query_param("locations", location.pk)
490
502
 
491
503
 
492
504
  class VMInterfaceCreateForm(BootstrapMixin, InterfaceCommonForm):
@@ -558,8 +570,8 @@ class VMInterfaceCreateForm(BootstrapMixin, InterfaceCommonForm):
558
570
  # Add current location to VLANs query params
559
571
  location = virtual_machine.location
560
572
  if location:
561
- self.fields["untagged_vlan"].widget.add_query_param("location", location.pk)
562
- self.fields["tagged_vlans"].widget.add_query_param("location", location.pk)
573
+ self.fields["untagged_vlan"].widget.add_query_param("locations", location.pk)
574
+ self.fields["tagged_vlans"].widget.add_query_param("locations", location.pk)
563
575
 
564
576
 
565
577
  class VMInterfaceBulkEditForm(TagsBulkEditFormMixin, StatusModelBulkEditFormMixin, NautobotBulkEditForm):
@@ -628,8 +640,8 @@ class VMInterfaceBulkEditForm(TagsBulkEditFormMixin, StatusModelBulkEditFormMixi
628
640
  location = getattr(parent_obj.cluster, "location", None)
629
641
  if location is not None:
630
642
  # Add current location to VLANs query params
631
- self.fields["untagged_vlan"].widget.add_query_param("location", location.pk)
632
- self.fields["tagged_vlans"].widget.add_query_param("location", location.pk)
643
+ self.fields["untagged_vlan"].widget.add_query_param("locations", location.pk)
644
+ self.fields["tagged_vlans"].widget.add_query_param("locations", location.pk)
633
645
 
634
646
  self.fields["parent_interface"].choices = ()
635
647
  self.fields["parent_interface"].widget.attrs["disabled"] = True
@@ -14,7 +14,7 @@
14
14
  <tr>
15
15
  <td>Clusters</td>
16
16
  <td>
17
- <a href="{% url 'virtualization:cluster_list' %}?type={{ object.name }}">{{ cluster_table.rows|length }}</a>
17
+ <a href="{% url 'virtualization:cluster_list' %}?cluster_type={{ object.name }}">{{ cluster_table.rows|length }}</a>
18
18
  </td>
19
19
  </tr>
20
20
  </table>
@@ -29,7 +29,7 @@
29
29
  {% include 'inc/table.html' with table=cluster_table %}
30
30
  {% if perms.virtualization.add_cluster %}
31
31
  <div class="panel-footer text-right noprint">
32
- <a href="{% url 'virtualization:cluster_add' %}?type={{ object.pk }}" class="btn btn-xs btn-primary">
32
+ <a href="{% url 'virtualization:cluster_add' %}?cluster_type={{ object.pk }}" class="btn btn-xs btn-primary">
33
33
  <span class="mdi mdi-plus-thick" aria-hidden="true"></span> Add cluster
34
34
  </a>
35
35
  </div>
@@ -27,6 +27,7 @@ from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterf
27
27
  class ClusterTypeListView(generic.ObjectListView):
28
28
  queryset = ClusterType.objects.annotate(cluster_count=count_related(Cluster, "cluster_type"))
29
29
  filterset = filters.ClusterTypeFilterSet
30
+ filterset_form = forms.ClusterTypeFilterForm
30
31
  table = tables.ClusterTypeTable
31
32
 
32
33
 
@@ -84,6 +85,7 @@ class ClusterTypeBulkDeleteView(generic.BulkDeleteView):
84
85
  class ClusterGroupListView(generic.ObjectListView):
85
86
  queryset = ClusterGroup.objects.annotate(cluster_count=count_related(Cluster, "cluster_group"))
86
87
  filterset = filters.ClusterGroupFilterSet
88
+ filterset_form = forms.ClusterGroupFilterForm
87
89
  table = tables.ClusterGroupTable
88
90
 
89
91
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nautobot
3
- Version: 2.2.4
3
+ Version: 2.2.5
4
4
  Summary: Source of truth and network automation platform.
5
5
  Home-page: https://nautobot.com
6
6
  License: Apache-2.0