nautobot 2.4.17__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.
- nautobot/apps/views.py +2 -0
- nautobot/circuits/templates/circuits/circuittermination_retrieve.html +1 -8
- nautobot/circuits/templates/circuits/inc/circuit_termination_speed_fragment.html +9 -0
- nautobot/circuits/tests/integration/test_circuit.py +2 -2
- nautobot/circuits/views.py +32 -15
- nautobot/core/filters.py +2 -2
- nautobot/core/settings.py +1 -0
- nautobot/core/settings.yaml +9 -0
- nautobot/core/tables.py +21 -23
- nautobot/core/templates/components/breadcrumbs.html +19 -0
- nautobot/core/templates/generic/object_changelog.html +0 -2
- nautobot/core/templates/generic/object_list.html +15 -12
- nautobot/core/templates/generic/object_notes.html +0 -2
- nautobot/core/templates/generic/object_retrieve.html +16 -9
- nautobot/core/templatetags/helpers.py +24 -0
- nautobot/core/templatetags/ui_framework.py +40 -5
- nautobot/core/testing/filters.py +37 -21
- nautobot/core/testing/views.py +25 -0
- nautobot/core/tests/test_tables.py +43 -6
- nautobot/core/tests/test_templatetags_ui_framework.py +146 -0
- nautobot/core/tests/test_titles.py +2 -2
- nautobot/core/tests/test_ui.py +14 -1
- nautobot/core/tests/test_views.py +45 -0
- nautobot/core/ui/breadcrumbs.py +13 -8
- nautobot/core/ui/object_detail.py +43 -5
- nautobot/core/ui/titles.py +9 -5
- nautobot/core/views/__init__.py +24 -3
- nautobot/core/views/generic.py +42 -17
- nautobot/core/views/mixins.py +146 -12
- nautobot/core/views/utils.py +117 -0
- nautobot/dcim/models/devices.py +4 -0
- nautobot/dcim/tables/__init__.py +2 -0
- nautobot/dcim/tables/devices.py +24 -0
- nautobot/dcim/tables/power.py +2 -2
- nautobot/dcim/templates/dcim/device/base.html +1 -11
- nautobot/dcim/templates/dcim/device_component.html +0 -19
- nautobot/dcim/templates/dcim/modulebay_retrieve.html +0 -16
- nautobot/dcim/templates/dcim/virtualchassis_retrieve.html +1 -50
- nautobot/dcim/tests/test_views.py +41 -0
- nautobot/dcim/views.py +160 -39
- nautobot/extras/filters/mixins.py +1 -1
- nautobot/extras/forms/forms.py +15 -0
- nautobot/extras/models/groups.py +10 -1
- nautobot/extras/models/jobs.py +2 -2
- nautobot/extras/plugins/views.py +18 -5
- nautobot/extras/tables.py +4 -2
- nautobot/extras/templates/extras/customfield_retrieve.html +1 -128
- nautobot/extras/templates/extras/dynamicgroup.html +2 -99
- nautobot/extras/templates/extras/dynamicgroup_edit.html +2 -199
- nautobot/extras/templates/extras/dynamicgroup_retrieve.html +99 -0
- nautobot/extras/templates/extras/dynamicgroup_update.html +199 -0
- nautobot/extras/templates/extras/gitrepository.html +2 -82
- nautobot/extras/templates/extras/gitrepository_object_edit.html +2 -13
- nautobot/extras/templates/extras/gitrepository_retrieve.html +82 -0
- nautobot/extras/templates/extras/gitrepository_update.html +13 -0
- nautobot/extras/templates/extras/note_retrieve.html +0 -52
- nautobot/extras/templates/extras/plugin_detail.html +3 -7
- nautobot/extras/templates/extras/plugins_list.html +0 -2
- nautobot/extras/tests/test_dynamicgroups.py +73 -18
- nautobot/extras/tests/test_views.py +5 -0
- nautobot/extras/urls.py +2 -94
- nautobot/extras/views.py +424 -430
- nautobot/ipam/querysets.py +3 -3
- nautobot/ipam/signals.py +6 -1
- nautobot/ipam/templates/ipam/prefix.html +0 -8
- nautobot/ipam/tests/test_api.py +5 -0
- nautobot/ipam/tests/test_models.py +387 -0
- nautobot/ipam/tests/test_querysets.py +46 -0
- nautobot/ipam/utils/migrations.py +1 -1
- nautobot/ipam/views.py +17 -8
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +72 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +45 -9
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +393 -15
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +1 -1
- nautobot/project-static/docs/development/core/getting-started.html +0 -15
- nautobot/project-static/docs/development/core/ui-component-framework.html +6 -11
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/release-notes/version-2.4.html +222 -0
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +300 -300
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +27 -0
- nautobot/project-static/img/nautobot_icon.svg +32 -34
- nautobot/project-static/js/table_sorting_indicator.js +0 -2
- {nautobot-2.4.17.dist-info → nautobot-2.4.18.dist-info}/METADATA +4 -4
- {nautobot-2.4.17.dist-info → nautobot-2.4.18.dist-info}/RECORD +90 -85
- nautobot/core/templates/inc/breadcrumbs.html +0 -14
- nautobot/project-static/docs/requirements.txt +0 -14
- {nautobot-2.4.17.dist-info → nautobot-2.4.18.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.17.dist-info → nautobot-2.4.18.dist-info}/NOTICE +0 -0
- {nautobot-2.4.17.dist-info → nautobot-2.4.18.dist-info}/WHEEL +0 -0
- {nautobot-2.4.17.dist-info → nautobot-2.4.18.dist-info}/entry_points.txt +0 -0
|
@@ -8799,6 +8799,15 @@
|
|
|
8799
8799
|
</span>
|
|
8800
8800
|
</a>
|
|
8801
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
|
+
|
|
8802
8811
|
</li>
|
|
8803
8812
|
|
|
8804
8813
|
<li class="md-nav__item">
|
|
@@ -9636,6 +9645,15 @@
|
|
|
9636
9645
|
</span>
|
|
9637
9646
|
</a>
|
|
9638
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
|
+
|
|
9639
9657
|
</li>
|
|
9640
9658
|
|
|
9641
9659
|
</ul>
|
|
@@ -12189,6 +12207,15 @@
|
|
|
12189
12207
|
</span>
|
|
12190
12208
|
</a>
|
|
12191
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
|
+
|
|
12192
12219
|
</li>
|
|
12193
12220
|
|
|
12194
12221
|
<li class="md-nav__item">
|
|
@@ -13026,6 +13053,15 @@
|
|
|
13026
13053
|
</span>
|
|
13027
13054
|
</a>
|
|
13028
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
|
+
|
|
13029
13065
|
</li>
|
|
13030
13066
|
|
|
13031
13067
|
</ul>
|
|
@@ -14628,6 +14664,24 @@ This expects a field named <code>devices</code> on the model and a filter named
|
|
|
14628
14664
|
<div class="doc doc-object doc-function">
|
|
14629
14665
|
|
|
14630
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">¶</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
|
+
|
|
14631
14685
|
<h4 id="nautobot.apps.testing.FilterTestCases.FilterTestCase.test_q_filter_valid" class="doc doc-heading">
|
|
14632
14686
|
<code class="highlight language-python"><span class="n">test_q_filter_valid</span><span class="p">()</span></code>
|
|
14633
14687
|
|
|
@@ -17090,6 +17144,24 @@ statuses present in the database in order to run tests.</p>
|
|
|
17090
17144
|
|
|
17091
17145
|
</div>
|
|
17092
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">¶</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
|
+
|
|
17093
17165
|
|
|
17094
17166
|
|
|
17095
17167
|
</div>
|
|
@@ -14076,7 +14076,7 @@ if you need them in your custom action.</p>
|
|
|
14076
14076
|
|
|
14077
14077
|
|
|
14078
14078
|
<h3 id="nautobot.apps.ui.Breadcrumbs.__init__" class="doc doc-heading">
|
|
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">'
|
|
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">'components/breadcrumbs.html'</span><span class="p">)</span></code>
|
|
14080
14080
|
|
|
14081
14081
|
<a href="#nautobot.apps.ui.Breadcrumbs.__init__" class="headerlink" title="Permanent link">¶</a></h3>
|
|
14082
14082
|
|
|
@@ -14126,7 +14126,7 @@ if you need them in your custom action.</p>
|
|
|
14126
14126
|
</div>
|
|
14127
14127
|
</td>
|
|
14128
14128
|
<td>
|
|
14129
|
-
<code>'
|
|
14129
|
+
<code>'components/breadcrumbs.html'</code>
|
|
14130
14130
|
</td>
|
|
14131
14131
|
</tr>
|
|
14132
14132
|
</tbody>
|
|
@@ -14171,7 +14171,7 @@ if you need them in your custom action.</p>
|
|
|
14171
14171
|
</td>
|
|
14172
14172
|
<td>
|
|
14173
14173
|
<div class="doc-md-description">
|
|
14174
|
-
<p>breadcrumb items
|
|
14174
|
+
<p>breadcrumb items pairs.</p>
|
|
14175
14175
|
</div>
|
|
14176
14176
|
</td>
|
|
14177
14177
|
<td>
|
|
@@ -14387,8 +14387,7 @@ Please ote that you can't override <code>breadcrumb_items</code> here because it
|
|
|
14387
14387
|
|
|
14388
14388
|
<div class="doc doc-contents ">
|
|
14389
14389
|
|
|
14390
|
-
<p>Get the breadcrumb items for a specific action,
|
|
14391
|
-
and to asterisk (*) if present.</p>
|
|
14390
|
+
<p>Get the breadcrumb items for a specific action, 'detail' or to asterisk (*) if present.</p>
|
|
14392
14391
|
|
|
14393
14392
|
|
|
14394
14393
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -16618,7 +16617,7 @@ Label will be generated from object, but you can still override it.</p>
|
|
|
16618
16617
|
|
|
16619
16618
|
|
|
16620
16619
|
<h3 id="nautobot.apps.ui.KeyValueTablePanel.__init__" class="doc doc-heading">
|
|
16621
|
-
<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">'components/panel/body_wrapper_key_value_table.html'</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">'components/panel/body_wrapper_key_value_table.html'</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
|
|
16622
16621
|
|
|
16623
16622
|
<a href="#nautobot.apps.ui.KeyValueTablePanel.__init__" class="headerlink" title="Permanent link">¶</a></h3>
|
|
16624
16623
|
|
|
@@ -16711,6 +16710,23 @@ Many of the <code>templatetags.helpers</code> functions are suitable for this pu
|
|
|
16711
16710
|
<code>None</code>
|
|
16712
16711
|
</td>
|
|
16713
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>
|
|
16714
16730
|
</tbody>
|
|
16715
16731
|
</table>
|
|
16716
16732
|
|
|
@@ -18645,7 +18661,7 @@ dynamic-groups, metadata, etc.) do not need to be specified as they will be auto
|
|
|
18645
18661
|
|
|
18646
18662
|
|
|
18647
18663
|
<h3 id="nautobot.apps.ui.ObjectFieldsPanel.__init__" class="doc doc-heading">
|
|
18648
|
-
<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">'__all__'</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">'__all__'</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>
|
|
18649
18665
|
|
|
18650
18666
|
<a href="#nautobot.apps.ui.ObjectFieldsPanel.__init__" class="headerlink" title="Permanent link">¶</a></h3>
|
|
18651
18667
|
|
|
@@ -18677,13 +18693,33 @@ dynamic-groups, metadata, etc.) do not need to be specified as they will be auto
|
|
|
18677
18693
|
<div class="doc-md-description">
|
|
18678
18694
|
<p>The ordered list of fields to display, or <code>"__all__"</code> to display fields automatically.
|
|
18679
18695
|
Note that ManyToMany fields and reverse relations are <strong>not</strong> included in <code>"__all__"</code> at this time, nor
|
|
18680
|
-
are any hidden fields, nor the specially handled <code>id</code>, <code>created</code>, <code>last_updated</code> fields on most models
|
|
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>
|
|
18681
18700
|
</div>
|
|
18682
18701
|
</td>
|
|
18683
18702
|
<td>
|
|
18684
18703
|
<code>'__all__'</code>
|
|
18685
18704
|
</td>
|
|
18686
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>
|
|
18687
18723
|
<tr class="doc-section-item">
|
|
18688
18724
|
<td>
|
|
18689
18725
|
<code>exclude_fields</code>
|
|
@@ -21126,7 +21162,7 @@ Use the <code>render()</code> method to obtain either rich (HTML) or plain (stri
|
|
|
21126
21162
|
<code>context</code>
|
|
21127
21163
|
</td>
|
|
21128
21164
|
<td>
|
|
21129
|
-
<code><span title="django.template.Context">Context</span
|
|
21165
|
+
<code><span title="typing.Union">Union</span>[<span title="dict">dict</span>, <span title="django.template.Context">Context</span>]</code>
|
|
21130
21166
|
</td>
|
|
21131
21167
|
<td>
|
|
21132
21168
|
<div class="doc-md-description">
|