nautobot 2.4.9__py3-none-any.whl → 2.4.11__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (433) hide show
  1. nautobot/cloud/tests/test_views.py +13 -1
  2. nautobot/cloud/views.py +39 -9
  3. nautobot/core/api/parsers.py +56 -2
  4. nautobot/core/celery/__init__.py +21 -0
  5. nautobot/core/celery/encoders.py +3 -0
  6. nautobot/core/forms/forms.py +4 -1
  7. nautobot/core/jobs/bulk_actions.py +8 -8
  8. nautobot/core/jobs/cleanup.py +11 -0
  9. nautobot/core/management/commands/generate_test_data.py +2 -1
  10. nautobot/core/models/__init__.py +2 -0
  11. nautobot/core/templates/generic/object_retrieve.html +1 -1
  12. nautobot/core/testing/mixins.py +19 -1
  13. nautobot/core/testing/views.py +104 -8
  14. nautobot/core/tests/test_csv.py +92 -1
  15. nautobot/core/tests/test_jinja_filters.py +59 -0
  16. nautobot/core/tests/test_jobs.py +20 -4
  17. nautobot/core/tests/test_utils.py +193 -0
  18. nautobot/core/tests/test_views.py +73 -0
  19. nautobot/core/tests/test_views_utils.py +53 -2
  20. nautobot/core/ui/object_detail.py +4 -0
  21. nautobot/core/urls.py +2 -2
  22. nautobot/core/utils/lookup.py +4 -2
  23. nautobot/core/utils/module_loading.py +86 -58
  24. nautobot/core/views/__init__.py +21 -0
  25. nautobot/core/views/generic.py +2 -12
  26. nautobot/core/views/mixins.py +19 -1
  27. nautobot/core/views/renderers.py +4 -13
  28. nautobot/core/views/utils.py +16 -0
  29. nautobot/dcim/api/serializers.py +13 -0
  30. nautobot/dcim/api/urls.py +1 -0
  31. nautobot/dcim/api/views.py +20 -0
  32. nautobot/dcim/apps.py +1 -0
  33. nautobot/dcim/factory.py +11 -0
  34. nautobot/dcim/filters/__init__.py +110 -0
  35. nautobot/dcim/forms.py +205 -19
  36. nautobot/dcim/migrations/0070_modulefamily_models.py +92 -0
  37. nautobot/dcim/models/__init__.py +2 -0
  38. nautobot/dcim/models/device_component_templates.py +18 -0
  39. nautobot/dcim/models/device_components.py +25 -1
  40. nautobot/dcim/models/devices.py +68 -0
  41. nautobot/dcim/navigation.py +16 -0
  42. nautobot/dcim/tables/__init__.py +2 -0
  43. nautobot/dcim/tables/devices.py +48 -0
  44. nautobot/dcim/tables/devicetypes.py +35 -1
  45. nautobot/dcim/tables/template_code.py +2 -0
  46. nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +1 -90
  47. nautobot/dcim/templates/dcim/inc/cable_toggle_buttons.html +1 -1
  48. nautobot/dcim/templates/dcim/interfaceredundancygroup_retrieve.html +1 -63
  49. nautobot/dcim/templates/dcim/location.html +2 -249
  50. nautobot/dcim/templates/dcim/location_edit.html +2 -38
  51. nautobot/dcim/templates/dcim/location_retrieve.html +249 -0
  52. nautobot/dcim/templates/dcim/location_update.html +38 -0
  53. nautobot/dcim/templates/dcim/module_update.html +1 -0
  54. nautobot/dcim/templates/dcim/modulebay_retrieve.html +93 -1
  55. nautobot/dcim/templates/dcim/modulefamily_retrieve.html +31 -0
  56. nautobot/dcim/templates/dcim/moduletype_retrieve.html +6 -0
  57. nautobot/dcim/templates/dcim/powerfeed_retrieve.html +1 -160
  58. nautobot/dcim/tests/test_api.py +35 -0
  59. nautobot/dcim/tests/test_filters.py +102 -3
  60. nautobot/dcim/tests/test_models.py +146 -0
  61. nautobot/dcim/tests/test_views.py +70 -97
  62. nautobot/dcim/urls.py +4 -22
  63. nautobot/dcim/views.py +439 -153
  64. nautobot/extras/api/views.py +9 -2
  65. nautobot/extras/context_managers.py +2 -2
  66. nautobot/extras/datasources/git.py +11 -3
  67. nautobot/extras/forms/forms.py +9 -5
  68. nautobot/extras/jobs.py +4 -2
  69. nautobot/extras/models/customfields.py +2 -0
  70. nautobot/extras/models/datasources.py +13 -8
  71. nautobot/extras/models/groups.py +18 -0
  72. nautobot/extras/models/jobs.py +19 -0
  73. nautobot/extras/models/metadata.py +2 -0
  74. nautobot/extras/models/models.py +4 -0
  75. nautobot/extras/models/secrets.py +7 -0
  76. nautobot/extras/plugins/__init__.py +3 -0
  77. nautobot/extras/secrets/__init__.py +14 -0
  78. nautobot/extras/tables.py +40 -3
  79. nautobot/extras/templates/extras/configcontext.html +2 -220
  80. nautobot/extras/templates/extras/configcontext_edit.html +2 -50
  81. nautobot/extras/templates/extras/configcontext_retrieve.html +2 -0
  82. nautobot/extras/templates/extras/configcontext_update.html +50 -0
  83. nautobot/extras/templates/extras/configcontextschema.html +2 -48
  84. nautobot/extras/templates/extras/configcontextschema_edit.html +2 -19
  85. nautobot/extras/templates/extras/configcontextschema_retrieve.html +48 -0
  86. nautobot/extras/templates/extras/configcontextschema_update.html +19 -0
  87. nautobot/extras/templates/extras/inc/configcontext_data.html +1 -0
  88. nautobot/extras/templates/extras/inc/json_data.html +1 -1
  89. nautobot/extras/templates/extras/inc/json_format.html +2 -2
  90. nautobot/extras/templates/extras/job_edit.html +12 -6
  91. nautobot/extras/templates/extras/tag.html +2 -52
  92. nautobot/extras/templates/extras/tag_edit.html +2 -15
  93. nautobot/extras/templates/extras/tag_retrieve.html +52 -0
  94. nautobot/extras/templates/extras/tag_update.html +15 -0
  95. nautobot/extras/templates/extras/team_retrieve.html +2 -2
  96. nautobot/extras/tests/test_api.py +15 -15
  97. nautobot/extras/tests/test_context_managers.py +20 -0
  98. nautobot/extras/tests/test_filters.py +4 -4
  99. nautobot/extras/tests/test_jobs.py +23 -10
  100. nautobot/extras/tests/test_models.py +45 -8
  101. nautobot/extras/tests/test_plugins.py +6 -3
  102. nautobot/extras/tests/test_views.py +66 -11
  103. nautobot/extras/urls.py +4 -134
  104. nautobot/extras/views.py +113 -158
  105. nautobot/ipam/models.py +51 -4
  106. nautobot/ipam/tables.py +19 -0
  107. nautobot/ipam/templates/ipam/vlan.html +2 -84
  108. nautobot/ipam/templates/ipam/vlan_edit.html +2 -24
  109. nautobot/ipam/templates/ipam/vlan_retrieve.html +84 -0
  110. nautobot/ipam/templates/ipam/vlan_update.html +24 -0
  111. nautobot/ipam/tests/test_views.py +5 -0
  112. nautobot/ipam/urls.py +1 -21
  113. nautobot/ipam/views.py +45 -70
  114. nautobot/project-static/docs/404.html +31 -8
  115. nautobot/project-static/docs/apps/index.html +31 -8
  116. nautobot/project-static/docs/apps/nautobot-apps.html +31 -8
  117. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +31 -8
  118. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +31 -8
  119. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +31 -8
  120. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +31 -8
  121. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +31 -8
  122. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +31 -8
  123. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +31 -8
  124. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +31 -8
  125. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +31 -8
  126. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +31 -8
  127. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +31 -8
  128. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +31 -8
  129. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +31 -8
  130. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +31 -8
  131. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +31 -8
  132. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +31 -8
  133. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +31 -8
  134. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +31 -8
  135. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +31 -8
  136. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +120 -8
  137. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +31 -8
  138. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +31 -8
  139. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +31 -8
  140. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +31 -8
  141. nautobot/project-static/docs/development/apps/api/configuration-view.html +31 -8
  142. nautobot/project-static/docs/development/apps/api/database-backend-config.html +31 -8
  143. nautobot/project-static/docs/development/apps/api/models/django-admin.html +31 -8
  144. nautobot/project-static/docs/development/apps/api/models/global-search.html +31 -8
  145. nautobot/project-static/docs/development/apps/api/models/graphql.html +31 -8
  146. nautobot/project-static/docs/development/apps/api/models/index.html +31 -8
  147. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +40 -8
  148. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +31 -8
  149. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +31 -8
  150. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +31 -8
  151. nautobot/project-static/docs/development/apps/api/platform-features/index.html +31 -8
  152. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +31 -8
  153. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +31 -8
  154. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +31 -8
  155. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +70 -46
  156. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +31 -8
  157. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +31 -8
  158. nautobot/project-static/docs/development/apps/api/prometheus.html +31 -8
  159. nautobot/project-static/docs/development/apps/api/setup.html +31 -8
  160. nautobot/project-static/docs/development/apps/api/testing.html +31 -8
  161. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +31 -8
  162. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +31 -8
  163. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +31 -8
  164. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +31 -8
  165. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +31 -8
  166. nautobot/project-static/docs/development/apps/api/views/base-template.html +31 -8
  167. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +31 -8
  168. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +31 -8
  169. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +31 -8
  170. nautobot/project-static/docs/development/apps/api/views/index.html +31 -8
  171. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +31 -8
  172. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +31 -8
  173. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +31 -8
  174. nautobot/project-static/docs/development/apps/api/views/notes.html +31 -8
  175. nautobot/project-static/docs/development/apps/api/views/rest-api.html +31 -8
  176. nautobot/project-static/docs/development/apps/api/views/urls.html +31 -8
  177. nautobot/project-static/docs/development/apps/index.html +31 -8
  178. nautobot/project-static/docs/development/apps/migration/code-updates.html +31 -8
  179. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +31 -8
  180. nautobot/project-static/docs/development/apps/migration/from-v1.html +31 -8
  181. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +31 -8
  182. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +31 -8
  183. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +31 -8
  184. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +31 -8
  185. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +31 -8
  186. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +31 -8
  187. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +31 -8
  188. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +31 -8
  189. nautobot/project-static/docs/development/apps/porting-from-netbox.html +31 -8
  190. nautobot/project-static/docs/development/core/application-registry.html +31 -8
  191. nautobot/project-static/docs/development/core/best-practices.html +31 -8
  192. nautobot/project-static/docs/development/core/bootstrap-ui.html +31 -8
  193. nautobot/project-static/docs/development/core/caching.html +31 -8
  194. nautobot/project-static/docs/development/core/controllers.html +31 -8
  195. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +31 -8
  196. nautobot/project-static/docs/development/core/generic-views.html +31 -8
  197. nautobot/project-static/docs/development/core/getting-started.html +31 -8
  198. nautobot/project-static/docs/development/core/homepage.html +31 -8
  199. nautobot/project-static/docs/development/core/index.html +31 -8
  200. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +31 -8
  201. nautobot/project-static/docs/development/core/model-checklist.html +31 -8
  202. nautobot/project-static/docs/development/core/model-features.html +31 -8
  203. nautobot/project-static/docs/development/core/natural-keys.html +31 -8
  204. nautobot/project-static/docs/development/core/navigation-menu.html +31 -8
  205. nautobot/project-static/docs/development/core/release-checklist.html +31 -8
  206. nautobot/project-static/docs/development/core/role-internals.html +31 -8
  207. nautobot/project-static/docs/development/core/settings.html +31 -8
  208. nautobot/project-static/docs/development/core/style-guide.html +31 -8
  209. nautobot/project-static/docs/development/core/templates.html +31 -8
  210. nautobot/project-static/docs/development/core/testing.html +31 -8
  211. nautobot/project-static/docs/development/core/ui-component-framework.html +31 -8
  212. nautobot/project-static/docs/development/core/user-preferences.html +31 -8
  213. nautobot/project-static/docs/development/index.html +31 -8
  214. nautobot/project-static/docs/development/jobs/getting-started.html +35 -8
  215. nautobot/project-static/docs/development/jobs/index.html +31 -8
  216. nautobot/project-static/docs/development/jobs/installation.html +31 -8
  217. nautobot/project-static/docs/development/jobs/job-extensions.html +31 -8
  218. nautobot/project-static/docs/development/jobs/job-logging.html +31 -8
  219. nautobot/project-static/docs/development/jobs/job-patterns.html +31 -8
  220. nautobot/project-static/docs/development/jobs/job-structure.html +31 -8
  221. nautobot/project-static/docs/development/jobs/migration/from-v1.html +31 -8
  222. nautobot/project-static/docs/development/jobs/testing.html +31 -8
  223. nautobot/project-static/docs/index.html +31 -8
  224. nautobot/project-static/docs/insert-analytics.sh +36 -0
  225. nautobot/project-static/docs/objects.inv +0 -0
  226. nautobot/project-static/docs/overview/application_stack.html +31 -8
  227. nautobot/project-static/docs/overview/design_philosophy.html +31 -8
  228. nautobot/project-static/docs/release-notes/index.html +31 -8
  229. nautobot/project-static/docs/release-notes/version-1.0.html +31 -8
  230. nautobot/project-static/docs/release-notes/version-1.1.html +31 -8
  231. nautobot/project-static/docs/release-notes/version-1.2.html +31 -8
  232. nautobot/project-static/docs/release-notes/version-1.3.html +31 -8
  233. nautobot/project-static/docs/release-notes/version-1.4.html +31 -8
  234. nautobot/project-static/docs/release-notes/version-1.5.html +31 -8
  235. nautobot/project-static/docs/release-notes/version-1.6.html +328 -8
  236. nautobot/project-static/docs/release-notes/version-2.0.html +31 -8
  237. nautobot/project-static/docs/release-notes/version-2.1.html +31 -8
  238. nautobot/project-static/docs/release-notes/version-2.2.html +31 -8
  239. nautobot/project-static/docs/release-notes/version-2.3.html +31 -8
  240. nautobot/project-static/docs/release-notes/version-2.4.html +353 -8
  241. nautobot/project-static/docs/search/search_index.json +1 -1
  242. nautobot/project-static/docs/sitemap.xml +302 -298
  243. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  244. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +31 -8
  245. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +31 -8
  246. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +31 -8
  247. nautobot/project-static/docs/user-guide/administration/configuration/index.html +31 -8
  248. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +31 -8
  249. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +31 -8
  250. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +31 -8
  251. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +31 -8
  252. nautobot/project-static/docs/user-guide/administration/guides/docker.html +31 -8
  253. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +31 -8
  254. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +31 -8
  255. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +31 -8
  256. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +31 -8
  257. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +31 -8
  258. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +31 -8
  259. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +31 -8
  260. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +31 -8
  261. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +31 -8
  262. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +31 -8
  263. nautobot/project-static/docs/user-guide/administration/installation/index.html +31 -8
  264. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +31 -8
  265. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +31 -8
  266. nautobot/project-static/docs/user-guide/administration/installation/services.html +31 -8
  267. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +31 -8
  268. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +31 -8
  269. nautobot/project-static/docs/user-guide/administration/security/index.html +31 -9
  270. nautobot/project-static/docs/user-guide/administration/security/notices.html +144 -9
  271. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +31 -8
  272. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +31 -8
  273. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +31 -8
  274. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +31 -8
  275. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +31 -8
  276. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +31 -8
  277. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +31 -8
  278. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +31 -8
  279. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +31 -8
  280. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +31 -8
  281. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +31 -8
  282. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +31 -8
  283. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +31 -8
  284. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +31 -8
  285. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +31 -8
  286. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +31 -8
  287. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +31 -8
  288. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +31 -8
  289. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +31 -8
  290. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +31 -8
  291. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +31 -8
  292. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +31 -8
  293. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +31 -8
  294. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +31 -8
  295. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +31 -8
  296. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +31 -8
  297. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +31 -8
  298. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +31 -8
  299. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +31 -8
  300. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +31 -8
  301. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +31 -8
  302. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +31 -8
  303. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +31 -8
  304. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +31 -8
  305. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +43 -20
  306. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +31 -8
  307. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +31 -8
  308. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +31 -8
  309. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +31 -8
  310. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +31 -8
  311. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +31 -8
  312. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +31 -8
  313. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +31 -8
  314. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +31 -8
  315. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +31 -8
  316. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +35 -8
  317. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +35 -8
  318. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +35 -8
  319. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +10261 -0
  320. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +34 -11
  321. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +31 -8
  322. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +31 -8
  323. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +31 -8
  324. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +31 -8
  325. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +31 -8
  326. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +31 -8
  327. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +31 -8
  328. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +31 -8
  329. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +31 -8
  330. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +31 -8
  331. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +31 -8
  332. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +31 -8
  333. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +31 -8
  334. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +31 -8
  335. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +31 -8
  336. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +31 -8
  337. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +31 -8
  338. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +31 -8
  339. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +31 -8
  340. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +31 -8
  341. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +31 -8
  342. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +31 -8
  343. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +31 -8
  344. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +31 -8
  345. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +31 -8
  346. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +31 -8
  347. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +31 -8
  348. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +31 -8
  349. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +31 -8
  350. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +31 -8
  351. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +31 -8
  352. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +31 -8
  353. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +31 -8
  354. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +31 -8
  355. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +31 -8
  356. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +31 -8
  357. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +31 -8
  358. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +31 -8
  359. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +31 -8
  360. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +31 -8
  361. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +31 -8
  362. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +31 -8
  363. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +31 -8
  364. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +31 -8
  365. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +31 -8
  366. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +31 -8
  367. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +31 -8
  368. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +31 -8
  369. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +31 -8
  370. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +31 -8
  371. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +31 -8
  372. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +31 -8
  373. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +41 -15
  374. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +31 -8
  375. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +31 -8
  376. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +31 -8
  377. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +31 -8
  378. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +31 -8
  379. nautobot/project-static/docs/user-guide/index.html +31 -8
  380. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +31 -8
  381. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +31 -8
  382. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +31 -8
  383. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +31 -8
  384. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +31 -8
  385. nautobot/project-static/docs/user-guide/platform-functionality/events.html +31 -8
  386. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +31 -8
  387. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +31 -8
  388. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +37 -9
  389. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +31 -8
  390. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +31 -8
  391. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +31 -8
  392. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +31 -8
  393. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +31 -8
  394. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +31 -8
  395. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +31 -8
  396. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +31 -8
  397. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +31 -8
  398. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +31 -8
  399. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +31 -8
  400. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +31 -8
  401. nautobot/project-static/docs/user-guide/platform-functionality/note.html +31 -8
  402. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +31 -8
  403. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +31 -8
  404. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +31 -8
  405. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +31 -8
  406. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +31 -8
  407. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +31 -8
  408. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +31 -8
  409. nautobot/project-static/docs/user-guide/platform-functionality/role.html +31 -8
  410. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +31 -8
  411. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +31 -8
  412. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +31 -8
  413. nautobot/project-static/docs/user-guide/platform-functionality/status.html +31 -8
  414. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +31 -8
  415. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +31 -8
  416. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +31 -8
  417. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +31 -8
  418. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +31 -8
  419. nautobot/tenancy/tables.py +2 -0
  420. nautobot/users/models.py +4 -0
  421. nautobot/virtualization/models.py +4 -0
  422. nautobot/virtualization/tests/test_views.py +1 -1
  423. nautobot/wireless/forms.py +0 -1
  424. nautobot/wireless/models.py +1 -1
  425. nautobot/wireless/tables.py +7 -0
  426. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/METADATA +4 -4
  427. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/RECORD +433 -418
  428. /nautobot/dcim/templates/dcim/{platform_edit.html → platform_create.html} +0 -0
  429. /nautobot/extras/test_jobs/{pass.py → pass_job.py} +0 -0
  430. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/LICENSE.txt +0 -0
  431. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/NOTICE +0 -0
  432. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/WHEEL +0 -0
  433. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/entry_points.txt +0 -0
@@ -1,220 +1,2 @@
1
- {% extends 'generic/object_retrieve.html' %}
2
- {% load helpers %}
3
-
4
- {% block content_left_page %}
5
- <div class="panel panel-default">
6
- <div class="panel-heading">
7
- <strong>Config Context</strong>
8
- </div>
9
- <table class="table table-hover panel-body attr-table">
10
- <tr>
11
- <td>Name</td>
12
- <td>
13
- {{ object.name }}
14
- </td>
15
- </tr>
16
- {% if object.owner %}
17
- <tr>
18
- <td>Owner</td>
19
- <td>{{ object.owner|hyperlinked_object }}</td>
20
- </tr>
21
- {% endif %}
22
- <tr>
23
- <td>Weight</td>
24
- <td>
25
- {{ object.weight }}
26
- </td>
27
- </tr>
28
- <tr>
29
- <td>Description</td>
30
- <td>{{ object.description|placeholder }}</td>
31
- </tr>
32
- <tr>
33
- <td>Schema</td>
34
- <td>{{ object.schema|hyperlinked_object }}</td>
35
- </tr>
36
- <tr>
37
- <td>Active</td>
38
- <td>{{ object.is_active | render_boolean }}</td>
39
- </tr>
40
- </table>
41
- </div>
42
- {% endblock content_left_page %}
43
-
44
- {% block content_right_page %}
45
- <div class="panel panel-default">
46
- <div class="panel-heading">
47
- <strong>Assignment</strong>
48
- </div>
49
- <table class="table table-hover panel-body attr-table">
50
- <tr>
51
- <td>Locations</td>
52
- <td>
53
- {% if object.locations.all %}
54
- <ul>
55
- {% for location in object.locations.all %}
56
- <li>{{ location|hyperlinked_object }}</li>
57
- {% endfor %}
58
- </ul>
59
- {% else %}
60
- <span class="text-muted">None</span>
61
- {% endif %}
62
- </td>
63
- </tr>
64
- <tr>
65
- <td>Roles</td>
66
- <td>
67
- {% if object.roles.all %}
68
- <ul>
69
- {% for role in object.roles.all %}
70
- <li><a href="{% url 'dcim:device_list' %}?role={{ role.name }}">{{ role }}</a></li>
71
- {% endfor %}
72
- </ul>
73
- {% else %}
74
- <span class="text-muted">None</span>
75
- {% endif %}
76
- </td>
77
- </tr>
78
- <tr>
79
- <td>Device Types</td>
80
- <td>
81
- {% if object.device_types.all %}
82
- <ul>
83
- {% for device_type in object.device_types.all %}
84
- <li>{{ device_type|hyperlinked_object }}</li>
85
- {% endfor %}
86
- </ul>
87
- {% else %}
88
- <span class="text-muted">None</span>
89
- {% endif %}
90
- </td>
91
- </tr>
92
- <tr>
93
- <td>Platforms</td>
94
- <td>
95
- {% if object.platforms.all %}
96
- <ul>
97
- {% for platform in object.platforms.all %}
98
- <li>{{ platform|hyperlinked_object }}</li>
99
- {% endfor %}
100
- </ul>
101
- {% else %}
102
- <span class="text-muted">None</span>
103
- {% endif %}
104
- </td>
105
- </tr>
106
- <tr>
107
- <td>Cluster Groups</td>
108
- <td>
109
- {% if object.cluster_groups.all %}
110
- <ul>
111
- {% for cluster_group in object.cluster_groups.all %}
112
- <li>{{ cluster_group|hyperlinked_object }}</li>
113
- {% endfor %}
114
- </ul>
115
- {% else %}
116
- <span class="text-muted">None</span>
117
- {% endif %}
118
- </td>
119
- </tr>
120
- <tr>
121
- <td>Clusters</td>
122
- <td>
123
- {% if object.clusters.all %}
124
- <ul>
125
- {% for cluster in object.clusters.all %}
126
- <li>{{ cluster|hyperlinked_object }}</li>
127
- {% endfor %}
128
- </ul>
129
- {% else %}
130
- <span class="text-muted">None</span>
131
- {% endif %}
132
- </td>
133
- </tr>
134
- <tr>
135
- <td>Tenant Groups</td>
136
- <td>
137
- {% if object.tenant_groups.all %}
138
- <ul>
139
- {% for tenant_group in object.tenant_groups.all %}
140
- <li>{{ tenant_group|hyperlinked_object }}</li>
141
- {% endfor %}
142
- </ul>
143
- {% else %}
144
- <span class="text-muted">None</span>
145
- {% endif %}
146
- </td>
147
- </tr>
148
- <tr>
149
- <td>Tenants</td>
150
- <td>
151
- {% if object.tenants.all %}
152
- <ul>
153
- {% for tenant in object.tenants.all %}
154
- <li>{{ tenant|hyperlinked_object }}</li>
155
- {% endfor %}
156
- </ul>
157
- {% else %}
158
- <span class="text-muted">None</span>
159
- {% endif %}
160
- </td>
161
- </tr>
162
- <tr>
163
- <td>Device Redundancy Groups</td>
164
- <td>
165
- {% if object.device_redundancy_groups.all %}
166
- <ul>
167
- {% for device_redundancy_group in object.device_redundancy_groups.all %}
168
- <li>{{ device_redundancy_group|hyperlinked_object }}</li>
169
- {% endfor %}
170
- </ul>
171
- {% else %}
172
- <span class="text-muted">None</span>
173
- {% endif %}
174
- </td>
175
- </tr>
176
- <tr>
177
- <td>Tags</td>
178
- <td>
179
- {% if object.tags.all %}
180
- <ul>
181
- {% for tag in object.tags.all %}
182
- <li>{{ tag|hyperlinked_object }}</li>
183
- {% endfor %}
184
- </ul>
185
- {% else %}
186
- <span class="text-muted">None</span>
187
- {% endif %}
188
- </td>
189
- </tr>
190
- {% if settings.CONFIG_CONTEXT_DYNAMIC_GROUPS_ENABLED %}
191
- <tr>
192
- <td>Dynamic Groups</td>
193
- <td>
194
- {% if object.dynamic_groups.all %}
195
- <ul>
196
- {% for dynamic_group in object.dynamic_groups.all %}
197
- <li>{{ dynamic_group|hyperlinked_object }}</li>
198
- {% endfor %}
199
- </ul>
200
- {% else %}
201
- <span class="text-muted">None</span>
202
- {% endif %}
203
- </td>
204
- </tr>
205
- {% endif %}
206
- </table>
207
- </div>
208
- {% endblock content_right_page %}
209
-
210
- {% block content_full_width_page %}
211
- <div class="panel panel-default">
212
- <div class="panel-heading">
213
- <strong>Data</strong>
214
- {% include 'extras/inc/json_format.html' %}
215
- </div>
216
- <div class="panel-body">
217
- {% include 'extras/inc/json_data.html' with data=object.data format=format %}
218
- </div>
219
- </div>
220
- {% endblock content_full_width_page %}
1
+ {% extends 'extras/configcontext_retrieve.html' %}
2
+ {% comment %}3.0 TODO: remove this template, which only exists for backward compatibility with 2.4 and earlier{% endcomment %}
@@ -1,50 +1,2 @@
1
- {% extends 'generic/object_create.html' %}
2
- {% load form_helpers %}
3
-
4
- {% block form %}
5
- <div class="panel panel-default">
6
- <div class="panel-heading"><strong>Config Context</strong></div>
7
- <div class="panel-body">
8
- {% render_field form.name %}
9
- {% render_field form.weight %}
10
- {% render_field form.description %}
11
- {% render_field form.config_context_schema %}
12
- {% render_field form.is_active %}
13
- </div>
14
- </div>
15
- <div class="panel panel-default">
16
- <div class="panel-heading"><strong>Assignment</strong></div>
17
- <div class="panel-body">
18
- {% render_field form.locations %}
19
- {% render_field form.roles %}
20
- {% render_field form.device_types %}
21
- {% render_field form.platforms %}
22
- {% render_field form.cluster_groups %}
23
- {% render_field form.clusters %}
24
- {% render_field form.tenant_groups %}
25
- {% render_field form.tenants %}
26
- {% render_field form.device_redundancy_groups %}
27
- {% render_field form.tags %}
28
- {% if settings.CONFIG_CONTEXT_DYNAMIC_GROUPS_ENABLED %}
29
- {% render_field form.dynamic_groups %}
30
- {% endif %}
31
- </div>
32
- </div>
33
- <div class="panel panel-default">
34
- <div class="panel-heading"><strong>Data</strong></div>
35
- <div class="panel-body">
36
- {% render_field form.data %}
37
- </div>
38
- </div>
39
- {% comment %}
40
- We don't use 'inc/extras_features_edit_form_fields.html' because it would add a second,
41
- and incorrect, "Tags" field to the form. Currently config-contexts don't support custom-fields or relationships,
42
- but they do support notes.
43
- {% endcomment %}
44
- <div class="panel panel-default">
45
- <div class="panel-heading"><strong>Notes</strong></div>
46
- <div class="panel-body">
47
- {% render_field form.object_note %}
48
- </div>
49
- </div>
50
- {% endblock %}
1
+ {% extends 'extras/configcontext_update.html' %}
2
+ {% comment %}3.0 TODO: remove this template, which only exists for backward compatibility with 2.4 and earlier{% endcomment %}
@@ -0,0 +1,2 @@
1
+ {% extends 'generic/object_retrieve.html' %}
2
+ {% comment %}3.0 TODO: remove this template, which only exists for backward compatibility with 2.4 and earlier{% endcomment %}
@@ -0,0 +1,50 @@
1
+ {% extends 'generic/object_create.html' %}
2
+ {% load form_helpers %}
3
+
4
+ {% block form %}
5
+ <div class="panel panel-default">
6
+ <div class="panel-heading"><strong>Config Context</strong></div>
7
+ <div class="panel-body">
8
+ {% render_field form.name %}
9
+ {% render_field form.weight %}
10
+ {% render_field form.description %}
11
+ {% render_field form.config_context_schema %}
12
+ {% render_field form.is_active %}
13
+ </div>
14
+ </div>
15
+ <div class="panel panel-default">
16
+ <div class="panel-heading"><strong>Assignment</strong></div>
17
+ <div class="panel-body">
18
+ {% render_field form.locations %}
19
+ {% render_field form.roles %}
20
+ {% render_field form.device_types %}
21
+ {% render_field form.platforms %}
22
+ {% render_field form.cluster_groups %}
23
+ {% render_field form.clusters %}
24
+ {% render_field form.tenant_groups %}
25
+ {% render_field form.tenants %}
26
+ {% render_field form.device_redundancy_groups %}
27
+ {% render_field form.tags %}
28
+ {% if settings.CONFIG_CONTEXT_DYNAMIC_GROUPS_ENABLED %}
29
+ {% render_field form.dynamic_groups %}
30
+ {% endif %}
31
+ </div>
32
+ </div>
33
+ <div class="panel panel-default">
34
+ <div class="panel-heading"><strong>Data</strong></div>
35
+ <div class="panel-body">
36
+ {% render_field form.data %}
37
+ </div>
38
+ </div>
39
+ {% comment %}
40
+ We don't use 'inc/extras_features_edit_form_fields.html' because it would add a second,
41
+ and incorrect, "Tags" field to the form. Currently config-contexts don't support custom-fields or relationships,
42
+ but they do support notes.
43
+ {% endcomment %}
44
+ <div class="panel panel-default">
45
+ <div class="panel-heading"><strong>Notes</strong></div>
46
+ <div class="panel-body">
47
+ {% render_field form.object_note %}
48
+ </div>
49
+ </div>
50
+ {% endblock %}
@@ -1,48 +1,2 @@
1
- {% extends 'generic/object_retrieve.html' %}
2
- {% load buttons %}
3
- {% load plugins %}
4
- {% load helpers %}
5
-
6
- {% block extra_nav_tabs %}
7
- <li role="presentation"{% if active_tab == 'validation' %} class="active"{% endif %}>
8
- <a href="{% url 'extras:configcontextschema_object_validation' pk=object.pk %}">Validation</a>
9
- </li>
10
- {% endblock extra_nav_tabs %}
11
-
12
- {% block content_left_page %}
13
- <div class="panel panel-default">
14
- <div class="panel-heading">
15
- <strong>Config Context Schema</strong>
16
- </div>
17
- <table class="table table-hover panel-body attr-table">
18
- <tr>
19
- <td>Name</td>
20
- <td>
21
- {{ object.name }}
22
- </td>
23
- </tr>
24
- {% if object.owner %}
25
- <tr>
26
- <td>Owner</td>
27
- <td>{{ object.owner|hyperlinked_object }}</td>
28
- </tr>
29
- {% endif %}
30
- <tr>
31
- <td>Description</td>
32
- <td>{{ object.description|placeholder }}</td>
33
- </tr>
34
- </table>
35
- </div>
36
- {% endblock content_left_page %}
37
-
38
- {% block content_right_page %}
39
- <div class="panel panel-default">
40
- <div class="panel-heading">
41
- <strong>Data Schema</strong>
42
- {% include 'extras/inc/json_format.html' %}
43
- </div>
44
- <div class="panel-body">
45
- {% include 'extras/inc/json_data.html' with data=object.data_schema format=format %}
46
- </div>
47
- </div>
48
- {% endblock content_right_page %}
1
+ {% extends 'extras/configcontextschema_retrieve.html' %}
2
+ {% comment %}3.0 TODO: remove this template, which only exists for backward compatibility with 2.4 and earlier{% endcomment %}
@@ -1,19 +1,2 @@
1
- {% extends 'generic/object_create.html' %}
2
- {% load form_helpers %}
3
-
4
- {% block form %}
5
- <div class="panel panel-default">
6
- <div class="panel-heading"><strong>Config Context Schema</strong></div>
7
- <div class="panel-body">
8
- {% render_field form.name %}
9
- {% render_field form.description %}
10
- </div>
11
- </div>
12
- <div class="panel panel-default">
13
- <div class="panel-heading"><strong>Data Schema</strong></div>
14
- <div class="panel-body">
15
- {% render_field form.data_schema %}
16
- </div>
17
- </div>
18
- {% include 'inc/extras_features_edit_form_fields.html' %}
19
- {% endblock %}
1
+ {% extends 'extras/configcontextschema_update.html' %}
2
+ {% comment %}3.0 TODO: remove this template, which only exists for backward compatibility with 2.4 and earlier{% endcomment %}
@@ -0,0 +1,48 @@
1
+ {% extends 'generic/object_retrieve.html' %}
2
+ {% load buttons %}
3
+ {% load plugins %}
4
+ {% load helpers %}
5
+
6
+ {% block extra_nav_tabs %}
7
+ <li role="presentation"{% if active_tab == 'validation' %} class="active"{% endif %}>
8
+ <a href="{% url 'extras:configcontextschema_object_validation' pk=object.pk %}">Validation</a>
9
+ </li>
10
+ {% endblock extra_nav_tabs %}
11
+
12
+ {% block content_left_page %}
13
+ <div class="panel panel-default">
14
+ <div class="panel-heading">
15
+ <strong>Config Context Schema</strong>
16
+ </div>
17
+ <table class="table table-hover panel-body attr-table">
18
+ <tr>
19
+ <td>Name</td>
20
+ <td>
21
+ {{ object.name }}
22
+ </td>
23
+ </tr>
24
+ {% if object.owner %}
25
+ <tr>
26
+ <td>Owner</td>
27
+ <td>{{ object.owner|hyperlinked_object }}</td>
28
+ </tr>
29
+ {% endif %}
30
+ <tr>
31
+ <td>Description</td>
32
+ <td>{{ object.description|placeholder }}</td>
33
+ </tr>
34
+ </table>
35
+ </div>
36
+ {% endblock content_left_page %}
37
+
38
+ {% block content_right_page %}
39
+ <div class="panel panel-default">
40
+ <div class="panel-heading">
41
+ <strong>Data Schema</strong>
42
+ {% include 'extras/inc/json_format.html' %}
43
+ </div>
44
+ <div class="panel-body">
45
+ {% include 'extras/inc/json_data.html' with data=object.data_schema format=format %}
46
+ </div>
47
+ </div>
48
+ {% endblock content_right_page %}
@@ -0,0 +1,19 @@
1
+ {% extends 'generic/object_create.html' %}
2
+ {% load form_helpers %}
3
+
4
+ {% block form %}
5
+ <div class="panel panel-default">
6
+ <div class="panel-heading"><strong>Config Context Schema</strong></div>
7
+ <div class="panel-body">
8
+ {% render_field form.name %}
9
+ {% render_field form.description %}
10
+ </div>
11
+ </div>
12
+ <div class="panel panel-default">
13
+ <div class="panel-heading"><strong>Data Schema</strong></div>
14
+ <div class="panel-body">
15
+ {% render_field form.data_schema %}
16
+ </div>
17
+ </div>
18
+ {% include 'inc/extras_features_edit_form_fields.html' %}
19
+ {% endblock %}
@@ -0,0 +1 @@
1
+ {% include 'extras/inc/json_data.html' with data=object.data format=format %}
@@ -1,5 +1,5 @@
1
1
  {% load helpers %}
2
2
 
3
3
  <div class="rendered-json-data">
4
- <pre>{% if format == 'json' %}{{ data|render_json }}{% elif format == 'yaml' %}{{ data|render_yaml }}{% else %}{{ data }}{% endif %}</pre>
4
+ <pre>{% if data_format == 'json' %}{{ data|render_json }}{% elif data_format == 'yaml' %}{{ data|render_yaml }}{% else %}{{ data }}{% endif %}</pre>
5
5
  </div>
@@ -1,6 +1,6 @@
1
1
  <div class="pull-right">
2
2
  <div class="btn-group btn-group-xs" role="group">
3
- <a href="?format=json" class="btn btn-default{% if format == 'json' %} active{% endif %}">JSON</a>
4
- <a href="?format=yaml" class="btn btn-default{% if format == 'yaml' %} active{% endif %}">YAML</a>
3
+ <a href="?data_format=json" class="btn btn-default{% if data_format == 'json' %} active{% endif %}">JSON</a>
4
+ <a href="?data_format=yaml" class="btn btn-default{% if data_format == 'yaml' %} active{% endif %}">YAML</a>
5
5
  </div>
6
6
  </div>
@@ -115,7 +115,7 @@
115
115
  const field_name = field_id.slice(3);
116
116
  if ($(this).prop("checked")) {
117
117
  field.attr("readonly", null);
118
- field.attr("disabled", null);
118
+ field.prop("disabled", false);
119
119
  } else {
120
120
  /* Revert the field to its default value */
121
121
  if (field.attr("type") == "checkbox") {
@@ -131,11 +131,11 @@
131
131
  * Note that "disabled" fields aren't included in form submission, so we have to be sure to
132
132
  * re-enable them at form submission time.
133
133
  */
134
- field.attr("disabled", "disabled");
134
+ field.prop("disabled", true);
135
135
  } else {
136
136
  /* Do we have a job class object to derive properties from? */
137
137
  if (job_class_properties != "") {
138
- if (field_name != "job_queues") {
138
+ if (field_name != "job_queues" && field_name != "default_job_queue") {
139
139
  field.val(job_class_properties[field_name]);
140
140
  }
141
141
  } else if (field_name != "description") {
@@ -145,17 +145,23 @@
145
145
  /* Textarea fields don't have a "value" attribute */
146
146
  field.val(description_default);
147
147
  }
148
- field.attr("readonly", "readonly");
148
+ if (field_name == "job_queues" || field_name == "default_job_queue") {
149
+ field.prop("disabled", true);
150
+ } else {
151
+ field.attr("readonly", "readonly");
152
+ }
149
153
  }
150
154
  }
151
155
  });
152
156
  $("[id^=id_][id$=_override]").change();
153
157
 
154
- /* As mentioned above, we need to re-enable all checkboxes on form submission so they get included */
158
+ /* As mentioned above, we need to re-enable all checkboxes, job_queues and default_job_queue fields on form submission so they get included */
155
159
  $("form").submit(function() {
156
160
  $('input[type="checkbox"]:disabled').each(function() {
157
- $(this).attr("disabled", null);
161
+ $(this).prop("disabled", false);
158
162
  });
163
+ $('#id_job_queues').prop("disabled", false);
164
+ $('#id_default_job_queues').prop("disabled", false);
159
165
  });
160
166
  </script>
161
167
  {% endblock javascript %}
@@ -1,52 +1,2 @@
1
- {% extends 'generic/object_retrieve.html' %}
2
- {% load helpers %}
3
-
4
- {% block content_left_page %}
5
- <div class="panel panel-default">
6
- <div class="panel-heading">
7
- <strong>Tag</strong>
8
- </div>
9
- <table class="table table-hover panel-body attr-table">
10
- <tr>
11
- <td>Name</td>
12
- <td>
13
- {{ object.name }}
14
- </td>
15
- </tr>
16
- <tr>
17
- <td>Tagged Items</td>
18
- <td>
19
- {{ items_count }}
20
- </td>
21
- </tr>
22
- <tr>
23
- <td>Color</td>
24
- <td>
25
- <span class="label color-block" style="background-color: #{{ object.color }}">&nbsp;</span>
26
- </td>
27
- </tr>
28
- <tr>
29
- <td>Content Type(s)</td>
30
- <td>
31
- <ul class="list-unstyled">
32
- {% for ct in content_types %}
33
- <li>{{ ct }}</li>
34
- {% endfor %}
35
- </ul>
36
- </td>
37
- </tr>
38
- <tr>
39
- <td>Description</td>
40
- <td>
41
- {{ object.description|placeholder }}
42
- </td>
43
- </tr>
44
- </table>
45
- </div>
46
- {% endblock content_left_page %}
47
-
48
- {% block content_right_page %}
49
- {% include 'panel_table.html' with table=items_table heading='Tagged Objects' %}
50
- {% include 'inc/paginator.html' with paginator=items_table.paginator page=items_table.page %}
51
- <div class="row"></div>
52
- {% endblock content_right_page %}
1
+ {% extends 'extras/tag_retrieve.html' %}
2
+ {% comment %}3.0 TODO: remove this template, which only exists for backward compatibility with 2.4 and earlier{% endcomment %}
@@ -1,15 +1,2 @@
1
- {% extends 'generic/object_create.html' %}
2
- {% load form_helpers %}
3
-
4
- {% block form %}
5
- <div class="panel panel-default">
6
- <div class="panel-heading"><strong>Tag</strong></div>
7
- <div class="panel-body">
8
- {% render_field form.name %}
9
- {% render_field form.color %}
10
- {% render_field form.description %}
11
- {% render_field form.content_types %}
12
- </div>
13
- </div>
14
- {% include 'inc/extras_features_edit_form_fields.html' %}
15
- {% endblock %}
1
+ {% extends 'extras/tag_update.html' %}
2
+ {% comment %}3.0 TODO: remove this template, which only exists for backward compatibility with 2.4 and earlier{% endcomment %}