mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-08 08:38:16 -06:00
7025 fix forms/tests for CircuitGroup
This commit is contained in:
parent
6956d88bf9
commit
3d6548aa43
@ -84,10 +84,10 @@ class CircuitGroupSerializer(NetBoxModelSerializer):
|
|||||||
class Meta:
|
class Meta:
|
||||||
model = CircuitGroup
|
model = CircuitGroup
|
||||||
fields = [
|
fields = [
|
||||||
'id', 'url', 'display_url', 'display', 'name',
|
'id', 'url', 'display_url', 'display', 'name', 'slug', 'description',
|
||||||
'tags', 'custom_fields', 'created', 'last_updated',
|
'tags', 'custom_fields', 'created', 'last_updated',
|
||||||
]
|
]
|
||||||
brief_fields = ('id', 'url', 'display', 'name',)
|
brief_fields = ('id', 'url', 'display', 'name', 'slug',)
|
||||||
|
|
||||||
|
|
||||||
class CircuitGroupAssignmentSerializer(NetBoxModelSerializer):
|
class CircuitGroupAssignmentSerializer(NetBoxModelSerializer):
|
||||||
|
@ -224,19 +224,26 @@ class CircuitTerminationBulkEditForm(NetBoxModelBulkEditForm):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitGroupBulkEditForm(NetBoxModelBulkEditForm):
|
class CircuitGroupBulkEditForm(NetBoxModelBulkEditForm):
|
||||||
|
description = forms.CharField(
|
||||||
|
label=_('Description'),
|
||||||
|
max_length=200,
|
||||||
|
required=False
|
||||||
|
)
|
||||||
|
|
||||||
|
priority = forms.ChoiceField(
|
||||||
|
label=_('Priority'),
|
||||||
|
choices=add_blank_choice(CircuitPriorityChoices),
|
||||||
|
required=False
|
||||||
|
)
|
||||||
tenant = DynamicModelChoiceField(
|
tenant = DynamicModelChoiceField(
|
||||||
label=_('Tenant'),
|
label=_('Tenant'),
|
||||||
queryset=Tenant.objects.all(),
|
queryset=Tenant.objects.all(),
|
||||||
required=False
|
required=False
|
||||||
)
|
)
|
||||||
comments = CommentField()
|
|
||||||
|
|
||||||
model = CircuitGroup
|
model = CircuitGroup
|
||||||
fieldsets = (
|
|
||||||
FieldSet('tenant', name=_('Tenancy')),
|
|
||||||
)
|
|
||||||
nullable_fields = (
|
nullable_fields = (
|
||||||
'tenant', 'comments',
|
'priority', 'description', 'tenant',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ class CircuitGroupImportForm(NetBoxModelImportForm):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CircuitGroup
|
model = CircuitGroup
|
||||||
fields = ('name', 'tenant', 'tags')
|
fields = ('name', 'slug', 'description', 'tenant', 'tags')
|
||||||
|
|
||||||
|
|
||||||
class CircuitGroupAssignmentImportForm(NetBoxModelImportForm):
|
class CircuitGroupAssignmentImportForm(NetBoxModelImportForm):
|
||||||
|
@ -176,13 +176,12 @@ class CircuitTerminationForm(NetBoxModelForm):
|
|||||||
|
|
||||||
|
|
||||||
class CircuitGroupForm(TenancyForm, NetBoxModelForm):
|
class CircuitGroupForm(TenancyForm, NetBoxModelForm):
|
||||||
comments = CommentField()
|
slug = SlugField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = CircuitGroup
|
model = CircuitGroup
|
||||||
fields = [
|
fields = [
|
||||||
'name', 'tenant_group', 'tenant',
|
'name', 'slug', 'description', 'tenant_group', 'tenant', 'tags',
|
||||||
'comments', 'tags',
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ class CircuitType(NetBoxObjectType, ContactsMixin):
|
|||||||
fields='__all__',
|
fields='__all__',
|
||||||
filters=CircuitGroupFilter
|
filters=CircuitGroupFilter
|
||||||
)
|
)
|
||||||
class CircuitGroupType(CustomFieldsMixin, TagsMixin, ObjectType):
|
class CircuitGroupType(NetBoxObjectType):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Generated by Django 5.0.7 on 2024-07-19 04:18
|
# Generated by Django 5.0.7 on 2024-07-19 08:04
|
||||||
|
|
||||||
import django.db.models.deletion
|
import django.db.models.deletion
|
||||||
import taggit.managers
|
import taggit.managers
|
||||||
@ -25,10 +25,9 @@ class Migration(migrations.Migration):
|
|||||||
'custom_field_data',
|
'custom_field_data',
|
||||||
models.JSONField(blank=True, default=dict, encoder=utilities.json.CustomFieldJSONEncoder),
|
models.JSONField(blank=True, default=dict, encoder=utilities.json.CustomFieldJSONEncoder),
|
||||||
),
|
),
|
||||||
|
('name', models.CharField(max_length=100, unique=True)),
|
||||||
|
('slug', models.SlugField(max_length=100, unique=True)),
|
||||||
('description', models.CharField(blank=True, max_length=200)),
|
('description', models.CharField(blank=True, max_length=200)),
|
||||||
('comments', models.TextField(blank=True)),
|
|
||||||
('name', models.CharField(max_length=100)),
|
|
||||||
('slug', models.SlugField(max_length=100)),
|
|
||||||
('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')),
|
('tags', taggit.managers.TaggableManager(through='extras.TaggedItem', to='extras.Tag')),
|
||||||
(
|
(
|
||||||
'tenant',
|
'tenant',
|
||||||
|
@ -153,17 +153,9 @@ class Circuit(ContactsMixin, ImageAttachmentsMixin, PrimaryModel):
|
|||||||
raise ValidationError({'provider_account': "The assigned account must belong to the assigned provider."})
|
raise ValidationError({'provider_account': "The assigned account must belong to the assigned provider."})
|
||||||
|
|
||||||
|
|
||||||
class CircuitGroup(PrimaryModel):
|
class CircuitGroup(OrganizationalModel):
|
||||||
"""
|
"""
|
||||||
"""
|
"""
|
||||||
name = models.CharField(
|
|
||||||
verbose_name=_('name'),
|
|
||||||
max_length=100
|
|
||||||
)
|
|
||||||
slug = models.SlugField(
|
|
||||||
verbose_name=_('slug'),
|
|
||||||
max_length=100
|
|
||||||
)
|
|
||||||
tenant = models.ForeignKey(
|
tenant = models.ForeignKey(
|
||||||
to='tenancy.Tenant',
|
to='tenancy.Tenant',
|
||||||
on_delete=models.PROTECT,
|
on_delete=models.PROTECT,
|
||||||
|
@ -208,57 +208,32 @@ class CircuitTerminationTest(APIViewTestCases.APIViewTestCase):
|
|||||||
|
|
||||||
class CircuitGroupTest(APIViewTestCases.APIViewTestCase):
|
class CircuitGroupTest(APIViewTestCases.APIViewTestCase):
|
||||||
model = CircuitGroup
|
model = CircuitGroup
|
||||||
brief_fields = ['name', 'description', 'display', 'id', 'url']
|
brief_fields = ['id', 'url', 'display', 'name']
|
||||||
bulk_update_data = {
|
bulk_update_data = {
|
||||||
'status': 'planned',
|
'comments': 'New comments',
|
||||||
}
|
}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpTestData(cls):
|
def setUpTestData(cls):
|
||||||
|
circuit_groups = (
|
||||||
providers = (
|
CircuitGroup(name="Circuit Group 1", slug='circuit-group-1'),
|
||||||
Provider(name='Provider 1', slug='provider-1'),
|
CircuitGroup(name="Circuit Group 2", slug='circuit-group-2'),
|
||||||
Provider(name='Provider 2', slug='provider-2'),
|
CircuitGroup(name="Circuit Group 3", slug='circuit-group-3'),
|
||||||
)
|
)
|
||||||
Provider.objects.bulk_create(providers)
|
CircuitGroup.objects.bulk_create(circuit_groups)
|
||||||
|
|
||||||
provider_accounts = (
|
|
||||||
ProviderAccount(name='Provider Account 1', provider=providers[0], account='1234'),
|
|
||||||
ProviderAccount(name='Provider Account 2', provider=providers[1], account='2345'),
|
|
||||||
)
|
|
||||||
ProviderAccount.objects.bulk_create(provider_accounts)
|
|
||||||
|
|
||||||
circuit_types = (
|
|
||||||
CircuitType(name='Circuit Type 1', slug='circuit-type-1'),
|
|
||||||
CircuitType(name='Circuit Type 2', slug='circuit-type-2'),
|
|
||||||
)
|
|
||||||
CircuitType.objects.bulk_create(circuit_types)
|
|
||||||
|
|
||||||
circuits = (
|
|
||||||
Circuit(cid='Circuit 1', provider=providers[0], provider_account=provider_accounts[0], type=circuit_types[0]),
|
|
||||||
Circuit(cid='Circuit 2', provider=providers[0], provider_account=provider_accounts[0], type=circuit_types[0]),
|
|
||||||
Circuit(cid='Circuit 3', provider=providers[0], provider_account=provider_accounts[0], type=circuit_types[0]),
|
|
||||||
)
|
|
||||||
Circuit.objects.bulk_create(circuits)
|
|
||||||
|
|
||||||
cls.create_data = [
|
cls.create_data = [
|
||||||
{
|
{
|
||||||
'cid': 'Circuit 4',
|
'name': 'Circuit Group 4',
|
||||||
'provider': providers[1].pk,
|
'slug': 'circuit-group-4',
|
||||||
'provider_account': provider_accounts[1].pk,
|
|
||||||
'type': circuit_types[1].pk,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'cid': 'Circuit 5',
|
'name': 'Circuit Group 5',
|
||||||
'provider': providers[1].pk,
|
'slug': 'circuit-group-5',
|
||||||
'provider_account': provider_accounts[1].pk,
|
|
||||||
'type': circuit_types[1].pk,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'cid': 'Circuit 6',
|
'name': 'Circuit Group 6',
|
||||||
'provider': providers[1].pk,
|
'slug': 'circuit-group-6',
|
||||||
# Omit provider account to test uniqueness constraint
|
|
||||||
'type': circuit_types[1].pk,
|
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user