nautobot 2.4.16__py3-none-any.whl → 2.4.18__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 (434) hide show
  1. nautobot/apps/utils.py +2 -0
  2. nautobot/apps/views.py +2 -0
  3. nautobot/circuits/templates/circuits/circuittermination_retrieve.html +1 -8
  4. nautobot/circuits/templates/circuits/inc/circuit_termination_speed_fragment.html +9 -0
  5. nautobot/circuits/tests/integration/test_circuit.py +2 -2
  6. nautobot/circuits/views.py +32 -15
  7. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +3 -3
  8. nautobot/cloud/views.py +7 -0
  9. nautobot/core/apps/__init__.py +1 -0
  10. nautobot/core/celery/__init__.py +2 -1
  11. nautobot/core/filters.py +2 -2
  12. nautobot/core/settings.py +1 -0
  13. nautobot/core/settings.yaml +9 -0
  14. nautobot/core/tables.py +21 -23
  15. nautobot/core/templates/components/breadcrumbs.html +19 -0
  16. nautobot/core/templates/components/panel/panel.html +1 -1
  17. nautobot/core/templates/generic/object_changelog.html +0 -2
  18. nautobot/core/templates/generic/object_list.html +15 -12
  19. nautobot/core/templates/generic/object_notes.html +0 -2
  20. nautobot/core/templates/generic/object_retrieve.html +16 -9
  21. nautobot/core/templates/inc/paginator.html +3 -3
  22. nautobot/core/templates/inc/table.html +2 -2
  23. nautobot/core/templatetags/helpers.py +104 -6
  24. nautobot/core/templatetags/ui_framework.py +40 -5
  25. nautobot/core/testing/filters.py +37 -21
  26. nautobot/core/testing/mixins.py +1 -1
  27. nautobot/core/testing/views.py +27 -4
  28. nautobot/core/tests/test_tables.py +43 -6
  29. nautobot/core/tests/test_templatetags_ui_framework.py +146 -0
  30. nautobot/core/tests/test_titles.py +2 -2
  31. nautobot/core/tests/test_ui.py +14 -1
  32. nautobot/core/tests/test_views.py +45 -0
  33. nautobot/core/ui/breadcrumbs.py +13 -8
  34. nautobot/core/ui/bulk_buttons.py +53 -53
  35. nautobot/core/ui/object_detail.py +52 -9
  36. nautobot/core/ui/titles.py +9 -5
  37. nautobot/core/utils/data.py +13 -0
  38. nautobot/core/utils/deprecation.py +2 -0
  39. nautobot/core/views/__init__.py +24 -3
  40. nautobot/core/views/generic.py +42 -17
  41. nautobot/core/views/mixins.py +146 -12
  42. nautobot/core/views/utils.py +117 -0
  43. nautobot/dcim/migrations/0073_alter_powerport_power_factor_and_more.py +41 -0
  44. nautobot/dcim/models/device_component_templates.py +4 -2
  45. nautobot/dcim/models/device_components.py +3 -2
  46. nautobot/dcim/models/devices.py +4 -0
  47. nautobot/dcim/tables/__init__.py +2 -0
  48. nautobot/dcim/tables/devices.py +24 -0
  49. nautobot/dcim/tables/power.py +2 -2
  50. nautobot/dcim/templates/dcim/device/base.html +1 -11
  51. nautobot/dcim/templates/dcim/device_component.html +0 -19
  52. nautobot/dcim/templates/dcim/modulebay_retrieve.html +0 -16
  53. nautobot/dcim/templates/dcim/rack_elevation_list.html +4 -4
  54. nautobot/dcim/templates/dcim/virtualchassis_retrieve.html +1 -50
  55. nautobot/dcim/tests/test_views.py +41 -0
  56. nautobot/dcim/views.py +169 -39
  57. nautobot/extras/filters/mixins.py +1 -1
  58. nautobot/extras/forms/forms.py +15 -0
  59. nautobot/extras/models/customfields.py +45 -9
  60. nautobot/extras/models/groups.py +10 -1
  61. nautobot/extras/models/jobs.py +2 -2
  62. nautobot/extras/plugins/views.py +18 -5
  63. nautobot/extras/tables.py +4 -2
  64. nautobot/extras/templates/extras/configcontext_retrieve.html +1 -1
  65. nautobot/extras/templates/extras/configcontext_update.html +49 -49
  66. nautobot/extras/templates/extras/configcontextschema_retrieve.html +47 -47
  67. nautobot/extras/templates/extras/configcontextschema_update.html +18 -18
  68. nautobot/extras/templates/extras/customfield_retrieve.html +1 -128
  69. nautobot/extras/templates/extras/dynamicgroup.html +2 -99
  70. nautobot/extras/templates/extras/dynamicgroup_edit.html +2 -199
  71. nautobot/extras/templates/extras/dynamicgroup_retrieve.html +99 -0
  72. nautobot/extras/templates/extras/dynamicgroup_update.html +199 -0
  73. nautobot/extras/templates/extras/gitrepository.html +2 -82
  74. nautobot/extras/templates/extras/gitrepository_object_edit.html +2 -13
  75. nautobot/extras/templates/extras/gitrepository_retrieve.html +82 -0
  76. nautobot/extras/templates/extras/gitrepository_update.html +13 -0
  77. nautobot/extras/templates/extras/inc/job_table.html +1 -1
  78. nautobot/extras/templates/extras/inc/object_contact_header.html +2 -2
  79. nautobot/extras/templates/extras/note_retrieve.html +1 -53
  80. nautobot/extras/templates/extras/plugin_detail.html +3 -7
  81. nautobot/extras/templates/extras/plugins_list.html +0 -2
  82. nautobot/extras/templates/extras/tag_retrieve.html +1 -1
  83. nautobot/extras/templates/extras/tag_update.html +14 -14
  84. nautobot/extras/templates/extras/team_retrieve.html +1 -1
  85. nautobot/extras/tests/test_dynamicgroups.py +73 -18
  86. nautobot/extras/tests/test_models.py +216 -0
  87. nautobot/extras/tests/test_views.py +7 -2
  88. nautobot/extras/urls.py +2 -94
  89. nautobot/extras/views.py +425 -430
  90. nautobot/ipam/apps.py +1 -0
  91. nautobot/ipam/jobs/__init__.py +10 -0
  92. nautobot/ipam/jobs/cleanup.py +296 -0
  93. nautobot/ipam/models.py +301 -178
  94. nautobot/ipam/querysets.py +3 -3
  95. nautobot/ipam/signals.py +6 -1
  96. nautobot/ipam/templates/ipam/inc/ipadress_edit_header.html +3 -3
  97. nautobot/ipam/templates/ipam/inc/toggle_available.html +2 -2
  98. nautobot/ipam/templates/ipam/ipaddress_assign.html +1 -1
  99. nautobot/ipam/templates/ipam/prefix.html +0 -8
  100. nautobot/ipam/templates/ipam/prefix_list.html +1 -1
  101. nautobot/ipam/templates/ipam/vlan_retrieve.html +1 -77
  102. nautobot/ipam/tests/test_api.py +5 -0
  103. nautobot/ipam/tests/test_jobs.py +454 -0
  104. nautobot/ipam/tests/test_models.py +677 -122
  105. nautobot/ipam/tests/test_querysets.py +46 -0
  106. nautobot/ipam/tests/test_views.py +40 -164
  107. nautobot/ipam/urls.py +0 -11
  108. nautobot/ipam/utils/migrations.py +1 -1
  109. nautobot/ipam/utils/testing.py +9 -4
  110. nautobot/ipam/views.py +175 -235
  111. nautobot/project-static/docs/404.html +9 -6
  112. nautobot/project-static/docs/apps/index.html +9 -6
  113. nautobot/project-static/docs/apps/nautobot-apps.html +9 -6
  114. nautobot/project-static/docs/assets/javascripts/bundle.92b07e13.min.js +16 -0
  115. nautobot/project-static/docs/assets/javascripts/{bundle.50899def.min.js.map → bundle.92b07e13.min.js.map} +2 -2
  116. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js → search.973d3a69.min.js} +4 -4
  117. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js.map → search.973d3a69.min.js.map} +1 -1
  118. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +9 -6
  119. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +9 -6
  120. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +9 -6
  121. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +9 -6
  122. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +10 -7
  123. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +9 -6
  124. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +9 -6
  125. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +9 -6
  126. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +9 -6
  127. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +9 -6
  128. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +9 -6
  129. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +9 -6
  130. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +9 -6
  131. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +9 -6
  132. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +9 -6
  133. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +11 -8
  134. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +9 -6
  135. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +9 -6
  136. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +11 -8
  137. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +81 -6
  138. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +73 -18
  139. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +9 -6
  140. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +69 -7
  141. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +402 -21
  142. nautobot/project-static/docs/development/apps/api/configuration-view.html +13 -10
  143. nautobot/project-static/docs/development/apps/api/database-backend-config.html +11 -8
  144. nautobot/project-static/docs/development/apps/api/models/django-admin.html +13 -10
  145. nautobot/project-static/docs/development/apps/api/models/global-search.html +10 -7
  146. nautobot/project-static/docs/development/apps/api/models/graphql.html +18 -15
  147. nautobot/project-static/docs/development/apps/api/models/index.html +14 -11
  148. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +12 -9
  149. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +15 -12
  150. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +9 -6
  151. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +15 -12
  152. nautobot/project-static/docs/development/apps/api/platform-features/index.html +9 -6
  153. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +11 -8
  154. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +16 -13
  155. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +12 -10305
  156. nautobot/project-static/docs/development/apps/api/platform-features/prepopulating-data.html +10722 -0
  157. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +15 -12
  158. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +14 -11
  159. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +9 -6
  160. nautobot/project-static/docs/development/apps/api/prometheus.html +15 -12
  161. nautobot/project-static/docs/development/apps/api/setup.html +9 -6
  162. nautobot/project-static/docs/development/apps/api/testing.html +9 -6
  163. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +12 -9
  164. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +9 -6
  165. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +9 -6
  166. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +9 -6
  167. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +20 -17
  168. nautobot/project-static/docs/development/apps/api/views/base-template.html +9 -6
  169. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +15 -12
  170. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +14 -11
  171. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +9 -6
  172. nautobot/project-static/docs/development/apps/api/views/index.html +9 -6
  173. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +10 -7
  174. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +24 -21
  175. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +12 -9
  176. nautobot/project-static/docs/development/apps/api/views/notes.html +10 -7
  177. nautobot/project-static/docs/development/apps/api/views/rest-api.html +19 -16
  178. nautobot/project-static/docs/development/apps/api/views/urls.html +11 -8
  179. nautobot/project-static/docs/development/apps/index.html +9 -6
  180. nautobot/project-static/docs/development/apps/migration/code-updates.html +19 -16
  181. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +9 -6
  182. nautobot/project-static/docs/development/apps/migration/from-v1.html +9 -6
  183. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +22 -19
  184. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +9 -6
  185. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +9 -6
  186. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +9 -6
  187. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +9 -6
  188. nautobot/project-static/docs/development/apps/migration/ui-component-framework/breadcrumbs-titles.html +14 -11
  189. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +27 -24
  190. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +20 -17
  191. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +20 -17
  192. nautobot/project-static/docs/development/apps/porting-from-netbox.html +9 -6
  193. nautobot/project-static/docs/development/core/application-registry.html +23 -20
  194. nautobot/project-static/docs/development/core/best-practices.html +23 -20
  195. nautobot/project-static/docs/development/core/bootstrap-ui.html +9 -6
  196. nautobot/project-static/docs/development/core/caching.html +9 -6
  197. nautobot/project-static/docs/development/core/controllers.html +9 -6
  198. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +10 -7
  199. nautobot/project-static/docs/development/core/generic-views.html +9 -6
  200. nautobot/project-static/docs/development/core/getting-started.html +9 -21
  201. nautobot/project-static/docs/development/core/homepage.html +12 -9
  202. nautobot/project-static/docs/development/core/index.html +9 -6
  203. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9 -6
  204. nautobot/project-static/docs/development/core/model-checklist.html +9 -6
  205. nautobot/project-static/docs/development/core/model-features.html +11 -8
  206. nautobot/project-static/docs/development/core/natural-keys.html +21 -18
  207. nautobot/project-static/docs/development/core/navigation-menu.html +10 -7
  208. nautobot/project-static/docs/development/core/release-checklist.html +9 -6
  209. nautobot/project-static/docs/development/core/role-internals.html +9 -6
  210. nautobot/project-static/docs/development/core/settings.html +9 -6
  211. nautobot/project-static/docs/development/core/style-guide.html +32 -29
  212. nautobot/project-static/docs/development/core/templates.html +9 -6
  213. nautobot/project-static/docs/development/core/testing.html +10 -7
  214. nautobot/project-static/docs/development/core/ui-component-framework.html +42 -44
  215. nautobot/project-static/docs/development/core/user-preferences.html +9 -6
  216. nautobot/project-static/docs/development/index.html +9 -6
  217. nautobot/project-static/docs/development/jobs/getting-started.html +13 -10
  218. nautobot/project-static/docs/development/jobs/index.html +9 -6
  219. nautobot/project-static/docs/development/jobs/installation.html +23 -20
  220. nautobot/project-static/docs/development/jobs/job-extensions.html +25 -22
  221. nautobot/project-static/docs/development/jobs/job-logging.html +12 -9
  222. nautobot/project-static/docs/development/jobs/job-patterns.html +45 -42
  223. nautobot/project-static/docs/development/jobs/job-structure.html +53 -50
  224. nautobot/project-static/docs/development/jobs/migration/from-v1.html +23 -20
  225. nautobot/project-static/docs/development/jobs/testing.html +14 -11
  226. nautobot/project-static/docs/index.html +9 -6
  227. nautobot/project-static/docs/objects.inv +0 -0
  228. nautobot/project-static/docs/overview/application_stack.html +9 -6
  229. nautobot/project-static/docs/overview/design_philosophy.html +9 -6
  230. nautobot/project-static/docs/release-notes/index.html +9 -6
  231. nautobot/project-static/docs/release-notes/version-1.0.html +9 -6
  232. nautobot/project-static/docs/release-notes/version-1.1.html +9 -6
  233. nautobot/project-static/docs/release-notes/version-1.2.html +10 -7
  234. nautobot/project-static/docs/release-notes/version-1.3.html +9 -6
  235. nautobot/project-static/docs/release-notes/version-1.4.html +9 -6
  236. nautobot/project-static/docs/release-notes/version-1.5.html +13 -10
  237. nautobot/project-static/docs/release-notes/version-1.6.html +9 -6
  238. nautobot/project-static/docs/release-notes/version-2.0.html +9 -6
  239. nautobot/project-static/docs/release-notes/version-2.1.html +9 -6
  240. nautobot/project-static/docs/release-notes/version-2.2.html +9 -6
  241. nautobot/project-static/docs/release-notes/version-2.3.html +9 -6
  242. nautobot/project-static/docs/release-notes/version-2.4.html +489 -6
  243. nautobot/project-static/docs/search/search_index.json +1 -1
  244. nautobot/project-static/docs/sitemap.xml +301 -301
  245. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  246. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +15 -12
  247. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +9 -6
  248. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +16 -13
  249. nautobot/project-static/docs/user-guide/administration/configuration/index.html +9 -6
  250. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +9 -6
  251. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +38 -8
  252. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +9 -6
  253. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +9 -6
  254. nautobot/project-static/docs/user-guide/administration/guides/docker.html +9 -6
  255. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +9 -6
  256. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +9 -6
  257. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +9 -6
  258. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +9 -6
  259. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +9 -6
  260. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +16 -13
  261. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +9 -6
  262. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +9 -6
  263. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +9 -6
  264. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +9 -6
  265. nautobot/project-static/docs/user-guide/administration/installation/index.html +9 -6
  266. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +9 -6
  267. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +9 -6
  268. nautobot/project-static/docs/user-guide/administration/installation/services.html +12 -9
  269. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +13 -10
  270. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +10 -7
  271. nautobot/project-static/docs/user-guide/administration/security/index.html +9 -6
  272. nautobot/project-static/docs/user-guide/administration/security/notices.html +9 -6
  273. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +9 -6
  274. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +10 -7
  275. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +9 -6
  276. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +9 -6
  277. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +9 -6
  278. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +9 -6
  279. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +9 -6
  280. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +9 -6
  281. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +9 -6
  282. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +15 -12
  283. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +9 -6
  284. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +9 -6
  285. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +9 -6
  286. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +9 -6
  287. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +9 -6
  288. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +9 -6
  289. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +9 -6
  290. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +9 -6
  291. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +9 -6
  292. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +9 -6
  293. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +9 -6
  294. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +9 -6
  295. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +9 -6
  296. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +9 -6
  297. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +9 -6
  298. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +9 -6
  299. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +9 -6
  300. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +9 -6
  301. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +9 -6
  302. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +9 -6
  303. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +9 -6
  304. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +9 -6
  305. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +9 -6
  306. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +9 -6
  307. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +13 -10
  308. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +9 -6
  309. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +9 -6
  310. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +9 -6
  311. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +9 -6
  312. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +9 -6
  313. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +9 -6
  314. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +9 -6
  315. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +9 -6
  316. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +9 -6
  317. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +9 -6
  318. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +9 -6
  319. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +9 -6
  320. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +9 -6
  321. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +9 -6
  322. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +9 -6
  323. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +9 -6
  324. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +9 -6
  325. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +9 -6
  326. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +9 -6
  327. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +9 -6
  328. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +9 -6
  329. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +9 -6
  330. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +9 -6
  331. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +9 -6
  332. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +9 -6
  333. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +9 -6
  334. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +9 -6
  335. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +9 -6
  336. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +9 -6
  337. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +9 -6
  338. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +9 -6
  339. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +9 -6
  340. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +9 -6
  341. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +11 -8
  342. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +11 -8
  343. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +41 -41
  344. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +9 -6
  345. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +197 -54
  346. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +9 -6
  347. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +9 -6
  348. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +9 -6
  349. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +9 -6
  350. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +9 -6
  351. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +9 -6
  352. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +9 -6
  353. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +9 -6
  354. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +9 -6
  355. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +9 -6
  356. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +9 -6
  357. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +9 -6
  358. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +9 -6
  359. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +9 -6
  360. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +9 -6
  361. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +9 -6
  362. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +9 -6
  363. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +9 -6
  364. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +9 -6
  365. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +9 -6
  366. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +9 -6
  367. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +9 -6
  368. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +9 -6
  369. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +9 -6
  370. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +9 -6
  371. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +9 -6
  372. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +9 -6
  373. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +9 -6
  374. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +9 -6
  375. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +9 -6
  376. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +13 -10
  377. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +9 -6
  378. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +9 -6
  379. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +9 -6
  380. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9 -6
  381. nautobot/project-static/docs/user-guide/index.html +9 -6
  382. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +9 -6
  383. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +9 -6
  384. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +10 -7
  385. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +9 -6
  386. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +9 -6
  387. nautobot/project-static/docs/user-guide/platform-functionality/events.html +11 -8
  388. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +9 -6
  389. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +9 -6
  390. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +9 -6
  391. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +9 -6
  392. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +9 -6
  393. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +9 -6
  394. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +9 -6
  395. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +9 -6
  396. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +9 -6
  397. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +9 -6
  398. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +9 -6
  399. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9 -6
  400. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +9 -6
  401. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +9 -6
  402. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +9 -6
  403. nautobot/project-static/docs/user-guide/platform-functionality/note.html +9 -6
  404. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +12 -9
  405. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +9 -6
  406. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +9 -6
  407. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +9 -6
  408. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +9 -6
  409. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +9 -6
  410. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +9 -6
  411. nautobot/project-static/docs/user-guide/platform-functionality/role.html +9 -6
  412. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +9 -6
  413. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +11 -8
  414. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +9 -6
  415. nautobot/project-static/docs/user-guide/platform-functionality/status.html +9 -6
  416. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +9 -6
  417. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +9 -6
  418. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +9 -6
  419. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +9 -6
  420. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +9 -6
  421. nautobot/project-static/fonts/UFL.txt +96 -96
  422. nautobot/project-static/img/nautobot_icon.svg +32 -34
  423. nautobot/project-static/js/forms.js +35 -2
  424. nautobot/project-static/js/table_sorting_indicator.js +0 -2
  425. nautobot/virtualization/filters.py +7 -0
  426. {nautobot-2.4.16.dist-info → nautobot-2.4.18.dist-info}/METADATA +8 -8
  427. {nautobot-2.4.16.dist-info → nautobot-2.4.18.dist-info}/RECORD +431 -421
  428. nautobot/core/templates/inc/breadcrumbs.html +0 -14
  429. nautobot/project-static/docs/assets/javascripts/bundle.50899def.min.js +0 -16
  430. nautobot/project-static/docs/requirements.txt +0 -14
  431. {nautobot-2.4.16.dist-info → nautobot-2.4.18.dist-info}/LICENSE.txt +0 -0
  432. {nautobot-2.4.16.dist-info → nautobot-2.4.18.dist-info}/NOTICE +0 -0
  433. {nautobot-2.4.16.dist-info → nautobot-2.4.18.dist-info}/WHEEL +0 -0
  434. {nautobot-2.4.16.dist-info → nautobot-2.4.18.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7396,12 +7398,12 @@
7396
7398
 
7397
7399
 
7398
7400
  <li class="md-nav__item">
7399
- <a href="../../../development/apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7401
+ <a href="../../../development/apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7400
7402
 
7401
7403
 
7402
7404
 
7403
7405
  <span class="md-ellipsis">
7404
- Populating Extensibility Features
7406
+ Prepopulating Data
7405
7407
 
7406
7408
  </span>
7407
7409
 
@@ -9181,6 +9183,39 @@
9181
9183
  </ul>
9182
9184
  </nav>
9183
9185
 
9186
+ </li>
9187
+
9188
+ <li class="md-nav__item">
9189
+ <a href="#nautobot.apps.views.UIComponentsMixin" class="md-nav__link">
9190
+ <span class="md-ellipsis">
9191
+ UIComponentsMixin
9192
+ </span>
9193
+ </a>
9194
+
9195
+ <nav class="md-nav" aria-label="UIComponentsMixin">
9196
+ <ul class="md-nav__list">
9197
+
9198
+ <li class="md-nav__item">
9199
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="md-nav__link">
9200
+ <span class="md-ellipsis">
9201
+ get_breadcrumbs
9202
+ </span>
9203
+ </a>
9204
+
9205
+ </li>
9206
+
9207
+ <li class="md-nav__item">
9208
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_view_titles" class="md-nav__link">
9209
+ <span class="md-ellipsis">
9210
+ get_view_titles
9211
+ </span>
9212
+ </a>
9213
+
9214
+ </li>
9215
+
9216
+ </ul>
9217
+ </nav>
9218
+
9184
9219
  </li>
9185
9220
 
9186
9221
  <li class="md-nav__item">
@@ -11888,6 +11923,39 @@
11888
11923
  </ul>
11889
11924
  </nav>
11890
11925
 
11926
+ </li>
11927
+
11928
+ <li class="md-nav__item">
11929
+ <a href="#nautobot.apps.views.UIComponentsMixin" class="md-nav__link">
11930
+ <span class="md-ellipsis">
11931
+ UIComponentsMixin
11932
+ </span>
11933
+ </a>
11934
+
11935
+ <nav class="md-nav" aria-label="UIComponentsMixin">
11936
+ <ul class="md-nav__list">
11937
+
11938
+ <li class="md-nav__item">
11939
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="md-nav__link">
11940
+ <span class="md-ellipsis">
11941
+ get_breadcrumbs
11942
+ </span>
11943
+ </a>
11944
+
11945
+ </li>
11946
+
11947
+ <li class="md-nav__item">
11948
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_view_titles" class="md-nav__link">
11949
+ <span class="md-ellipsis">
11950
+ get_view_titles
11951
+ </span>
11952
+ </a>
11953
+
11954
+ </li>
11955
+
11956
+ </ul>
11957
+ </nav>
11958
+
11891
11959
  </li>
11892
11960
 
11893
11961
  <li class="md-nav__item">
@@ -12070,7 +12138,7 @@
12070
12138
 
12071
12139
  <div class="doc doc-contents ">
12072
12140
  <p class="doc doc-class-bases">
12073
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12141
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12074
12142
 
12075
12143
 
12076
12144
  <p>Add one or more components (e.g. interfaces, console ports, etc.) to a set of Devices or VirtualMachines.</p>
@@ -12115,7 +12183,7 @@
12115
12183
 
12116
12184
  <div class="doc doc-contents ">
12117
12185
  <p class="doc doc-class-bases">
12118
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12186
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12119
12187
 
12120
12188
 
12121
12189
  <p>Create new objects in bulk.</p>
@@ -12165,7 +12233,7 @@ template_name: The name of the template</p>
12165
12233
 
12166
12234
  <div class="doc doc-contents ">
12167
12235
  <p class="doc doc-class-bases">
12168
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12236
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12169
12237
 
12170
12238
 
12171
12239
  <p>Delete objects in bulk.</p>
@@ -12233,7 +12301,7 @@ template_name: The name of the template</p>
12233
12301
 
12234
12302
  <div class="doc doc-contents ">
12235
12303
  <p class="doc doc-class-bases">
12236
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12304
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12237
12305
 
12238
12306
 
12239
12307
  <p>Edit objects in bulk.</p>
@@ -12301,7 +12369,7 @@ template_name: The name of the template</p>
12301
12369
 
12302
12370
  <div class="doc doc-contents ">
12303
12371
  <p class="doc doc-class-bases">
12304
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12372
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12305
12373
 
12306
12374
 
12307
12375
  <p>Import objects in bulk (CSV format).</p>
@@ -12350,7 +12418,7 @@ template_name: The name of the template</p>
12350
12418
 
12351
12419
  <div class="doc doc-contents ">
12352
12420
  <p class="doc doc-class-bases">
12353
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12421
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12354
12422
 
12355
12423
 
12356
12424
  <p>An extendable view for renaming objects in bulk.</p>
@@ -12468,7 +12536,7 @@ template_name: The name of the template</p>
12468
12536
 
12469
12537
  <div class="doc doc-contents ">
12470
12538
  <p class="doc doc-class-bases">
12471
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12539
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12472
12540
 
12473
12541
 
12474
12542
  <p>Add one or more components (e.g. interfaces, console ports, etc.) to a Device or VirtualMachine.</p>
@@ -12583,7 +12651,7 @@ and fits within Nautobot's custom permission enforcement system.</p>
12583
12651
 
12584
12652
  <div class="doc doc-contents ">
12585
12653
  <p class="doc doc-class-bases">
12586
- Bases: <code><span title="django.contrib.auth.mixins.LoginRequiredMixin">LoginRequiredMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12654
+ Bases: <code><span title="django.contrib.auth.mixins.LoginRequiredMixin">LoginRequiredMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12587
12655
 
12588
12656
 
12589
12657
  <p>Base class for non-object-related views.</p>
@@ -12596,6 +12664,22 @@ and fits within Nautobot's custom permission enforcement system.</p>
12596
12664
 
12597
12665
 
12598
12666
 
12667
+
12668
+
12669
+ <div class="doc doc-children">
12670
+
12671
+
12672
+
12673
+
12674
+
12675
+
12676
+
12677
+
12678
+
12679
+
12680
+
12681
+ </div>
12682
+
12599
12683
  </div>
12600
12684
 
12601
12685
  </div>
@@ -12860,10 +12944,10 @@ and then initialize and return the filter_form used in the ObjectListView UI.</p
12860
12944
 
12861
12945
  <div class="doc doc-contents ">
12862
12946
  <p class="doc doc-class-bases">
12863
- Bases: <code><span title="rest_framework.viewsets.GenericViewSet">GenericViewSet</span></code>, <code><span title="django.contrib.auth.mixins.AccessMixin">AccessMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><span title="django.views.generic.edit.FormView">FormView</span></code></p>
12947
+ Bases: <code><span title="rest_framework.viewsets.GenericViewSet">GenericViewSet</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><span title="django.contrib.auth.mixins.AccessMixin">AccessMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><span title="django.views.generic.edit.FormView">FormView</span></code></p>
12864
12948
 
12865
12949
 
12866
- <p>NautobotViewSetMixin is an aggregation of various mixins from DRF, Django and Nautobot to acheive the desired behavior pattern for NautobotUIViewSet</p>
12950
+ <p>NautobotViewSetMixin is an aggregation of various mixins from DRF, Django and Nautobot to achieve the desired behavior pattern for NautobotUIViewSet</p>
12867
12951
 
12868
12952
 
12869
12953
 
@@ -13457,7 +13541,7 @@ will be used, as per <code>get_base_template()</code>.</p>
13457
13541
 
13458
13542
  <div class="doc doc-contents ">
13459
13543
  <p class="doc doc-class-bases">
13460
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13544
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13461
13545
 
13462
13546
 
13463
13547
  <p>Delete a single object.</p>
@@ -13721,7 +13805,7 @@ will be used, as per <code>get_base_template()</code>.</p>
13721
13805
 
13722
13806
  <div class="doc doc-contents ">
13723
13807
  <p class="doc doc-class-bases">
13724
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13808
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13725
13809
 
13726
13810
 
13727
13811
  <p>Create or edit a single object.</p>
@@ -14050,7 +14134,7 @@ Override to add more variables to Response.</p>
14050
14134
 
14051
14135
  <div class="doc doc-contents ">
14052
14136
  <p class="doc doc-class-bases">
14053
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14137
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14054
14138
 
14055
14139
 
14056
14140
  <p>Import a single object (YAML or JSON format).</p>
@@ -14099,7 +14183,7 @@ template_name: The name of the template</p>
14099
14183
 
14100
14184
  <div class="doc doc-contents ">
14101
14185
  <p class="doc doc-class-bases">
14102
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14186
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14103
14187
 
14104
14188
 
14105
14189
  <p>List a series of objects.</p>
@@ -14479,7 +14563,7 @@ to return only those objects on which the user is permitted to perform the speci
14479
14563
 
14480
14564
  <div class="doc doc-contents ">
14481
14565
  <p class="doc doc-class-bases">
14482
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14566
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14483
14567
 
14484
14568
 
14485
14569
  <p>Retrieve a single object for display.</p>
@@ -14631,6 +14715,302 @@ template_name: Name of the template to use</p>
14631
14715
 
14632
14716
 
14633
14717
 
14718
+ </div>
14719
+
14720
+ </div>
14721
+
14722
+ </div>
14723
+
14724
+ <div class="doc doc-object doc-class">
14725
+
14726
+
14727
+
14728
+ <h2 id="nautobot.apps.views.UIComponentsMixin" class="doc doc-heading">
14729
+ <code>nautobot.apps.views.UIComponentsMixin</code>
14730
+
14731
+
14732
+ <a href="#nautobot.apps.views.UIComponentsMixin" class="headerlink" title="Permanent link">&para;</a></h2>
14733
+
14734
+
14735
+ <div class="doc doc-contents ">
14736
+
14737
+
14738
+ <p>Mixin that resolves UI components (e.g., breadcrumbs, titles) either from:
14739
+ 1) the current view class (preferred),
14740
+ 2) a related view class for a given model (via <code>lookup.get_view_for_model()</code>),
14741
+ 3) or a default component class.</p>
14742
+ <p>The public helpers (<code>get_view_titles()</code>, <code>get_breadcrumbs()</code>) return concrete
14743
+ component <em>instances</em> ready to use in renderers/templates.</p>
14744
+ <p>It should be used in views that use the <code>nautobot.apps.views.GenericView</code> and standard Nautobot templates.</p>
14745
+ <p>Example usage:
14746
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>def get(self, request, *args, **kwargs):
14747
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a> context = {
14748
+ <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a> ...
14749
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a> &quot;breadcrumbs&quot;: self.get_breadcrumbs(model),
14750
+ <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> }
14751
+ <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> context[&quot;title&quot;] = self.get_view_titles(model).render(context)
14752
+ <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>
14753
+ <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a> return render(
14754
+ <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a> request,
14755
+ <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a> &quot;extras/plugins_list.html&quot;,
14756
+ <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a> context,
14757
+ <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a> )
14758
+ </code></pre></div></p>
14759
+
14760
+
14761
+ <p><span class="doc-section-title">Attributes:</span></p>
14762
+ <table>
14763
+ <thead>
14764
+ <tr>
14765
+ <th>Name</th>
14766
+ <th>Type</th>
14767
+ <th>Description</th>
14768
+ </tr>
14769
+ </thead>
14770
+ <tbody>
14771
+ <tr class="doc-section-item">
14772
+ <td><code><span title="nautobot.apps.views.UIComponentsMixin.breadcrumbs">breadcrumbs</span></code></td>
14773
+ <td>
14774
+ <code><span title="typing.ClassVar">ClassVar</span>[<span title="typing.Optional">Optional</span>[<a class="autorefs autorefs-internal" title="nautobot.apps.ui.Breadcrumbs (nautobot.core.ui.breadcrumbs.Breadcrumbs)" href="ui.html#nautobot.apps.ui.Breadcrumbs">Breadcrumbs</a>]]</code>
14775
+ </td>
14776
+ <td>
14777
+ <div class="doc-md-description">
14778
+ <p>Optional component declared on the view class. May be:
14779
+ - <code>None</code> (no local definition, fall back),
14780
+ - a component <em>class</em> (will be instantiated),
14781
+ - or a pre-instantiated component (returned as-is).</p>
14782
+ </div>
14783
+ </td>
14784
+ </tr>
14785
+ <tr class="doc-section-item">
14786
+ <td><code><span title="nautobot.apps.views.UIComponentsMixin.view_titles">view_titles</span></code></td>
14787
+ <td>
14788
+ <code><span title="typing.ClassVar">ClassVar</span>[<span title="typing.Optional">Optional</span>[<a class="autorefs autorefs-internal" title="nautobot.apps.ui.Titles (nautobot.core.ui.titles.Titles)" href="ui.html#nautobot.apps.ui.Titles">Titles</a>]]</code>
14789
+ </td>
14790
+ <td>
14791
+ <div class="doc-md-description">
14792
+ <p>Same contract as <code>breadcrumbs</code>,
14793
+ but for titles.</p>
14794
+ </div>
14795
+ </td>
14796
+ </tr>
14797
+ </tbody>
14798
+ </table>
14799
+
14800
+
14801
+
14802
+
14803
+
14804
+
14805
+
14806
+
14807
+
14808
+
14809
+ <div class="doc doc-children">
14810
+
14811
+
14812
+
14813
+
14814
+
14815
+
14816
+
14817
+
14818
+
14819
+ <div class="doc doc-object doc-function">
14820
+
14821
+
14822
+ <h3 id="nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="doc doc-heading">
14823
+ <code class="highlight language-python"><span class="n">get_breadcrumbs</span><span class="p">(</span><span class="n">model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">view_type</span><span class="o">=</span><span class="s1">&#39;List&#39;</span><span class="p">)</span></code>
14824
+
14825
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="headerlink" title="Permanent link">&para;</a></h3>
14826
+
14827
+
14828
+ <div class="doc doc-contents ">
14829
+
14830
+ <p>Resolve and return the <code>Breadcrumbs</code> component instance.</p>
14831
+ <p>Resolution order mirrors <code>get_view_titles()</code>:
14832
+ 1) Use <code>self.breadcrumbs</code> if set locally.
14833
+ 2) Else, if <code>model</code> is provided, copy the <code>breadcrumbs</code> from the view
14834
+ class associated with that model via <code>lookup.get_view_for_model(model, action)</code>.
14835
+ 3) Else return a new default <code>Breadcrumbs()</code>.</p>
14836
+
14837
+
14838
+ <p><span class="doc-section-title">Parameters:</span></p>
14839
+ <table>
14840
+ <thead>
14841
+ <tr>
14842
+ <th>Name</th>
14843
+ <th>Type</th>
14844
+ <th>Description</th>
14845
+ <th>Default</th>
14846
+ </tr>
14847
+ </thead>
14848
+ <tbody>
14849
+ <tr class="doc-section-item">
14850
+ <td>
14851
+ <code>model</code>
14852
+ </td>
14853
+ <td>
14854
+ <code><span title="typing.Union">Union</span>[None, <span title="str">str</span>, <span title="typing.Type">Type</span>[<span title="django.db.models.Model">Model</span>], <span title="django.db.models.Model">Model</span>]</code>
14855
+ </td>
14856
+ <td>
14857
+ <div class="doc-md-description">
14858
+ <p>A Django model <strong>class</strong>, <strong>instance</strong>, dotted name string, or <code>None</code>.
14859
+ Passed to <code>lookup.get_view_for_model()</code> to find the related view class.
14860
+ If <code>None</code>, only local/default resolution is used.</p>
14861
+ </div>
14862
+ </td>
14863
+ <td>
14864
+ <code>None</code>
14865
+ </td>
14866
+ </tr>
14867
+ <tr class="doc-section-item">
14868
+ <td>
14869
+ <code>view_type</code>
14870
+ </td>
14871
+ <td>
14872
+ <code><span title="str">str</span></code>
14873
+ </td>
14874
+ <td>
14875
+ <div class="doc-md-description">
14876
+ <p>Logical view type used by <code>lookup.get_view_for_model()</code> (e.g., <code>"List"</code> or empty to construct <code>"DeviceView"</code> string).</p>
14877
+ </div>
14878
+ </td>
14879
+ <td>
14880
+ <code>&#39;List&#39;</code>
14881
+ </td>
14882
+ </tr>
14883
+ </tbody>
14884
+ </table>
14885
+
14886
+
14887
+ <p><span class="doc-section-title">Returns:</span></p>
14888
+ <table>
14889
+ <thead>
14890
+ <tr>
14891
+ <th>Name</th> <th>Type</th>
14892
+ <th>Description</th>
14893
+ </tr>
14894
+ </thead>
14895
+ <tbody>
14896
+ <tr class="doc-section-item">
14897
+ <td><code>Breadcrumbs</code></td> <td>
14898
+ <code><a class="autorefs autorefs-internal" title="nautobot.apps.ui.Breadcrumbs (nautobot.core.ui.breadcrumbs.Breadcrumbs)" href="ui.html#nautobot.apps.ui.Breadcrumbs">Breadcrumbs</a></code>
14899
+ </td>
14900
+ <td>
14901
+ <div class="doc-md-description">
14902
+ <p>A concrete <code>Breadcrumbs</code> component instance.</p>
14903
+ </div>
14904
+ </td>
14905
+ </tr>
14906
+ </tbody>
14907
+ </table>
14908
+
14909
+
14910
+ </div>
14911
+
14912
+ </div>
14913
+
14914
+ <div class="doc doc-object doc-function">
14915
+
14916
+
14917
+ <h3 id="nautobot.apps.views.UIComponentsMixin.get_view_titles" class="doc doc-heading">
14918
+ <code class="highlight language-python"><span class="n">get_view_titles</span><span class="p">(</span><span class="n">model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">view_type</span><span class="o">=</span><span class="s1">&#39;List&#39;</span><span class="p">)</span></code>
14919
+
14920
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_view_titles" class="headerlink" title="Permanent link">&para;</a></h3>
14921
+
14922
+
14923
+ <div class="doc doc-contents ">
14924
+
14925
+ <p>Resolve and return the <code>Titles</code> component instance.</p>
14926
+
14927
+
14928
+ <details class="resolution-order" open>
14929
+ <summary>Resolution order</summary>
14930
+ <p>1) If <code>self.view_titles</code> is set on the current view, use it.
14931
+ 2) Else, if <code>model</code> is provided, copy the <code>view_titles</code> from the view
14932
+ class associated with that model via <code>lookup.get_view_for_model(model, action)</code>.
14933
+ 3) Else, instantiate and return the default <code>Titles()</code>.</p>
14934
+ </details>
14935
+
14936
+ <p><span class="doc-section-title">Parameters:</span></p>
14937
+ <table>
14938
+ <thead>
14939
+ <tr>
14940
+ <th>Name</th>
14941
+ <th>Type</th>
14942
+ <th>Description</th>
14943
+ <th>Default</th>
14944
+ </tr>
14945
+ </thead>
14946
+ <tbody>
14947
+ <tr class="doc-section-item">
14948
+ <td>
14949
+ <code>model</code>
14950
+ </td>
14951
+ <td>
14952
+ <code><span title="typing.Union">Union</span>[None, <span title="str">str</span>, <span title="typing.Type">Type</span>[<span title="django.db.models.Model">Model</span>], <span title="django.db.models.Model">Model</span>]</code>
14953
+ </td>
14954
+ <td>
14955
+ <div class="doc-md-description">
14956
+ <p>A Django model <strong>class</strong>, <strong>instance</strong>, dotted name string, or <code>None</code>.
14957
+ Passed to <code>lookup.get_view_for_model()</code> to find the related view class.
14958
+ If <code>None</code>, only local/default resolution is used.</p>
14959
+ </div>
14960
+ </td>
14961
+ <td>
14962
+ <code>None</code>
14963
+ </td>
14964
+ </tr>
14965
+ <tr class="doc-section-item">
14966
+ <td>
14967
+ <code>view_type</code>
14968
+ </td>
14969
+ <td>
14970
+ <code><span title="str">str</span></code>
14971
+ </td>
14972
+ <td>
14973
+ <div class="doc-md-description">
14974
+ <p>Logical view type used by <code>lookup.get_view_for_model()</code> (e.g., <code>"List"</code> or empty to construct <code>"DeviceView"</code> string).</p>
14975
+ </div>
14976
+ </td>
14977
+ <td>
14978
+ <code>&#39;List&#39;</code>
14979
+ </td>
14980
+ </tr>
14981
+ </tbody>
14982
+ </table>
14983
+
14984
+
14985
+ <p><span class="doc-section-title">Returns:</span></p>
14986
+ <table>
14987
+ <thead>
14988
+ <tr>
14989
+ <th>Name</th> <th>Type</th>
14990
+ <th>Description</th>
14991
+ </tr>
14992
+ </thead>
14993
+ <tbody>
14994
+ <tr class="doc-section-item">
14995
+ <td><code>Titles</code></td> <td>
14996
+ <code><a class="autorefs autorefs-internal" title="nautobot.apps.ui.Titles (nautobot.core.ui.titles.Titles)" href="ui.html#nautobot.apps.ui.Titles">Titles</a></code>
14997
+ </td>
14998
+ <td>
14999
+ <div class="doc-md-description">
15000
+ <p>A concrete <code>Titles</code> component instance ready to use.</p>
15001
+ </div>
15002
+ </td>
15003
+ </tr>
15004
+ </tbody>
15005
+ </table>
15006
+
15007
+
15008
+ </div>
15009
+
15010
+ </div>
15011
+
15012
+
15013
+
14634
15014
  </div>
14635
15015
 
14636
15016
  </div>
@@ -14984,7 +15364,8 @@ applicable.</p>
14984
15364
  <!-- RTD version flyout injected on live site -->
14985
15365
  <div id="readthedocs-embed-flyout"></div>
14986
15366
 
14987
- <div class="md-social">
15367
+
15368
+ <div class="md-social">
14988
15369
 
14989
15370
 
14990
15371
 
@@ -15040,10 +15421,10 @@ applicable.</p>
15040
15421
 
15041
15422
 
15042
15423
 
15043
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
15424
+ <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
15044
15425
 
15045
15426
 
15046
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
15427
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
15047
15428
 
15048
15429
 
15049
15430
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});