nautobot 2.4.9__py3-none-any.whl → 2.4.11__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 (433) hide show
  1. nautobot/cloud/tests/test_views.py +13 -1
  2. nautobot/cloud/views.py +39 -9
  3. nautobot/core/api/parsers.py +56 -2
  4. nautobot/core/celery/__init__.py +21 -0
  5. nautobot/core/celery/encoders.py +3 -0
  6. nautobot/core/forms/forms.py +4 -1
  7. nautobot/core/jobs/bulk_actions.py +8 -8
  8. nautobot/core/jobs/cleanup.py +11 -0
  9. nautobot/core/management/commands/generate_test_data.py +2 -1
  10. nautobot/core/models/__init__.py +2 -0
  11. nautobot/core/templates/generic/object_retrieve.html +1 -1
  12. nautobot/core/testing/mixins.py +19 -1
  13. nautobot/core/testing/views.py +104 -8
  14. nautobot/core/tests/test_csv.py +92 -1
  15. nautobot/core/tests/test_jinja_filters.py +59 -0
  16. nautobot/core/tests/test_jobs.py +20 -4
  17. nautobot/core/tests/test_utils.py +193 -0
  18. nautobot/core/tests/test_views.py +73 -0
  19. nautobot/core/tests/test_views_utils.py +53 -2
  20. nautobot/core/ui/object_detail.py +4 -0
  21. nautobot/core/urls.py +2 -2
  22. nautobot/core/utils/lookup.py +4 -2
  23. nautobot/core/utils/module_loading.py +86 -58
  24. nautobot/core/views/__init__.py +21 -0
  25. nautobot/core/views/generic.py +2 -12
  26. nautobot/core/views/mixins.py +19 -1
  27. nautobot/core/views/renderers.py +4 -13
  28. nautobot/core/views/utils.py +16 -0
  29. nautobot/dcim/api/serializers.py +13 -0
  30. nautobot/dcim/api/urls.py +1 -0
  31. nautobot/dcim/api/views.py +20 -0
  32. nautobot/dcim/apps.py +1 -0
  33. nautobot/dcim/factory.py +11 -0
  34. nautobot/dcim/filters/__init__.py +110 -0
  35. nautobot/dcim/forms.py +205 -19
  36. nautobot/dcim/migrations/0070_modulefamily_models.py +92 -0
  37. nautobot/dcim/models/__init__.py +2 -0
  38. nautobot/dcim/models/device_component_templates.py +18 -0
  39. nautobot/dcim/models/device_components.py +25 -1
  40. nautobot/dcim/models/devices.py +68 -0
  41. nautobot/dcim/navigation.py +16 -0
  42. nautobot/dcim/tables/__init__.py +2 -0
  43. nautobot/dcim/tables/devices.py +48 -0
  44. nautobot/dcim/tables/devicetypes.py +35 -1
  45. nautobot/dcim/tables/template_code.py +2 -0
  46. nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +1 -90
  47. nautobot/dcim/templates/dcim/inc/cable_toggle_buttons.html +1 -1
  48. nautobot/dcim/templates/dcim/interfaceredundancygroup_retrieve.html +1 -63
  49. nautobot/dcim/templates/dcim/location.html +2 -249
  50. nautobot/dcim/templates/dcim/location_edit.html +2 -38
  51. nautobot/dcim/templates/dcim/location_retrieve.html +249 -0
  52. nautobot/dcim/templates/dcim/location_update.html +38 -0
  53. nautobot/dcim/templates/dcim/module_update.html +1 -0
  54. nautobot/dcim/templates/dcim/modulebay_retrieve.html +93 -1
  55. nautobot/dcim/templates/dcim/modulefamily_retrieve.html +31 -0
  56. nautobot/dcim/templates/dcim/moduletype_retrieve.html +6 -0
  57. nautobot/dcim/templates/dcim/powerfeed_retrieve.html +1 -160
  58. nautobot/dcim/tests/test_api.py +35 -0
  59. nautobot/dcim/tests/test_filters.py +102 -3
  60. nautobot/dcim/tests/test_models.py +146 -0
  61. nautobot/dcim/tests/test_views.py +70 -97
  62. nautobot/dcim/urls.py +4 -22
  63. nautobot/dcim/views.py +439 -153
  64. nautobot/extras/api/views.py +9 -2
  65. nautobot/extras/context_managers.py +2 -2
  66. nautobot/extras/datasources/git.py +11 -3
  67. nautobot/extras/forms/forms.py +9 -5
  68. nautobot/extras/jobs.py +4 -2
  69. nautobot/extras/models/customfields.py +2 -0
  70. nautobot/extras/models/datasources.py +13 -8
  71. nautobot/extras/models/groups.py +18 -0
  72. nautobot/extras/models/jobs.py +19 -0
  73. nautobot/extras/models/metadata.py +2 -0
  74. nautobot/extras/models/models.py +4 -0
  75. nautobot/extras/models/secrets.py +7 -0
  76. nautobot/extras/plugins/__init__.py +3 -0
  77. nautobot/extras/secrets/__init__.py +14 -0
  78. nautobot/extras/tables.py +40 -3
  79. nautobot/extras/templates/extras/configcontext.html +2 -220
  80. nautobot/extras/templates/extras/configcontext_edit.html +2 -50
  81. nautobot/extras/templates/extras/configcontext_retrieve.html +2 -0
  82. nautobot/extras/templates/extras/configcontext_update.html +50 -0
  83. nautobot/extras/templates/extras/configcontextschema.html +2 -48
  84. nautobot/extras/templates/extras/configcontextschema_edit.html +2 -19
  85. nautobot/extras/templates/extras/configcontextschema_retrieve.html +48 -0
  86. nautobot/extras/templates/extras/configcontextschema_update.html +19 -0
  87. nautobot/extras/templates/extras/inc/configcontext_data.html +1 -0
  88. nautobot/extras/templates/extras/inc/json_data.html +1 -1
  89. nautobot/extras/templates/extras/inc/json_format.html +2 -2
  90. nautobot/extras/templates/extras/job_edit.html +12 -6
  91. nautobot/extras/templates/extras/tag.html +2 -52
  92. nautobot/extras/templates/extras/tag_edit.html +2 -15
  93. nautobot/extras/templates/extras/tag_retrieve.html +52 -0
  94. nautobot/extras/templates/extras/tag_update.html +15 -0
  95. nautobot/extras/templates/extras/team_retrieve.html +2 -2
  96. nautobot/extras/tests/test_api.py +15 -15
  97. nautobot/extras/tests/test_context_managers.py +20 -0
  98. nautobot/extras/tests/test_filters.py +4 -4
  99. nautobot/extras/tests/test_jobs.py +23 -10
  100. nautobot/extras/tests/test_models.py +45 -8
  101. nautobot/extras/tests/test_plugins.py +6 -3
  102. nautobot/extras/tests/test_views.py +66 -11
  103. nautobot/extras/urls.py +4 -134
  104. nautobot/extras/views.py +113 -158
  105. nautobot/ipam/models.py +51 -4
  106. nautobot/ipam/tables.py +19 -0
  107. nautobot/ipam/templates/ipam/vlan.html +2 -84
  108. nautobot/ipam/templates/ipam/vlan_edit.html +2 -24
  109. nautobot/ipam/templates/ipam/vlan_retrieve.html +84 -0
  110. nautobot/ipam/templates/ipam/vlan_update.html +24 -0
  111. nautobot/ipam/tests/test_views.py +5 -0
  112. nautobot/ipam/urls.py +1 -21
  113. nautobot/ipam/views.py +45 -70
  114. nautobot/project-static/docs/404.html +31 -8
  115. nautobot/project-static/docs/apps/index.html +31 -8
  116. nautobot/project-static/docs/apps/nautobot-apps.html +31 -8
  117. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +31 -8
  118. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +31 -8
  119. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +31 -8
  120. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +31 -8
  121. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +31 -8
  122. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +31 -8
  123. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +31 -8
  124. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +31 -8
  125. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +31 -8
  126. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +31 -8
  127. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +31 -8
  128. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +31 -8
  129. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +31 -8
  130. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +31 -8
  131. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +31 -8
  132. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +31 -8
  133. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +31 -8
  134. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +31 -8
  135. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +31 -8
  136. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +120 -8
  137. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +31 -8
  138. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +31 -8
  139. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +31 -8
  140. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +31 -8
  141. nautobot/project-static/docs/development/apps/api/configuration-view.html +31 -8
  142. nautobot/project-static/docs/development/apps/api/database-backend-config.html +31 -8
  143. nautobot/project-static/docs/development/apps/api/models/django-admin.html +31 -8
  144. nautobot/project-static/docs/development/apps/api/models/global-search.html +31 -8
  145. nautobot/project-static/docs/development/apps/api/models/graphql.html +31 -8
  146. nautobot/project-static/docs/development/apps/api/models/index.html +31 -8
  147. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +40 -8
  148. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +31 -8
  149. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +31 -8
  150. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +31 -8
  151. nautobot/project-static/docs/development/apps/api/platform-features/index.html +31 -8
  152. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +31 -8
  153. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +31 -8
  154. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +31 -8
  155. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +70 -46
  156. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +31 -8
  157. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +31 -8
  158. nautobot/project-static/docs/development/apps/api/prometheus.html +31 -8
  159. nautobot/project-static/docs/development/apps/api/setup.html +31 -8
  160. nautobot/project-static/docs/development/apps/api/testing.html +31 -8
  161. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +31 -8
  162. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +31 -8
  163. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +31 -8
  164. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +31 -8
  165. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +31 -8
  166. nautobot/project-static/docs/development/apps/api/views/base-template.html +31 -8
  167. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +31 -8
  168. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +31 -8
  169. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +31 -8
  170. nautobot/project-static/docs/development/apps/api/views/index.html +31 -8
  171. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +31 -8
  172. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +31 -8
  173. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +31 -8
  174. nautobot/project-static/docs/development/apps/api/views/notes.html +31 -8
  175. nautobot/project-static/docs/development/apps/api/views/rest-api.html +31 -8
  176. nautobot/project-static/docs/development/apps/api/views/urls.html +31 -8
  177. nautobot/project-static/docs/development/apps/index.html +31 -8
  178. nautobot/project-static/docs/development/apps/migration/code-updates.html +31 -8
  179. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +31 -8
  180. nautobot/project-static/docs/development/apps/migration/from-v1.html +31 -8
  181. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +31 -8
  182. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +31 -8
  183. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +31 -8
  184. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +31 -8
  185. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +31 -8
  186. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +31 -8
  187. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +31 -8
  188. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +31 -8
  189. nautobot/project-static/docs/development/apps/porting-from-netbox.html +31 -8
  190. nautobot/project-static/docs/development/core/application-registry.html +31 -8
  191. nautobot/project-static/docs/development/core/best-practices.html +31 -8
  192. nautobot/project-static/docs/development/core/bootstrap-ui.html +31 -8
  193. nautobot/project-static/docs/development/core/caching.html +31 -8
  194. nautobot/project-static/docs/development/core/controllers.html +31 -8
  195. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +31 -8
  196. nautobot/project-static/docs/development/core/generic-views.html +31 -8
  197. nautobot/project-static/docs/development/core/getting-started.html +31 -8
  198. nautobot/project-static/docs/development/core/homepage.html +31 -8
  199. nautobot/project-static/docs/development/core/index.html +31 -8
  200. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +31 -8
  201. nautobot/project-static/docs/development/core/model-checklist.html +31 -8
  202. nautobot/project-static/docs/development/core/model-features.html +31 -8
  203. nautobot/project-static/docs/development/core/natural-keys.html +31 -8
  204. nautobot/project-static/docs/development/core/navigation-menu.html +31 -8
  205. nautobot/project-static/docs/development/core/release-checklist.html +31 -8
  206. nautobot/project-static/docs/development/core/role-internals.html +31 -8
  207. nautobot/project-static/docs/development/core/settings.html +31 -8
  208. nautobot/project-static/docs/development/core/style-guide.html +31 -8
  209. nautobot/project-static/docs/development/core/templates.html +31 -8
  210. nautobot/project-static/docs/development/core/testing.html +31 -8
  211. nautobot/project-static/docs/development/core/ui-component-framework.html +31 -8
  212. nautobot/project-static/docs/development/core/user-preferences.html +31 -8
  213. nautobot/project-static/docs/development/index.html +31 -8
  214. nautobot/project-static/docs/development/jobs/getting-started.html +35 -8
  215. nautobot/project-static/docs/development/jobs/index.html +31 -8
  216. nautobot/project-static/docs/development/jobs/installation.html +31 -8
  217. nautobot/project-static/docs/development/jobs/job-extensions.html +31 -8
  218. nautobot/project-static/docs/development/jobs/job-logging.html +31 -8
  219. nautobot/project-static/docs/development/jobs/job-patterns.html +31 -8
  220. nautobot/project-static/docs/development/jobs/job-structure.html +31 -8
  221. nautobot/project-static/docs/development/jobs/migration/from-v1.html +31 -8
  222. nautobot/project-static/docs/development/jobs/testing.html +31 -8
  223. nautobot/project-static/docs/index.html +31 -8
  224. nautobot/project-static/docs/insert-analytics.sh +36 -0
  225. nautobot/project-static/docs/objects.inv +0 -0
  226. nautobot/project-static/docs/overview/application_stack.html +31 -8
  227. nautobot/project-static/docs/overview/design_philosophy.html +31 -8
  228. nautobot/project-static/docs/release-notes/index.html +31 -8
  229. nautobot/project-static/docs/release-notes/version-1.0.html +31 -8
  230. nautobot/project-static/docs/release-notes/version-1.1.html +31 -8
  231. nautobot/project-static/docs/release-notes/version-1.2.html +31 -8
  232. nautobot/project-static/docs/release-notes/version-1.3.html +31 -8
  233. nautobot/project-static/docs/release-notes/version-1.4.html +31 -8
  234. nautobot/project-static/docs/release-notes/version-1.5.html +31 -8
  235. nautobot/project-static/docs/release-notes/version-1.6.html +328 -8
  236. nautobot/project-static/docs/release-notes/version-2.0.html +31 -8
  237. nautobot/project-static/docs/release-notes/version-2.1.html +31 -8
  238. nautobot/project-static/docs/release-notes/version-2.2.html +31 -8
  239. nautobot/project-static/docs/release-notes/version-2.3.html +31 -8
  240. nautobot/project-static/docs/release-notes/version-2.4.html +353 -8
  241. nautobot/project-static/docs/search/search_index.json +1 -1
  242. nautobot/project-static/docs/sitemap.xml +302 -298
  243. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  244. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +31 -8
  245. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +31 -8
  246. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +31 -8
  247. nautobot/project-static/docs/user-guide/administration/configuration/index.html +31 -8
  248. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +31 -8
  249. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +31 -8
  250. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +31 -8
  251. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +31 -8
  252. nautobot/project-static/docs/user-guide/administration/guides/docker.html +31 -8
  253. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +31 -8
  254. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +31 -8
  255. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +31 -8
  256. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +31 -8
  257. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +31 -8
  258. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +31 -8
  259. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +31 -8
  260. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +31 -8
  261. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +31 -8
  262. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +31 -8
  263. nautobot/project-static/docs/user-guide/administration/installation/index.html +31 -8
  264. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +31 -8
  265. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +31 -8
  266. nautobot/project-static/docs/user-guide/administration/installation/services.html +31 -8
  267. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +31 -8
  268. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +31 -8
  269. nautobot/project-static/docs/user-guide/administration/security/index.html +31 -9
  270. nautobot/project-static/docs/user-guide/administration/security/notices.html +144 -9
  271. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +31 -8
  272. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +31 -8
  273. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +31 -8
  274. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +31 -8
  275. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +31 -8
  276. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +31 -8
  277. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +31 -8
  278. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +31 -8
  279. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +31 -8
  280. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +31 -8
  281. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +31 -8
  282. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +31 -8
  283. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +31 -8
  284. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +31 -8
  285. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +31 -8
  286. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +31 -8
  287. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +31 -8
  288. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +31 -8
  289. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +31 -8
  290. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +31 -8
  291. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +31 -8
  292. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +31 -8
  293. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +31 -8
  294. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +31 -8
  295. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +31 -8
  296. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +31 -8
  297. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +31 -8
  298. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +31 -8
  299. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +31 -8
  300. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +31 -8
  301. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +31 -8
  302. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +31 -8
  303. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +31 -8
  304. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +31 -8
  305. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +43 -20
  306. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +31 -8
  307. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +31 -8
  308. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +31 -8
  309. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +31 -8
  310. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +31 -8
  311. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +31 -8
  312. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +31 -8
  313. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +31 -8
  314. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +31 -8
  315. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +31 -8
  316. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +35 -8
  317. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +35 -8
  318. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +35 -8
  319. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +10261 -0
  320. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +34 -11
  321. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +31 -8
  322. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +31 -8
  323. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +31 -8
  324. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +31 -8
  325. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +31 -8
  326. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +31 -8
  327. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +31 -8
  328. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +31 -8
  329. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +31 -8
  330. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +31 -8
  331. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +31 -8
  332. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +31 -8
  333. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +31 -8
  334. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +31 -8
  335. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +31 -8
  336. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +31 -8
  337. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +31 -8
  338. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +31 -8
  339. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +31 -8
  340. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +31 -8
  341. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +31 -8
  342. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +31 -8
  343. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +31 -8
  344. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +31 -8
  345. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +31 -8
  346. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +31 -8
  347. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +31 -8
  348. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +31 -8
  349. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +31 -8
  350. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +31 -8
  351. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +31 -8
  352. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +31 -8
  353. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +31 -8
  354. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +31 -8
  355. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +31 -8
  356. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +31 -8
  357. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +31 -8
  358. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +31 -8
  359. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +31 -8
  360. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +31 -8
  361. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +31 -8
  362. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +31 -8
  363. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +31 -8
  364. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +31 -8
  365. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +31 -8
  366. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +31 -8
  367. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +31 -8
  368. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +31 -8
  369. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +31 -8
  370. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +31 -8
  371. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +31 -8
  372. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +31 -8
  373. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +41 -15
  374. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +31 -8
  375. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +31 -8
  376. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +31 -8
  377. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +31 -8
  378. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +31 -8
  379. nautobot/project-static/docs/user-guide/index.html +31 -8
  380. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +31 -8
  381. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +31 -8
  382. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +31 -8
  383. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +31 -8
  384. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +31 -8
  385. nautobot/project-static/docs/user-guide/platform-functionality/events.html +31 -8
  386. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +31 -8
  387. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +31 -8
  388. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +37 -9
  389. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +31 -8
  390. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +31 -8
  391. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +31 -8
  392. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +31 -8
  393. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +31 -8
  394. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +31 -8
  395. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +31 -8
  396. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +31 -8
  397. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +31 -8
  398. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +31 -8
  399. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +31 -8
  400. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +31 -8
  401. nautobot/project-static/docs/user-guide/platform-functionality/note.html +31 -8
  402. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +31 -8
  403. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +31 -8
  404. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +31 -8
  405. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +31 -8
  406. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +31 -8
  407. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +31 -8
  408. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +31 -8
  409. nautobot/project-static/docs/user-guide/platform-functionality/role.html +31 -8
  410. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +31 -8
  411. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +31 -8
  412. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +31 -8
  413. nautobot/project-static/docs/user-guide/platform-functionality/status.html +31 -8
  414. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +31 -8
  415. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +31 -8
  416. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +31 -8
  417. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +31 -8
  418. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +31 -8
  419. nautobot/tenancy/tables.py +2 -0
  420. nautobot/users/models.py +4 -0
  421. nautobot/virtualization/models.py +4 -0
  422. nautobot/virtualization/tests/test_views.py +1 -1
  423. nautobot/wireless/forms.py +0 -1
  424. nautobot/wireless/models.py +1 -1
  425. nautobot/wireless/tables.py +7 -0
  426. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/METADATA +4 -4
  427. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/RECORD +433 -418
  428. /nautobot/dcim/templates/dcim/{platform_edit.html → platform_create.html} +0 -0
  429. /nautobot/extras/test_jobs/{pass.py → pass_job.py} +0 -0
  430. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/LICENSE.txt +0 -0
  431. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/NOTICE +0 -0
  432. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/WHEEL +0 -0
  433. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/entry_points.txt +0 -0
@@ -3606,6 +3606,29 @@
3606
3606
 
3607
3607
 
3608
3608
 
3609
+ <li class="md-nav__item">
3610
+ <a href="../core-data-model/dcim/modulefamily.html" class="md-nav__link">
3611
+
3612
+
3613
+
3614
+ <span class="md-ellipsis">
3615
+ Module Family
3616
+
3617
+ </span>
3618
+
3619
+
3620
+ </a>
3621
+ </li>
3622
+
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3609
3632
 
3610
3633
 
3611
3634
 
@@ -3618,7 +3641,7 @@
3618
3641
 
3619
3642
 
3620
3643
 
3621
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3644
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3622
3645
 
3623
3646
 
3624
3647
  <div class="md-nav__link md-nav__container">
@@ -3635,14 +3658,14 @@
3635
3658
  </a>
3636
3659
 
3637
3660
 
3638
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3661
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3639
3662
  <span class="md-nav__icon md-icon"></span>
3640
3663
  </label>
3641
3664
 
3642
3665
  </div>
3643
3666
 
3644
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3645
- <label class="md-nav__title" for="__nav_2_3_4_10">
3667
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3668
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3646
3669
  <span class="md-nav__icon md-icon"></span>
3647
3670
  Module Type
3648
3671
  </label>
@@ -3858,7 +3881,7 @@
3858
3881
 
3859
3882
 
3860
3883
 
3861
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3884
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3862
3885
 
3863
3886
 
3864
3887
  <div class="md-nav__link md-nav__container">
@@ -3875,14 +3898,14 @@
3875
3898
  </a>
3876
3899
 
3877
3900
 
3878
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3901
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3879
3902
  <span class="md-nav__icon md-icon"></span>
3880
3903
  </label>
3881
3904
 
3882
3905
  </div>
3883
3906
 
3884
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3885
- <label class="md-nav__title" for="__nav_2_3_4_11">
3907
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3908
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3886
3909
  <span class="md-nav__icon md-icon"></span>
3887
3910
  Module
3888
3911
  </label>
@@ -3606,6 +3606,29 @@
3606
3606
 
3607
3607
 
3608
3608
 
3609
+ <li class="md-nav__item">
3610
+ <a href="../core-data-model/dcim/modulefamily.html" class="md-nav__link">
3611
+
3612
+
3613
+
3614
+ <span class="md-ellipsis">
3615
+ Module Family
3616
+
3617
+ </span>
3618
+
3619
+
3620
+ </a>
3621
+ </li>
3622
+
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3609
3632
 
3610
3633
 
3611
3634
 
@@ -3618,7 +3641,7 @@
3618
3641
 
3619
3642
 
3620
3643
 
3621
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3644
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3622
3645
 
3623
3646
 
3624
3647
  <div class="md-nav__link md-nav__container">
@@ -3635,14 +3658,14 @@
3635
3658
  </a>
3636
3659
 
3637
3660
 
3638
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3661
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3639
3662
  <span class="md-nav__icon md-icon"></span>
3640
3663
  </label>
3641
3664
 
3642
3665
  </div>
3643
3666
 
3644
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3645
- <label class="md-nav__title" for="__nav_2_3_4_10">
3667
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3668
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3646
3669
  <span class="md-nav__icon md-icon"></span>
3647
3670
  Module Type
3648
3671
  </label>
@@ -3858,7 +3881,7 @@
3858
3881
 
3859
3882
 
3860
3883
 
3861
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3884
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3862
3885
 
3863
3886
 
3864
3887
  <div class="md-nav__link md-nav__container">
@@ -3875,14 +3898,14 @@
3875
3898
  </a>
3876
3899
 
3877
3900
 
3878
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3901
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3879
3902
  <span class="md-nav__icon md-icon"></span>
3880
3903
  </label>
3881
3904
 
3882
3905
  </div>
3883
3906
 
3884
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3885
- <label class="md-nav__title" for="__nav_2_3_4_11">
3907
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3908
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3886
3909
  <span class="md-nav__icon md-icon"></span>
3887
3910
  Module
3888
3911
  </label>
@@ -3606,6 +3606,29 @@
3606
3606
 
3607
3607
 
3608
3608
 
3609
+ <li class="md-nav__item">
3610
+ <a href="../core-data-model/dcim/modulefamily.html" class="md-nav__link">
3611
+
3612
+
3613
+
3614
+ <span class="md-ellipsis">
3615
+ Module Family
3616
+
3617
+ </span>
3618
+
3619
+
3620
+ </a>
3621
+ </li>
3622
+
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3609
3632
 
3610
3633
 
3611
3634
 
@@ -3618,7 +3641,7 @@
3618
3641
 
3619
3642
 
3620
3643
 
3621
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3644
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3622
3645
 
3623
3646
 
3624
3647
  <div class="md-nav__link md-nav__container">
@@ -3635,14 +3658,14 @@
3635
3658
  </a>
3636
3659
 
3637
3660
 
3638
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3661
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3639
3662
  <span class="md-nav__icon md-icon"></span>
3640
3663
  </label>
3641
3664
 
3642
3665
  </div>
3643
3666
 
3644
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3645
- <label class="md-nav__title" for="__nav_2_3_4_10">
3667
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3668
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3646
3669
  <span class="md-nav__icon md-icon"></span>
3647
3670
  Module Type
3648
3671
  </label>
@@ -3858,7 +3881,7 @@
3858
3881
 
3859
3882
 
3860
3883
 
3861
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3884
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3862
3885
 
3863
3886
 
3864
3887
  <div class="md-nav__link md-nav__container">
@@ -3875,14 +3898,14 @@
3875
3898
  </a>
3876
3899
 
3877
3900
 
3878
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3901
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3879
3902
  <span class="md-nav__icon md-icon"></span>
3880
3903
  </label>
3881
3904
 
3882
3905
  </div>
3883
3906
 
3884
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3885
- <label class="md-nav__title" for="__nav_2_3_4_11">
3907
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3908
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3886
3909
  <span class="md-nav__icon md-icon"></span>
3887
3910
  Module
3888
3911
  </label>
@@ -3606,6 +3606,29 @@
3606
3606
 
3607
3607
 
3608
3608
 
3609
+ <li class="md-nav__item">
3610
+ <a href="../../core-data-model/dcim/modulefamily.html" class="md-nav__link">
3611
+
3612
+
3613
+
3614
+ <span class="md-ellipsis">
3615
+ Module Family
3616
+
3617
+ </span>
3618
+
3619
+
3620
+ </a>
3621
+ </li>
3622
+
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3609
3632
 
3610
3633
 
3611
3634
 
@@ -3618,7 +3641,7 @@
3618
3641
 
3619
3642
 
3620
3643
 
3621
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3644
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3622
3645
 
3623
3646
 
3624
3647
  <div class="md-nav__link md-nav__container">
@@ -3635,14 +3658,14 @@
3635
3658
  </a>
3636
3659
 
3637
3660
 
3638
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3661
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3639
3662
  <span class="md-nav__icon md-icon"></span>
3640
3663
  </label>
3641
3664
 
3642
3665
  </div>
3643
3666
 
3644
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3645
- <label class="md-nav__title" for="__nav_2_3_4_10">
3667
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3668
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3646
3669
  <span class="md-nav__icon md-icon"></span>
3647
3670
  Module Type
3648
3671
  </label>
@@ -3858,7 +3881,7 @@
3858
3881
 
3859
3882
 
3860
3883
 
3861
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3884
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3862
3885
 
3863
3886
 
3864
3887
  <div class="md-nav__link md-nav__container">
@@ -3875,14 +3898,14 @@
3875
3898
  </a>
3876
3899
 
3877
3900
 
3878
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3901
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3879
3902
  <span class="md-nav__icon md-icon"></span>
3880
3903
  </label>
3881
3904
 
3882
3905
  </div>
3883
3906
 
3884
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3885
- <label class="md-nav__title" for="__nav_2_3_4_11">
3907
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3908
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3886
3909
  <span class="md-nav__icon md-icon"></span>
3887
3910
  Module
3888
3911
  </label>
@@ -3606,6 +3606,29 @@
3606
3606
 
3607
3607
 
3608
3608
 
3609
+ <li class="md-nav__item">
3610
+ <a href="../../core-data-model/dcim/modulefamily.html" class="md-nav__link">
3611
+
3612
+
3613
+
3614
+ <span class="md-ellipsis">
3615
+ Module Family
3616
+
3617
+ </span>
3618
+
3619
+
3620
+ </a>
3621
+ </li>
3622
+
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3609
3632
 
3610
3633
 
3611
3634
 
@@ -3618,7 +3641,7 @@
3618
3641
 
3619
3642
 
3620
3643
 
3621
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3644
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3622
3645
 
3623
3646
 
3624
3647
  <div class="md-nav__link md-nav__container">
@@ -3635,14 +3658,14 @@
3635
3658
  </a>
3636
3659
 
3637
3660
 
3638
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3661
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3639
3662
  <span class="md-nav__icon md-icon"></span>
3640
3663
  </label>
3641
3664
 
3642
3665
  </div>
3643
3666
 
3644
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3645
- <label class="md-nav__title" for="__nav_2_3_4_10">
3667
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3668
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3646
3669
  <span class="md-nav__icon md-icon"></span>
3647
3670
  Module Type
3648
3671
  </label>
@@ -3858,7 +3881,7 @@
3858
3881
 
3859
3882
 
3860
3883
 
3861
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3884
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3862
3885
 
3863
3886
 
3864
3887
  <div class="md-nav__link md-nav__container">
@@ -3875,14 +3898,14 @@
3875
3898
  </a>
3876
3899
 
3877
3900
 
3878
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3901
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3879
3902
  <span class="md-nav__icon md-icon"></span>
3880
3903
  </label>
3881
3904
 
3882
3905
  </div>
3883
3906
 
3884
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3885
- <label class="md-nav__title" for="__nav_2_3_4_11">
3907
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3908
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3886
3909
  <span class="md-nav__icon md-icon"></span>
3887
3910
  Module
3888
3911
  </label>
@@ -3606,6 +3606,29 @@
3606
3606
 
3607
3607
 
3608
3608
 
3609
+ <li class="md-nav__item">
3610
+ <a href="../core-data-model/dcim/modulefamily.html" class="md-nav__link">
3611
+
3612
+
3613
+
3614
+ <span class="md-ellipsis">
3615
+ Module Family
3616
+
3617
+ </span>
3618
+
3619
+
3620
+ </a>
3621
+ </li>
3622
+
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3609
3632
 
3610
3633
 
3611
3634
 
@@ -3618,7 +3641,7 @@
3618
3641
 
3619
3642
 
3620
3643
 
3621
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3644
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3622
3645
 
3623
3646
 
3624
3647
  <div class="md-nav__link md-nav__container">
@@ -3635,14 +3658,14 @@
3635
3658
  </a>
3636
3659
 
3637
3660
 
3638
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3661
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3639
3662
  <span class="md-nav__icon md-icon"></span>
3640
3663
  </label>
3641
3664
 
3642
3665
  </div>
3643
3666
 
3644
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3645
- <label class="md-nav__title" for="__nav_2_3_4_10">
3667
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3668
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3646
3669
  <span class="md-nav__icon md-icon"></span>
3647
3670
  Module Type
3648
3671
  </label>
@@ -3858,7 +3881,7 @@
3858
3881
 
3859
3882
 
3860
3883
 
3861
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3884
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3862
3885
 
3863
3886
 
3864
3887
  <div class="md-nav__link md-nav__container">
@@ -3875,14 +3898,14 @@
3875
3898
  </a>
3876
3899
 
3877
3900
 
3878
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3901
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3879
3902
  <span class="md-nav__icon md-icon"></span>
3880
3903
  </label>
3881
3904
 
3882
3905
  </div>
3883
3906
 
3884
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3885
- <label class="md-nav__title" for="__nav_2_3_4_11">
3907
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3908
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3886
3909
  <span class="md-nav__icon md-icon"></span>
3887
3910
  Module
3888
3911
  </label>
@@ -12,7 +12,9 @@ from .models import Tenant, TenantGroup
12
12
 
13
13
  TREE_LINK = """
14
14
  {% load helpers %}
15
+ {% if not table.hide_hierarchy_ui %}
15
16
  {% tree_hierarchy_ui_representation record.tree_depth|as_range table.hide_hierarchy_ui %}
17
+ {% endif %}
16
18
  <a href="{{ record.get_absolute_url }}">{{ record.name }}</a>
17
19
  """
18
20
 
nautobot/users/models.py CHANGED
@@ -139,6 +139,8 @@ class User(BaseModel, AbstractUser):
139
139
  if commit:
140
140
  self.save()
141
141
 
142
+ set_config.alters_data = True
143
+
142
144
  def clear_config(self, path, commit=False):
143
145
  """
144
146
  Delete a configuration parameter specified by its dotted path. The key and any child keys will be deleted.
@@ -166,6 +168,8 @@ class User(BaseModel, AbstractUser):
166
168
  if commit:
167
169
  self.save()
168
170
 
171
+ clear_config.alters_data = True
172
+
169
173
 
170
174
  #
171
175
  # Proxy models for admin
@@ -444,6 +444,8 @@ class VMInterface(PrimaryModel, BaseInterface):
444
444
  instance.validated_save()
445
445
  return len(ip_addresses)
446
446
 
447
+ add_ip_addresses.alters_data = True
448
+
447
449
  def remove_ip_addresses(self, ip_addresses):
448
450
  """Remove one or more IPAddress instances from this interface's `ip_addresses` many-to-many relationship.
449
451
 
@@ -463,6 +465,8 @@ class VMInterface(PrimaryModel, BaseInterface):
463
465
  count += deleted_count
464
466
  return count
465
467
 
468
+ remove_ip_addresses.alters_data = True
469
+
466
470
  @property
467
471
  def parent(self):
468
472
  return self.virtual_machine
@@ -358,7 +358,7 @@ class VMInterfaceTestCase(ViewTestCases.DeviceComponentViewTestCase):
358
358
  "mode": InterfaceModeChoices.MODE_TAGGED,
359
359
  "untagged_vlan": vlans[0].pk,
360
360
  "tagged_vlans": [v.pk for v in vlans[1:4]],
361
- "custom_field_1": "New Custom Field Data",
361
+ "cf_custom_field_1": "New Custom Field Data",
362
362
  "vrf": vrf.pk,
363
363
  }
364
364
 
@@ -192,7 +192,6 @@ class RadioProfileBulkEditForm(TagsBulkEditFormMixin, NautobotBulkEditForm):
192
192
  nullable_fields = [
193
193
  "frequency",
194
194
  "allowed_channel_list",
195
- "regulatory_domain",
196
195
  "tx_power_min",
197
196
  "tx_power_max",
198
197
  "rx_power_min",
@@ -92,7 +92,7 @@ class RadioProfile(PrimaryModel):
92
92
  rx_power_min = models.IntegerField(
93
93
  blank=True,
94
94
  null=True,
95
- verbose_name="Recieve Power Minimum",
95
+ verbose_name="Receive Power Minimum",
96
96
  )
97
97
 
98
98
  class Meta:
@@ -183,6 +183,13 @@ class ControllerManagedDeviceGroupWirelessNetworkAssignmentTable(BaseTable):
183
183
  )
184
184
 
185
185
 
186
+ class DeviceGroupWirelessNetworkTable(ControllerManagedDeviceGroupWirelessNetworkAssignmentTable):
187
+ list_url = "wireless:wirelessnetwork_list"
188
+
189
+ class Meta(ControllerManagedDeviceGroupWirelessNetworkAssignmentTable.Meta):
190
+ pass
191
+
192
+
186
193
  class ControllerControllerManagedDeviceGroupWirelessNetworkAssignmentTable(
187
194
  ControllerManagedDeviceGroupWirelessNetworkAssignmentTable
188
195
  ):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nautobot
3
- Version: 2.4.9
3
+ Version: 2.4.11
4
4
  Summary: Source of truth and network automation platform.
5
5
  Home-page: https://nautobot.com
6
6
  License: Apache-2.0
@@ -22,13 +22,13 @@ Provides-Extra: mysql
22
22
  Provides-Extra: napalm
23
23
  Provides-Extra: remote-storage
24
24
  Provides-Extra: sso
25
- Requires-Dist: Django (>=4.2.21,<4.3.0)
25
+ Requires-Dist: Django (>=4.2.23,<4.3.0)
26
26
  Requires-Dist: GitPython (>=3.1.44,<3.2.0)
27
27
  Requires-Dist: Jinja2 (>=3.1.6,<3.2.0)
28
28
  Requires-Dist: Markdown (>=3.6,<3.7)
29
29
  Requires-Dist: Pillow (>=11.0.0,<11.1.0)
30
30
  Requires-Dist: PyYAML (>=6.0.2,<6.1.0)
31
- Requires-Dist: celery (>=5.3.6,<5.4.0)
31
+ Requires-Dist: celery (>=5.3.6,<5.6.0)
32
32
  Requires-Dist: cryptography (>=44.0.3,<44.1.0)
33
33
  Requires-Dist: django-ajax-tables (>=1.1.1,<1.2.0)
34
34
  Requires-Dist: django-auth-ldap (>=5.1.0,<5.2.0) ; extra == "all" or extra == "ldap"
@@ -57,7 +57,7 @@ Requires-Dist: emoji (>=2.12.1,<2.13.0)
57
57
  Requires-Dist: graphene-django (>=2.16.0,<2.17.0)
58
58
  Requires-Dist: graphene-django-optimizer (>=0.8.0,<0.9.0)
59
59
  Requires-Dist: jsonschema (>=4.7.0,<5.0.0)
60
- Requires-Dist: kombu (>=5.4.2,<5.5.0)
60
+ Requires-Dist: kombu (>=5.4.2,<5.6.0)
61
61
  Requires-Dist: kubernetes (>=32.0.1,<33.0.0)
62
62
  Requires-Dist: mysqlclient (>=2.2.7,<2.3.0) ; extra == "all" or extra == "mysql"
63
63
  Requires-Dist: napalm (>=4.1.0,<6.0.0) ; extra == "all" or extra == "napalm"