From 9e87ea8e049d8ae22af3a02535219182fbeb69d2 Mon Sep 17 00:00:00 2001 From: Pieter Lambrecht Date: Wed, 16 Nov 2022 18:09:12 +0100 Subject: [PATCH 1/2] Show the Provider of the NetworkProvider --- netbox/circuits/forms/models.py | 12 +++++++++++- .../templates/circuits/circuittermination_edit.html | 3 ++- .../templates/circuits/inc/circuit_termination.html | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/netbox/circuits/forms/models.py b/netbox/circuits/forms/models.py index aebdce10e2a..da9e45a1329 100644 --- a/netbox/circuits/forms/models.py +++ b/netbox/circuits/forms/models.py @@ -160,13 +160,23 @@ class CircuitTerminationForm(NetBoxModelForm): ) provider_network = DynamicModelChoiceField( queryset=ProviderNetwork.objects.all(), + query_params={ + 'provider_id': '$provider_network_provider', + }, required=False ) + provider_network_provider = DynamicModelChoiceField( + queryset=Provider.objects.all(), # See if we can expose circuit_count to Providers filter, and only show the Providers that have a Networks + required=False, + # initial_params={ + # 'provider_id': '$provider_network.provider' # How can we pre-select the provider of the 'selected' item ? + # } + ) class Meta: model = CircuitTermination fields = [ - 'provider', 'circuit', 'term_side', 'region', 'site_group', 'site', 'provider_network', 'mark_connected', + 'provider', 'circuit', 'term_side', 'region', 'site_group', 'site', 'provider_network_provider', 'provider_network', 'mark_connected', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info', 'description', 'tags', ] help_texts = { diff --git a/netbox/templates/circuits/circuittermination_edit.html b/netbox/templates/circuits/circuittermination_edit.html index 5196eddf232..6c3d2754c89 100644 --- a/netbox/templates/circuits/circuittermination_edit.html +++ b/netbox/templates/circuits/circuittermination_edit.html @@ -7,7 +7,7 @@
Circuit Termination
- {% render_field form.provider %} + {% render_field form.provider label="Circuit Provider" %} {% render_field form.circuit %} {% render_field form.term_side %} {% render_field form.tags %} @@ -32,6 +32,7 @@
Circuit Termination
{% render_field form.site %}
+ {% render_field form.provider_network_provider label="Provider" %} {% render_field form.provider_network %}
diff --git a/netbox/templates/circuits/inc/circuit_termination.html b/netbox/templates/circuits/inc/circuit_termination.html index f4e0ea6cafa..160ff940fd4 100644 --- a/netbox/templates/circuits/inc/circuit_termination.html +++ b/netbox/templates/circuits/inc/circuit_termination.html @@ -81,7 +81,7 @@
Termination {{ side }}
{% else %} Provider Network - {{ termination.provider_network|linkify }} + {{ termination.provider_network.provider|linkify }} / {{ termination.provider_network|linkify }} {% endif %} From 035ccafa5aeab73f232a9491ba5bbefe7a18d822 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 2 Dec 2022 09:12:37 -0500 Subject: [PATCH 2/2] Clean up form fields --- netbox/circuits/forms/models.py | 20 ++++++++++--------- .../circuits/circuittermination_edit.html | 4 ++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/netbox/circuits/forms/models.py b/netbox/circuits/forms/models.py index da9e45a1329..7dd85aef90a 100644 --- a/netbox/circuits/forms/models.py +++ b/netbox/circuits/forms/models.py @@ -158,6 +158,14 @@ class CircuitTerminationForm(NetBoxModelForm): }, required=False ) + provider_network_provider = DynamicModelChoiceField( + queryset=Provider.objects.all(), + required=False, + label='Provider', + initial_params={ + 'networks': 'provider_network' + } + ) provider_network = DynamicModelChoiceField( queryset=ProviderNetwork.objects.all(), query_params={ @@ -165,19 +173,13 @@ class CircuitTerminationForm(NetBoxModelForm): }, required=False ) - provider_network_provider = DynamicModelChoiceField( - queryset=Provider.objects.all(), # See if we can expose circuit_count to Providers filter, and only show the Providers that have a Networks - required=False, - # initial_params={ - # 'provider_id': '$provider_network.provider' # How can we pre-select the provider of the 'selected' item ? - # } - ) class Meta: model = CircuitTermination fields = [ - 'provider', 'circuit', 'term_side', 'region', 'site_group', 'site', 'provider_network_provider', 'provider_network', 'mark_connected', - 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info', 'description', 'tags', + 'provider', 'circuit', 'term_side', 'region', 'site_group', 'site', 'provider_network_provider', + 'provider_network', 'mark_connected', 'port_speed', 'upstream_speed', 'xconnect_id', 'pp_info', + 'description', 'tags', ] help_texts = { 'port_speed': "Physical circuit speed", diff --git a/netbox/templates/circuits/circuittermination_edit.html b/netbox/templates/circuits/circuittermination_edit.html index 6c3d2754c89..f171ecc1bff 100644 --- a/netbox/templates/circuits/circuittermination_edit.html +++ b/netbox/templates/circuits/circuittermination_edit.html @@ -7,7 +7,7 @@
Circuit Termination
- {% render_field form.provider label="Circuit Provider" %} + {% render_field form.provider %} {% render_field form.circuit %} {% render_field form.term_side %} {% render_field form.tags %} @@ -32,7 +32,7 @@
Circuit Termination
{% render_field form.site %}
- {% render_field form.provider_network_provider label="Provider" %} + {% render_field form.provider_network_provider %} {% render_field form.provider_network %}