nautobot 2.2.0__py3-none-any.whl → 2.2.0b1__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 (362) hide show
  1. nautobot/apps/api.py +2 -1
  2. nautobot/apps/utils.py +0 -4
  3. nautobot/apps/views.py +0 -2
  4. nautobot/circuits/api/urls.py +2 -1
  5. nautobot/circuits/api/views.py +12 -0
  6. nautobot/circuits/tests/test_filters.py +1 -1
  7. nautobot/core/api/routers.py +3 -25
  8. nautobot/core/api/utils.py +0 -4
  9. nautobot/core/api/views.py +15 -21
  10. nautobot/core/filters.py +1 -7
  11. nautobot/core/management/commands/generate_test_data.py +4 -4
  12. nautobot/core/settings.py +0 -1
  13. nautobot/core/tables.py +1 -2
  14. nautobot/core/templates/admin/base.html +94 -23
  15. nautobot/core/templates/graphene/graphiql.html +47 -18
  16. nautobot/core/templates/inc/footer.html +5 -5
  17. nautobot/core/templates/inc/nav_menu.html +7 -0
  18. nautobot/core/templates/rest_framework/api.html +5 -12
  19. nautobot/core/templatetags/helpers.py +2 -2
  20. nautobot/core/testing/views.py +0 -30
  21. nautobot/core/tests/test_api.py +6 -13
  22. nautobot/core/tests/test_csv.py +4 -5
  23. nautobot/core/tests/test_filters.py +1 -2
  24. nautobot/core/tests/test_graphql.py +14 -4
  25. nautobot/core/tests/test_navigations.py +0 -3
  26. nautobot/core/tests/test_views.py +16 -22
  27. nautobot/core/utils/lookup.py +0 -124
  28. nautobot/core/views/__init__.py +7 -3
  29. nautobot/core/views/generic.py +3 -19
  30. nautobot/core/views/mixins.py +0 -7
  31. nautobot/core/views/renderers.py +1 -4
  32. nautobot/dcim/api/serializers.py +4 -4
  33. nautobot/dcim/api/urls.py +3 -2
  34. nautobot/dcim/api/views.py +18 -7
  35. nautobot/dcim/factory.py +7 -7
  36. nautobot/dcim/filters/__init__.py +17 -16
  37. nautobot/dcim/forms.py +45 -61
  38. nautobot/dcim/homepage.py +3 -11
  39. nautobot/dcim/migrations/0057_controller_models.py +70 -11
  40. nautobot/dcim/models/__init__.py +2 -2
  41. nautobot/dcim/models/devices.py +16 -14
  42. nautobot/dcim/models/racks.py +3 -1
  43. nautobot/dcim/navigation.py +31 -23
  44. nautobot/dcim/signals.py +6 -6
  45. nautobot/dcim/tables/__init__.py +2 -2
  46. nautobot/dcim/tables/devices.py +15 -12
  47. nautobot/dcim/tables/template_code.py +1 -1
  48. nautobot/dcim/templates/dcim/controller_retrieve.html +18 -35
  49. nautobot/dcim/templates/dcim/controllerdevicegroup_create.html +43 -0
  50. nautobot/dcim/templates/dcim/device/lldp_neighbors.html +43 -67
  51. nautobot/dcim/templates/dcim/device.html +2 -10
  52. nautobot/dcim/templates/dcim/device_edit.html +1 -1
  53. nautobot/dcim/tests/test_api.py +6 -11
  54. nautobot/dcim/tests/test_filters.py +81 -92
  55. nautobot/dcim/tests/test_graphql.py +1 -11
  56. nautobot/dcim/tests/test_models.py +15 -15
  57. nautobot/dcim/tests/test_signals.py +0 -2
  58. nautobot/dcim/tests/test_views.py +12 -24
  59. nautobot/dcim/urls.py +1 -1
  60. nautobot/dcim/views.py +15 -19
  61. nautobot/extras/api/urls.py +2 -1
  62. nautobot/extras/api/views.py +10 -0
  63. nautobot/extras/filters/__init__.py +2 -53
  64. nautobot/extras/forms/contacts.py +0 -7
  65. nautobot/extras/managers.py +0 -14
  66. nautobot/extras/navigation.py +65 -71
  67. nautobot/extras/plugins/views.py +11 -7
  68. nautobot/extras/tests/test_api.py +0 -2
  69. nautobot/extras/tests/test_dynamicgroups.py +0 -2
  70. nautobot/extras/tests/test_filters.py +4 -89
  71. nautobot/extras/tests/test_models.py +0 -9
  72. nautobot/extras/tests/test_relationships.py +1 -10
  73. nautobot/extras/tests/test_views.py +1 -112
  74. nautobot/extras/views.py +10 -10
  75. nautobot/ipam/api/urls.py +2 -1
  76. nautobot/ipam/api/views.py +11 -0
  77. nautobot/ipam/tables.py +22 -2
  78. nautobot/ipam/tests/test_graphql.py +3 -2
  79. nautobot/ipam/tests/test_views.py +0 -1
  80. nautobot/ipam/views.py +9 -9
  81. nautobot/project-static/css/base.css +0 -1
  82. nautobot/project-static/docs/404.html +3 -24
  83. nautobot/project-static/docs/apps/index.html +3 -24
  84. nautobot/project-static/docs/apps/nautobot-apps.html +3 -24
  85. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +3 -24
  86. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +3 -24
  87. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +5 -26
  88. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +3 -24
  89. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +3 -24
  90. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +3 -24
  91. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +3 -24
  92. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +3 -24
  93. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +3 -24
  94. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +3 -24
  95. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +3 -24
  96. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +3 -24
  97. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +3 -24
  98. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +3 -24
  99. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +3 -24
  100. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +3 -24
  101. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +3 -24
  102. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +3 -24
  103. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +3 -24
  104. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +3 -24
  105. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +3 -24
  106. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +3 -242
  107. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +5 -69
  108. nautobot/project-static/docs/development/apps/api/configuration-view.html +3 -24
  109. nautobot/project-static/docs/development/apps/api/database-backend-config.html +3 -24
  110. nautobot/project-static/docs/development/apps/api/models/django-admin.html +3 -24
  111. nautobot/project-static/docs/development/apps/api/models/global-search.html +3 -24
  112. nautobot/project-static/docs/development/apps/api/models/graphql.html +3 -24
  113. nautobot/project-static/docs/development/apps/api/models/index.html +3 -24
  114. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +3 -24
  115. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +3 -24
  116. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +3 -24
  117. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +3 -24
  118. nautobot/project-static/docs/development/apps/api/platform-features/index.html +3 -24
  119. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +3 -24
  120. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +3 -24
  121. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +3 -24
  122. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +3 -24
  123. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +3 -24
  124. nautobot/project-static/docs/development/apps/api/prometheus.html +3 -24
  125. nautobot/project-static/docs/development/apps/api/setup.html +3 -24
  126. nautobot/project-static/docs/development/apps/api/testing.html +3 -24
  127. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +3 -24
  128. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +3 -24
  129. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +3 -24
  130. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +3 -24
  131. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +3 -24
  132. nautobot/project-static/docs/development/apps/api/views/base-template.html +3 -24
  133. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +12 -38
  134. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +15 -41
  135. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +3 -24
  136. nautobot/project-static/docs/development/apps/api/views/index.html +3 -24
  137. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +3 -24
  138. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +3 -24
  139. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +3 -24
  140. nautobot/project-static/docs/development/apps/api/views/notes.html +3 -24
  141. nautobot/project-static/docs/development/apps/api/views/rest-api.html +3 -24
  142. nautobot/project-static/docs/development/apps/api/views/urls.html +3 -24
  143. nautobot/project-static/docs/development/apps/index.html +3 -24
  144. nautobot/project-static/docs/development/apps/migration/code-updates.html +3 -24
  145. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +3 -24
  146. nautobot/project-static/docs/development/apps/migration/from-v1.html +3 -24
  147. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +3 -24
  148. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +3 -24
  149. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +3 -24
  150. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +3 -24
  151. nautobot/project-static/docs/development/apps/porting-from-netbox.html +3 -24
  152. nautobot/project-static/docs/development/core/application-registry.html +3 -24
  153. nautobot/project-static/docs/development/core/best-practices.html +3 -24
  154. nautobot/project-static/docs/development/core/bootstrap-ui.html +3 -24
  155. nautobot/project-static/docs/development/core/caching.html +3 -24
  156. nautobot/project-static/docs/development/core/controllers.html +204 -35
  157. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +3 -24
  158. nautobot/project-static/docs/development/core/extending-models.html +3 -24
  159. nautobot/project-static/docs/development/core/generic-views.html +3 -24
  160. nautobot/project-static/docs/development/core/getting-started.html +13 -43
  161. nautobot/project-static/docs/development/core/homepage.html +3 -24
  162. nautobot/project-static/docs/development/core/index.html +3 -24
  163. nautobot/project-static/docs/development/core/model-features.html +3 -24
  164. nautobot/project-static/docs/development/core/natural-keys.html +3 -24
  165. nautobot/project-static/docs/development/core/navigation-menu.html +3 -24
  166. nautobot/project-static/docs/development/core/release-checklist.html +3 -24
  167. nautobot/project-static/docs/development/core/role-internals.html +3 -24
  168. nautobot/project-static/docs/development/core/settings.html +3 -24
  169. nautobot/project-static/docs/development/core/style-guide.html +3 -24
  170. nautobot/project-static/docs/development/core/templates.html +3 -24
  171. nautobot/project-static/docs/development/core/testing.html +3 -24
  172. nautobot/project-static/docs/development/core/user-preferences.html +3 -24
  173. nautobot/project-static/docs/development/index.html +3 -24
  174. nautobot/project-static/docs/development/jobs/index.html +3 -24
  175. nautobot/project-static/docs/development/jobs/migration/from-v1.html +3 -24
  176. nautobot/project-static/docs/index.html +3 -24
  177. nautobot/project-static/docs/models/dcim/{controllermanageddevicegroup.html → controllerdevicegroup.html} +3 -3
  178. nautobot/project-static/docs/objects.inv +0 -0
  179. nautobot/project-static/docs/release-notes/index.html +3 -24
  180. nautobot/project-static/docs/release-notes/version-1.0.html +3 -24
  181. nautobot/project-static/docs/release-notes/version-1.1.html +3 -24
  182. nautobot/project-static/docs/release-notes/version-1.2.html +3 -24
  183. nautobot/project-static/docs/release-notes/version-1.3.html +3 -24
  184. nautobot/project-static/docs/release-notes/version-1.4.html +3 -24
  185. nautobot/project-static/docs/release-notes/version-1.5.html +3 -24
  186. nautobot/project-static/docs/release-notes/version-1.6.html +3 -24
  187. nautobot/project-static/docs/release-notes/version-2.0.html +3 -24
  188. nautobot/project-static/docs/release-notes/version-2.1.html +162 -411
  189. nautobot/project-static/docs/release-notes/version-2.2.html +30 -212
  190. nautobot/project-static/docs/search/search_index.json +1 -1
  191. nautobot/project-static/docs/sitemap.xml +255 -260
  192. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  193. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +3 -24
  194. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +3 -24
  195. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +3 -24
  196. nautobot/project-static/docs/user-guide/administration/configuration/index.html +3 -24
  197. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +3 -24
  198. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +3 -24
  199. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +3 -24
  200. nautobot/project-static/docs/user-guide/administration/guides/caching.html +3 -24
  201. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +3 -24
  202. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +3 -24
  203. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +3 -24
  204. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +3 -24
  205. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +3 -24
  206. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +3 -24
  207. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +3 -24
  208. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +3 -24
  209. nautobot/project-static/docs/user-guide/administration/installation/docker.html +6 -31
  210. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +3 -24
  211. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +3 -24
  212. nautobot/project-static/docs/user-guide/administration/installation/index.html +3 -24
  213. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +3 -24
  214. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +3 -24
  215. nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +6 -27
  216. nautobot/project-static/docs/user-guide/administration/installation/services.html +3 -24
  217. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +3 -24
  218. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +3 -24
  219. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +3 -24
  220. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +3 -24
  221. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +3 -24
  222. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +3 -24
  223. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +3 -24
  224. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +3 -24
  225. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +3 -24
  226. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +3 -24
  227. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +3 -24
  228. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +3 -24
  229. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +3 -24
  230. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +3 -24
  231. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +3 -24
  232. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +3 -24
  233. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +3 -24
  234. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +3 -24
  235. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +3 -24
  236. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +3 -24
  237. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +3 -24
  238. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +3 -24
  239. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +3 -24
  240. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +11 -259
  241. nautobot/project-static/docs/user-guide/core-data-model/dcim/{controllermanageddevicegroup.html → controllerdevicegroup.html} +17 -107
  242. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +3 -24
  243. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +3 -24
  244. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +3 -24
  245. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +3 -24
  246. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +3 -24
  247. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +3 -24
  248. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +3 -24
  249. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +3 -24
  250. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +3 -24
  251. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +3 -24
  252. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +3 -24
  253. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +3 -24
  254. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +3 -24
  255. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +3 -24
  256. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +3 -24
  257. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +3 -24
  258. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +3 -24
  259. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +3 -24
  260. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +3 -24
  261. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +3 -24
  262. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +3 -24
  263. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +3 -24
  264. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +3 -24
  265. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +3 -24
  266. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +3 -24
  267. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +3 -24
  268. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +3 -24
  269. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +3 -24
  270. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +3 -24
  271. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +3 -24
  272. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +6 -27
  273. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +3 -24
  274. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +3 -24
  275. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +3 -24
  276. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +3 -24
  277. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +3 -24
  278. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +3 -24
  279. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +3 -24
  280. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +3 -24
  281. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +3 -24
  282. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +3 -24
  283. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +3 -24
  284. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +3 -24
  285. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +3 -24
  286. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +3 -24
  287. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +3 -24
  288. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +3 -24
  289. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +3 -24
  290. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +3 -24
  291. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +3 -24
  292. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +3 -24
  293. nautobot/project-static/docs/user-guide/feature-guides/{contacts-and-teams.html → contact-and-team.html} +4 -25
  294. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +5 -26
  295. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +3 -24
  296. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +3 -24
  297. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +3 -24
  298. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +3 -24
  299. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +3 -24
  300. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +3 -24
  301. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +5 -26
  302. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +3 -24
  303. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +3 -24
  304. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +3 -24
  305. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +3 -24
  306. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +3 -24
  307. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +3 -24
  308. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +3 -24
  309. nautobot/project-static/docs/user-guide/index.html +3 -24
  310. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +3 -24
  311. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +3 -24
  312. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +3 -24
  313. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +3 -24
  314. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +3 -24
  315. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +3 -24
  316. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +3 -24
  317. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +3 -24
  318. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +3 -24
  319. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +3 -24
  320. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +3 -24
  321. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +3 -24
  322. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +3 -24
  323. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +3 -24
  324. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +3 -24
  325. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +3 -24
  326. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +3 -24
  327. nautobot/project-static/docs/user-guide/platform-functionality/note.html +3 -24
  328. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +3 -24
  329. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +3 -24
  330. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +3 -24
  331. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +3 -24
  332. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +3 -24
  333. nautobot/project-static/docs/user-guide/platform-functionality/role.html +3 -24
  334. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +3 -24
  335. nautobot/project-static/docs/user-guide/platform-functionality/status.html +3 -24
  336. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +3 -24
  337. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +3 -24
  338. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +3 -24
  339. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +3 -24
  340. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +3 -24
  341. nautobot/tenancy/api/urls.py +2 -1
  342. nautobot/tenancy/api/views.py +12 -0
  343. nautobot/tenancy/tables.py +1 -1
  344. nautobot/tenancy/tests/test_views.py +0 -1
  345. nautobot/users/api/urls.py +2 -1
  346. nautobot/users/api/views.py +65 -2
  347. nautobot/users/views.py +8 -8
  348. nautobot/virtualization/api/urls.py +2 -1
  349. nautobot/virtualization/api/views.py +12 -0
  350. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/METADATA +3 -3
  351. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/RECORD +356 -361
  352. nautobot/core/tests/integration/test_view_authentication.py +0 -67
  353. nautobot/dcim/management/commands/migrate_location_contacts.py +0 -218
  354. nautobot/dcim/templates/dcim/controller_create.html +0 -70
  355. nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +0 -88
  356. nautobot/ipam/tests/test_tables.py +0 -42
  357. nautobot/project-static/docs/user-guide/administration/installation/health-checks.html +0 -8581
  358. /nautobot/dcim/templates/dcim/{controllermanageddevicegroup_retrieve.html → controllerdevicegroup_retrieve.html} +0 -0
  359. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/LICENSE.txt +0 -0
  360. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/NOTICE +0 -0
  361. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/WHEEL +0 -0
  362. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/entry_points.txt +0 -0
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -7705,21 +7684,16 @@
7705
7684
  <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="kn">import</span> <span class="n">HttpResponse</span>
7706
7685
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="kn">from</span> <span class="nn">django.views</span> <span class="kn">import</span> <span class="n">generic</span>
7707
7686
  <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>
7708
- <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="kn">from</span> <span class="nn">nautobot.apps.views</span> <span class="kn">import</span> <span class="n">ObjectPermissionRequiredMixin</span>
7709
- <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>
7710
- <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>
7711
- <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="k">class</span> <span class="nc">DeviceViewOverride</span><span class="p">(</span><span class="n">ObjectPermissionRequiredMixin</span><span class="p">,</span> <span class="n">generic</span><span class="o">.</span><span class="n">View</span><span class="p">):</span>
7712
- <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a> <span class="k">def</span> <span class="nf">get_required_permission</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
7713
- <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a> <span class="k">return</span> <span class="s2">&quot;dcim.view_device&quot;</span>
7687
+ <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>
7688
+ <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="k">class</span> <span class="nc">DeviceViewOverride</span><span class="p">(</span><span class="n">generic</span><span class="o">.</span><span class="n">View</span><span class="p">):</span>
7689
+ <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
7690
+ <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a> <span class="k">return</span> <span class="n">HttpResponse</span><span class="p">((</span><span class="s2">&quot;Hello world! I&#39;m a view which &quot;</span>
7691
+ <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a> <span class="s2">&quot;overrides the device object detail view.&quot;</span><span class="p">))</span>
7692
+ <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a>
7714
7693
  <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>
7715
- <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
7716
- <a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a> <span class="k">return</span> <span class="n">HttpResponse</span><span class="p">((</span><span class="s2">&quot;Hello world! I&#39;m a view which &quot;</span>
7717
- <a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a> <span class="s2">&quot;overrides the device object detail view.&quot;</span><span class="p">))</span>
7718
- <a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a>
7719
- <a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a>
7720
- <a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a><span class="n">override_views</span> <span class="o">=</span> <span class="p">{</span>
7721
- <a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a> <span class="s2">&quot;dcim:device&quot;</span><span class="p">:</span> <span class="n">DeviceViewOverride</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span>
7722
- <a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a><span class="p">}</span>
7694
+ <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a><span class="n">override_views</span> <span class="o">=</span> <span class="p">{</span>
7695
+ <a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a> <span class="s2">&quot;dcim:device&quot;</span><span class="p">:</span> <span class="n">DeviceViewOverride</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span>
7696
+ <a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a><span class="p">}</span>
7723
7697
  </code></pre></div>
7724
7698
 
7725
7699
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -7698,25 +7677,20 @@
7698
7677
  <p>The use of <code>generic</code> Django views can aid in app development. As an example, let's write a view which displays a random animal and the sound it makes. First, create the view in <code>views.py</code>:</p>
7699
7678
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="c1"># views.py</span>
7700
7679
  <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="kn">from</span> <span class="nn">django.shortcuts</span> <span class="kn">import</span> <span class="n">render</span>
7701
- <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
7702
- <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="kn">from</span> <span class="nn">nautobot.apps.views</span> <span class="kn">import</span> <span class="n">GenericView</span>
7703
- <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a>
7704
- <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a><span class="kn">from</span> <span class="nn">.models</span> <span class="kn">import</span> <span class="n">Animal</span>
7680
+ <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="kn">from</span> <span class="nn">django.views.generic</span> <span class="kn">import</span> <span class="n">View</span>
7681
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>
7682
+ <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a><span class="kn">from</span> <span class="nn">.models</span> <span class="kn">import</span> <span class="n">Animal</span>
7683
+ <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a>
7705
7684
  <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>
7706
- <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a>
7707
- <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="k">class</span> <span class="nc">RandomAnimalView</span><span class="p">(</span><span class="n">GenericView</span><span class="p">):</span>
7708
- <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Display a randomly-selected Animal.&quot;&quot;&quot;</span>
7709
- <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a>
7710
- <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
7711
- <a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a> <span class="n">animal</span> <span class="o">=</span> <span class="n">Animal</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;?&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
7712
- <a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;nautobot_animal_sounds/animal.html&#39;</span><span class="p">,</span> <span class="p">{</span>
7713
- <a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a> <span class="s1">&#39;animal&#39;</span><span class="p">:</span> <span class="n">animal</span><span class="p">,</span>
7714
- <a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a> <span class="p">})</span>
7685
+ <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a><span class="k">class</span> <span class="nc">RandomAnimalView</span><span class="p">(</span><span class="n">View</span><span class="p">):</span>
7686
+ <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Display a randomly-selected Animal.&quot;&quot;&quot;</span>
7687
+ <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a>
7688
+ <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a> <span class="k">def</span> <span class="nf">get</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">request</span><span class="p">):</span>
7689
+ <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a> <span class="n">animal</span> <span class="o">=</span> <span class="n">Animal</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">order_by</span><span class="p">(</span><span class="s1">&#39;?&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">first</span><span class="p">()</span>
7690
+ <a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a> <span class="k">return</span> <span class="n">render</span><span class="p">(</span><span class="n">request</span><span class="p">,</span> <span class="s1">&#39;nautobot_animal_sounds/animal.html&#39;</span><span class="p">,</span> <span class="p">{</span>
7691
+ <a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a> <span class="s1">&#39;animal&#39;</span><span class="p">:</span> <span class="n">animal</span><span class="p">,</span>
7692
+ <a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a> <span class="p">})</span>
7715
7693
  </code></pre></div>
7716
- <div class="admonition tip">
7717
- <p class="admonition-title">Tip</p>
7718
- <p>The <code>nautobot.apps.views.GenericView</code> class was added in Nautobot 1.6.16 and 2.1.9. If you're developing against an earlier version, you can use <code>django.views.generic.View</code> in combination with the <code>django.contrib.auth.mixins.LoginRequiredMixin</code> instead.</p>
7719
- </div>
7720
7694
  <p>This view retrieves a random animal from the database and and passes it as a context variable when rendering a template named <code>animal.html</code>, which doesn't exist yet. To create this template, first create a directory named <code>templates/nautobot_animal_sounds/</code> within the app source directory. (We use the app's name as a subdirectory to guard against naming collisions with other apps.) Then, create a template named <code>animal.html</code> as described below.</p>
7721
7695
 
7722
7696
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166