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
 
@@ -8797,6 +8799,15 @@
8797
8799
  </span>
8798
8800
  </a>
8799
8801
 
8802
+ </li>
8803
+
8804
+ <li class="md-nav__item">
8805
+ <a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_no_distinct_on_empty_filter_params" class="md-nav__link">
8806
+ <span class="md-ellipsis">
8807
+ test_no_distinct_on_empty_filter_params
8808
+ </span>
8809
+ </a>
8810
+
8800
8811
  </li>
8801
8812
 
8802
8813
  <li class="md-nav__item">
@@ -9634,6 +9645,15 @@
9634
9645
  </span>
9635
9646
  </a>
9636
9647
 
9648
+ </li>
9649
+
9650
+ <li class="md-nav__item">
9651
+ <a href="#nautobot.apps.testing.ViewTestCases.ListObjectsViewTestCase.test_model_properties_as_table_columns_are_not_orderable" class="md-nav__link">
9652
+ <span class="md-ellipsis">
9653
+ test_model_properties_as_table_columns_are_not_orderable
9654
+ </span>
9655
+ </a>
9656
+
9637
9657
  </li>
9638
9658
 
9639
9659
  </ul>
@@ -12187,6 +12207,15 @@
12187
12207
  </span>
12188
12208
  </a>
12189
12209
 
12210
+ </li>
12211
+
12212
+ <li class="md-nav__item">
12213
+ <a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_no_distinct_on_empty_filter_params" class="md-nav__link">
12214
+ <span class="md-ellipsis">
12215
+ test_no_distinct_on_empty_filter_params
12216
+ </span>
12217
+ </a>
12218
+
12190
12219
  </li>
12191
12220
 
12192
12221
  <li class="md-nav__item">
@@ -13024,6 +13053,15 @@
13024
13053
  </span>
13025
13054
  </a>
13026
13055
 
13056
+ </li>
13057
+
13058
+ <li class="md-nav__item">
13059
+ <a href="#nautobot.apps.testing.ViewTestCases.ListObjectsViewTestCase.test_model_properties_as_table_columns_are_not_orderable" class="md-nav__link">
13060
+ <span class="md-ellipsis">
13061
+ test_model_properties_as_table_columns_are_not_orderable
13062
+ </span>
13063
+ </a>
13064
+
13027
13065
  </li>
13028
13066
 
13029
13067
  </ul>
@@ -14626,6 +14664,24 @@ This expects a field named <code>devices</code> on the model and a filter named
14626
14664
  <div class="doc doc-object doc-function">
14627
14665
 
14628
14666
 
14667
+ <h4 id="nautobot.apps.testing.FilterTestCases.FilterTestCase.test_no_distinct_on_empty_filter_params" class="doc doc-heading">
14668
+ <code class="highlight language-python"><span class="n">test_no_distinct_on_empty_filter_params</span><span class="p">()</span></code>
14669
+
14670
+ <a href="#nautobot.apps.testing.FilterTestCases.FilterTestCase.test_no_distinct_on_empty_filter_params" class="headerlink" title="Permanent link">&para;</a></h4>
14671
+
14672
+
14673
+ <div class="doc doc-contents ">
14674
+
14675
+ <p>Verify that an empty filterset doesn't cause a <code>SELECT DISTINCT</code>.</p>
14676
+
14677
+
14678
+ </div>
14679
+
14680
+ </div>
14681
+
14682
+ <div class="doc doc-object doc-function">
14683
+
14684
+
14629
14685
  <h4 id="nautobot.apps.testing.FilterTestCases.FilterTestCase.test_q_filter_valid" class="doc doc-heading">
14630
14686
  <code class="highlight language-python"><span class="n">test_q_filter_valid</span><span class="p">()</span></code>
14631
14687
 
@@ -17088,6 +17144,24 @@ statuses present in the database in order to run tests.</p>
17088
17144
 
17089
17145
  </div>
17090
17146
 
17147
+ <div class="doc doc-object doc-function">
17148
+
17149
+
17150
+ <h4 id="nautobot.apps.testing.ViewTestCases.ListObjectsViewTestCase.test_model_properties_as_table_columns_are_not_orderable" class="doc doc-heading">
17151
+ <code class="highlight language-python"><span class="n">test_model_properties_as_table_columns_are_not_orderable</span><span class="p">()</span></code>
17152
+
17153
+ <a href="#nautobot.apps.testing.ViewTestCases.ListObjectsViewTestCase.test_model_properties_as_table_columns_are_not_orderable" class="headerlink" title="Permanent link">&para;</a></h4>
17154
+
17155
+
17156
+ <div class="doc doc-contents ">
17157
+
17158
+ <p>Check for table columns that are property-based and not orderable.</p>
17159
+
17160
+
17161
+ </div>
17162
+
17163
+ </div>
17164
+
17091
17165
 
17092
17166
 
17093
17167
  </div>
@@ -17691,7 +17765,8 @@ document$.subscribe(() => { lightbox.reload() });
17691
17765
  <!-- RTD version flyout injected on live site -->
17692
17766
  <div id="readthedocs-embed-flyout"></div>
17693
17767
 
17694
- <div class="md-social">
17768
+
17769
+ <div class="md-social">
17695
17770
 
17696
17771
 
17697
17772
 
@@ -17747,10 +17822,10 @@ document$.subscribe(() => { lightbox.reload() });
17747
17822
 
17748
17823
 
17749
17824
 
17750
- <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>
17825
+ <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>
17751
17826
 
17752
17827
 
17753
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
17828
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
17754
17829
 
17755
17830
 
17756
17831
  </body>
@@ -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
 
@@ -14074,7 +14076,7 @@ if you need them in your custom action.</p>
14074
14076
 
14075
14077
 
14076
14078
  <h3 id="nautobot.apps.ui.Breadcrumbs.__init__" class="doc doc-heading">
14077
- <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">items</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">template</span><span class="o">=</span><span class="s1">&#39;inc/breadcrumbs.html&#39;</span><span class="p">)</span></code>
14079
+ <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="n">items</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">template</span><span class="o">=</span><span class="s1">&#39;components/breadcrumbs.html&#39;</span><span class="p">)</span></code>
14078
14080
 
14079
14081
  <a href="#nautobot.apps.ui.Breadcrumbs.__init__" class="headerlink" title="Permanent link">&para;</a></h3>
14080
14082
 
@@ -14124,7 +14126,7 @@ if you need them in your custom action.</p>
14124
14126
  </div>
14125
14127
  </td>
14126
14128
  <td>
14127
- <code>&#39;inc/breadcrumbs.html&#39;</code>
14129
+ <code>&#39;components/breadcrumbs.html&#39;</code>
14128
14130
  </td>
14129
14131
  </tr>
14130
14132
  </tbody>
@@ -14169,7 +14171,7 @@ if you need them in your custom action.</p>
14169
14171
  </td>
14170
14172
  <td>
14171
14173
  <div class="doc-md-description">
14172
- <p>breadcrumb items pair.s</p>
14174
+ <p>breadcrumb items pairs.</p>
14173
14175
  </div>
14174
14176
  </td>
14175
14177
  <td>
@@ -14385,8 +14387,7 @@ Please ote that you can't override <code>breadcrumb_items</code> here because it
14385
14387
 
14386
14388
  <div class="doc doc-contents ">
14387
14389
 
14388
- <p>Get the breadcrumb items for a specific action, with fallback to 'detail' if not found
14389
- and to asterisk (*) if present.</p>
14390
+ <p>Get the breadcrumb items for a specific action, 'detail' or to asterisk (*) if present.</p>
14390
14391
 
14391
14392
 
14392
14393
  <p><span class="doc-section-title">Parameters:</span></p>
@@ -16616,7 +16617,7 @@ Label will be generated from object, but you can still override it.</p>
16616
16617
 
16617
16618
 
16618
16619
  <h3 id="nautobot.apps.ui.KeyValueTablePanel.__init__" class="doc doc-heading">
16619
- <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">context_data_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">hide_if_unset</span><span class="o">=</span><span class="p">(),</span> <span class="n">value_transforms</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">body_wrapper_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_wrapper_key_value_table.html&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
16620
+ <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">context_data_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">hide_if_unset</span><span class="o">=</span><span class="p">(),</span> <span class="n">value_transforms</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">key_transforms</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">body_wrapper_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_wrapper_key_value_table.html&#39;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
16620
16621
 
16621
16622
  <a href="#nautobot.apps.ui.KeyValueTablePanel.__init__" class="headerlink" title="Permanent link">&para;</a></h3>
16622
16623
 
@@ -16709,6 +16710,23 @@ Many of the <code>templatetags.helpers</code> functions are suitable for this pu
16709
16710
  <code>None</code>
16710
16711
  </td>
16711
16712
  </tr>
16713
+ <tr class="doc-section-item">
16714
+ <td>
16715
+ <code>key_transforms</code>
16716
+ </td>
16717
+ <td>
16718
+ <code><span title="dict">dict</span></code>
16719
+ </td>
16720
+ <td>
16721
+ <div class="doc-md-description">
16722
+ <p>A mapping of original field names to custom display names to be used when rendering keys
16723
+ For example: {'content_types': 'Content Type'}.</p>
16724
+ </div>
16725
+ </td>
16726
+ <td>
16727
+ <code>None</code>
16728
+ </td>
16729
+ </tr>
16712
16730
  </tbody>
16713
16731
  </table>
16714
16732
 
@@ -18418,10 +18436,10 @@ the display text and the weight defines its position in the navbar.</p>
18418
18436
  <p>Base class for UI framework definition of the contents of an Object Detail (Object Retrieve) page.</p>
18419
18437
  <p>This currently defines the tabs and their panel contents, but does NOT describe the page title, breadcrumbs, etc.</p>
18420
18438
  <p>Basic usage for a <code>NautobotUIViewSet</code> looks like:</p>
18421
- <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">from</span> <span class="nn">nautobot.apps.ui</span> <span class="kn">import</span> <span class="n">ObjectDetailContent</span><span class="p">,</span> <span class="n">ObjectFieldsPanel</span><span class="p">,</span> <span class="n">SectionChoices</span>
18439
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.apps.ui</span><span class="w"> </span><span class="kn">import</span> <span class="n">ObjectDetailContent</span><span class="p">,</span> <span class="n">ObjectFieldsPanel</span><span class="p">,</span> <span class="n">SectionChoices</span>
18422
18440
  <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>
18423
18441
  <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a>
18424
- <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="k">class</span> <span class="nc">MyModelUIViewSet</span><span class="p">(</span><span class="n">NautobotUIViewSet</span><span class="p">):</span>
18442
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="k">class</span><span class="w"> </span><span class="nc">MyModelUIViewSet</span><span class="p">(</span><span class="n">NautobotUIViewSet</span><span class="p">):</span>
18425
18443
  <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> <span class="n">queryset</span> <span class="o">=</span> <span class="n">MyModel</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">all</span><span class="p">()</span>
18426
18444
  <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> <span class="n">object_detail_content</span> <span class="o">=</span> <span class="n">ObjectDetailContent</span><span class="p">(</span>
18427
18445
  <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a> <span class="n">panels</span><span class="o">=</span><span class="p">[</span><span class="n">ObjectFieldsPanel</span><span class="p">(</span><span class="n">section</span><span class="o">=</span><span class="n">SectionChoices</span><span class="o">.</span><span class="n">LEFT_HALF</span><span class="p">,</span> <span class="n">weight</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="s2">&quot;__all__&quot;</span><span class="p">)],</span>
@@ -18643,7 +18661,7 @@ dynamic-groups, metadata, etc.) do not need to be specified as they will be auto
18643
18661
 
18644
18662
 
18645
18663
  <h3 id="nautobot.apps.ui.ObjectFieldsPanel.__init__" class="doc doc-heading">
18646
- <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="s1">&#39;__all__&#39;</span><span class="p">,</span> <span class="n">exclude_fields</span><span class="o">=</span><span class="p">(),</span> <span class="n">context_object_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ignore_nonexistent_fields</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
18664
+ <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">fields</span><span class="o">=</span><span class="s1">&#39;__all__&#39;</span><span class="p">,</span> <span class="n">additional_fields</span><span class="o">=</span><span class="p">(),</span> <span class="n">exclude_fields</span><span class="o">=</span><span class="p">(),</span> <span class="n">context_object_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">ignore_nonexistent_fields</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
18647
18665
 
18648
18666
  <a href="#nautobot.apps.ui.ObjectFieldsPanel.__init__" class="headerlink" title="Permanent link">&para;</a></h3>
18649
18667
 
@@ -18675,13 +18693,33 @@ dynamic-groups, metadata, etc.) do not need to be specified as they will be auto
18675
18693
  <div class="doc-md-description">
18676
18694
  <p>The ordered list of fields to display, or <code>"__all__"</code> to display fields automatically.
18677
18695
  Note that ManyToMany fields and reverse relations are <strong>not</strong> included in <code>"__all__"</code> at this time, nor
18678
- are any hidden fields, nor the specially handled <code>id</code>, <code>created</code>, <code>last_updated</code> fields on most models.</p>
18696
+ are any hidden fields, nor the specially handled <code>id</code>, <code>created</code>, <code>last_updated</code> fields on most models.
18697
+ When a list is specified, it may include model <code>@property</code> attributes and nested lookups (if desired) in
18698
+ addition to concrete model fields; when using <code>fields="__all__"</code>, such additional attributes and lookups
18699
+ may be specified with the <code>additional_fields</code> parameter.</p>
18679
18700
  </div>
18680
18701
  </td>
18681
18702
  <td>
18682
18703
  <code>&#39;__all__&#39;</code>
18683
18704
  </td>
18684
18705
  </tr>
18706
+ <tr class="doc-section-item">
18707
+ <td>
18708
+ <code>additional_fields</code>
18709
+ </td>
18710
+ <td>
18711
+ <code><span title="list">list</span></code>
18712
+ </td>
18713
+ <td>
18714
+ <div class="doc-md-description">
18715
+ <p>Only relevant if <code>fields == "__all__"</code>, in which case it can specify additional
18716
+ non-default fields to include such as reverse relations, <code>@property</code> attributes, nested lookups, etc.</p>
18717
+ </div>
18718
+ </td>
18719
+ <td>
18720
+ <code>()</code>
18721
+ </td>
18722
+ </tr>
18685
18723
  <tr class="doc-section-item">
18686
18724
  <td>
18687
18725
  <code>exclude_fields</code>
@@ -18982,7 +19020,7 @@ already configured in context and set the <code>context_table_key</code> or pass
18982
19020
 
18983
19021
 
18984
19022
  <h3 id="nautobot.apps.ui.ObjectsTablePanel.__init__" class="doc doc-heading">
18985
- <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">context_table_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_attribute</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">select_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">prefetch_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">order_by_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_title</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">max_display_count</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">paginate</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">show_table_config_button</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">include_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">exclude_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">add_button_route</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">,</span> <span class="n">add_permissions</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">hide_hierarchy_ui</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">related_field_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enable_bulk_actions</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">tab_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">body_wrapper_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_wrapper_table.html&#39;</span><span class="p">,</span> <span class="n">body_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_content_objects_table.html&#39;</span><span class="p">,</span> <span class="n">header_extra_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/header_extra_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/footer_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_buttons</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">form_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
19023
+ <code class="highlight language-python"><span class="fm">__init__</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">context_table_key</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_class</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_filter</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_attribute</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">select_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">prefetch_related_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">order_by_fields</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">table_title</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">max_display_count</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">paginate</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">show_table_config_button</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">include_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">exclude_columns</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">add_button_route</span><span class="o">=</span><span class="s1">&#39;default&#39;</span><span class="p">,</span> <span class="n">add_permissions</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">hide_hierarchy_ui</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">related_field_name</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">enable_bulk_actions</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">tab_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">body_wrapper_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_wrapper_table.html&#39;</span><span class="p">,</span> <span class="n">body_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/body_content_objects_table.html&#39;</span><span class="p">,</span> <span class="n">header_extra_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/header_extra_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_content_template_path</span><span class="o">=</span><span class="s1">&#39;components/panel/footer_content_table.html&#39;</span><span class="p">,</span> <span class="n">footer_buttons</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">form_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">include_paginator</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
18986
19024
 
18987
19025
  <a href="#nautobot.apps.ui.ObjectsTablePanel.__init__" class="headerlink" title="Permanent link">&para;</a></h3>
18988
19026
 
@@ -19361,6 +19399,22 @@ These buttons typically perform actions like bulk delete, edit, or custom form s
19361
19399
  <code>None</code>
19362
19400
  </td>
19363
19401
  </tr>
19402
+ <tr class="doc-section-item">
19403
+ <td>
19404
+ <code>include_paginator</code>
19405
+ </td>
19406
+ <td>
19407
+ <code><span title="bool">bool</span></code>
19408
+ </td>
19409
+ <td>
19410
+ <div class="doc-md-description">
19411
+ <p>If True, renders a paginator in the panel footer.</p>
19412
+ </div>
19413
+ </td>
19414
+ <td>
19415
+ <code>False</code>
19416
+ </td>
19417
+ </tr>
19364
19418
  </tbody>
19365
19419
  </table>
19366
19420
 
@@ -21108,7 +21162,7 @@ Use the <code>render()</code> method to obtain either rich (HTML) or plain (stri
21108
21162
  <code>context</code>
21109
21163
  </td>
21110
21164
  <td>
21111
- <code><span title="django.template.Context">Context</span></code>
21165
+ <code><span title="typing.Union">Union</span>[<span title="dict">dict</span>, <span title="django.template.Context">Context</span>]</code>
21112
21166
  </td>
21113
21167
  <td>
21114
21168
  <div class="doc-md-description">
@@ -21596,7 +21650,8 @@ Can be used as fallback if <code>view_name_key</code> won't be found in the cont
21596
21650
  <!-- RTD version flyout injected on live site -->
21597
21651
  <div id="readthedocs-embed-flyout"></div>
21598
21652
 
21599
- <div class="md-social">
21653
+
21654
+ <div class="md-social">
21600
21655
 
21601
21656
 
21602
21657
 
@@ -21652,10 +21707,10 @@ Can be used as fallback if <code>view_name_key</code> won't be found in the cont
21652
21707
 
21653
21708
 
21654
21709
 
21655
- <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>
21710
+ <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>
21656
21711
 
21657
21712
 
21658
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
21713
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
21659
21714
 
21660
21715
 
21661
21716
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -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
 
@@ -10330,7 +10332,8 @@
10330
10332
  <!-- RTD version flyout injected on live site -->
10331
10333
  <div id="readthedocs-embed-flyout"></div>
10332
10334
 
10333
- <div class="md-social">
10335
+
10336
+ <div class="md-social">
10334
10337
 
10335
10338
 
10336
10339
 
@@ -10386,10 +10389,10 @@
10386
10389
 
10387
10390
 
10388
10391
 
10389
- <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>
10392
+ <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>
10390
10393
 
10391
10394
 
10392
- <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
10395
+ <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
10393
10396
 
10394
10397
 
10395
10398
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});