9604 form bulk_import

This commit is contained in:
Arthur Hanson 2024-10-21 11:09:46 -07:00
parent 5dfbd4ac8b
commit 30c5fa8c7a

View File

@ -1,13 +1,14 @@
from django import forms from django import forms
from django.contrib.contenttypes.models import ContentType
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from circuits.choices import * from circuits.choices import *
from circuits.constants import *
from circuits.models import * from circuits.models import *
from dcim.models import Site
from netbox.choices import DistanceUnitChoices from netbox.choices import DistanceUnitChoices
from netbox.forms import NetBoxModelImportForm from netbox.forms import NetBoxModelImportForm
from tenancy.models import Tenant from tenancy.models import Tenant
from utilities.forms.fields import CSVChoiceField, CSVModelChoiceField, SlugField from utilities.forms.fields import CSVChoiceField, CSVContentTypeField, CSVModelChoiceField, SlugField
__all__ = ( __all__ = (
'CircuitImportForm', 'CircuitImportForm',
@ -127,11 +128,10 @@ class BaseCircuitTerminationImportForm(forms.ModelForm):
label=_('Termination'), label=_('Termination'),
choices=CircuitTerminationSideChoices, choices=CircuitTerminationSideChoices,
) )
site = CSVModelChoiceField( scope_type = CSVContentTypeField(
label=_('Site'), queryset=ContentType.objects.filter(model__in=CIRCUIT_TERMINATION_SCOPE_TYPES),
queryset=Site.objects.all(), required=False,
to_field_name='name', label=_('Scope type (app & model)')
required=False
) )
provider_network = CSVModelChoiceField( provider_network = CSVModelChoiceField(
label=_('Provider network'), label=_('Provider network'),
@ -145,9 +145,12 @@ class CircuitTerminationImportRelatedForm(BaseCircuitTerminationImportForm):
class Meta: class Meta:
model = CircuitTermination model = CircuitTermination
fields = [ fields = [
'circuit', 'term_side', 'site', 'provider_network', 'port_speed', 'upstream_speed', 'xconnect_id', 'circuit', 'term_side', 'scope_type', 'scope_id', 'provider_network', 'port_speed', 'upstream_speed', 'xconnect_id',
'pp_info', 'description' 'pp_info', 'description'
] ]
labels = {
'scope_id': 'Scope ID',
}
class CircuitTerminationImportForm(NetBoxModelImportForm, BaseCircuitTerminationImportForm): class CircuitTerminationImportForm(NetBoxModelImportForm, BaseCircuitTerminationImportForm):
@ -155,9 +158,12 @@ class CircuitTerminationImportForm(NetBoxModelImportForm, BaseCircuitTermination
class Meta: class Meta:
model = CircuitTermination model = CircuitTermination
fields = [ fields = [
'circuit', 'term_side', 'site', 'provider_network', 'port_speed', 'upstream_speed', 'xconnect_id', 'circuit', 'term_side', 'scope_type', 'scope_id', 'provider_network', 'port_speed', 'upstream_speed', 'xconnect_id',
'pp_info', 'description', 'tags' 'pp_info', 'description', 'tags'
] ]
labels = {
'scope_id': 'Scope ID',
}
class CircuitGroupImportForm(NetBoxModelImportForm): class CircuitGroupImportForm(NetBoxModelImportForm):