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:
|
||||
model = CircuitGroup
|
||||
fields = [
|
||||
'id', 'url', 'display_url', 'display', 'name',
|
||||
'id', 'url', 'display_url', 'display', 'name', 'slug', 'description',
|
||||
'tags', 'custom_fields', 'created', 'last_updated',
|
||||
]
|
||||
brief_fields = ('id', 'url', 'display', 'name',)
|
||||
brief_fields = ('id', 'url', 'display', 'name', 'slug',)
|
||||
|
||||
|
||||
class CircuitGroupAssignmentSerializer(NetBoxModelSerializer):
|
||||
|
@ -224,19 +224,26 @@ class CircuitTerminationBulkEditForm(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(
|
||||
label=_('Tenant'),
|
||||
queryset=Tenant.objects.all(),
|
||||
required=False
|
||||
)
|
||||
comments = CommentField()
|
||||
|
||||
model = CircuitGroup
|
||||
fieldsets = (
|
||||
FieldSet('tenant', name=_('Tenancy')),
|
||||
)
|
||||
nullable_fields = (
|
||||
'tenant', 'comments',
|
||||
'priority', 'description', 'tenant',
|
||||
)
|
||||
|
||||
|
||||
|
@ -165,7 +165,7 @@ class CircuitGroupImportForm(NetBoxModelImportForm):
|
||||
|
||||
class Meta:
|
||||
model = CircuitGroup
|
||||
fields = ('name', 'tenant', 'tags')
|
||||
fields = ('name', 'slug', 'description', 'tenant', 'tags')
|
||||
|
||||
|
||||
class CircuitGroupAssignmentImportForm(NetBoxModelImportForm):
|
||||
|
@ -176,13 +176,12 @@ class CircuitTerminationForm(NetBoxModelForm):
|
||||
|
||||
|
||||
class CircuitGroupForm(TenancyForm, NetBoxModelForm):
|
||||
comments = CommentField()
|
||||
slug = SlugField()
|
||||
|
||||
class Meta:
|
||||
model = CircuitGroup
|
||||
fields = [
|
||||
'name', 'tenant_group', 'tenant',
|
||||
'comments', 'tags',
|
||||
'name', 'slug', 'description', 'tenant_group', 'tenant', 'tags',
|
||||
]
|
||||
|
||||
|
||||
|
@ -100,7 +100,7 @@ class CircuitType(NetBoxObjectType, ContactsMixin):
|
||||
fields='__all__',
|
||||
filters=CircuitGroupFilter
|
||||
)
|
||||
class CircuitGroupType(CustomFieldsMixin, TagsMixin, ObjectType):
|
||||
class CircuitGroupType(NetBoxObjectType):
|
||||
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 taggit.managers
|
||||
@ -25,10 +25,9 @@ class Migration(migrations.Migration):
|
||||
'custom_field_data',
|
||||
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)),
|
||||
('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')),
|
||||
(
|
||||
'tenant',
|
||||
|
@ -153,17 +153,9 @@ class Circuit(ContactsMixin, ImageAttachmentsMixin, PrimaryModel):
|
||||
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(
|
||||
to='tenancy.Tenant',
|
||||
on_delete=models.PROTECT,
|
||||
|
@ -208,57 +208,32 @@ class CircuitTerminationTest(APIViewTestCases.APIViewTestCase):
|
||||
|
||||
class CircuitGroupTest(APIViewTestCases.APIViewTestCase):
|
||||
model = CircuitGroup
|
||||
brief_fields = ['name', 'description', 'display', 'id', 'url']
|
||||
brief_fields = ['id', 'url', 'display', 'name']
|
||||
bulk_update_data = {
|
||||
'status': 'planned',
|
||||
'comments': 'New comments',
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
|
||||
providers = (
|
||||
Provider(name='Provider 1', slug='provider-1'),
|
||||
Provider(name='Provider 2', slug='provider-2'),
|
||||
circuit_groups = (
|
||||
CircuitGroup(name="Circuit Group 1", slug='circuit-group-1'),
|
||||
CircuitGroup(name="Circuit Group 2", slug='circuit-group-2'),
|
||||
CircuitGroup(name="Circuit Group 3", slug='circuit-group-3'),
|
||||
)
|
||||
Provider.objects.bulk_create(providers)
|
||||
|
||||
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)
|
||||
CircuitGroup.objects.bulk_create(circuit_groups)
|
||||
|
||||
cls.create_data = [
|
||||
{
|
||||
'cid': 'Circuit 4',
|
||||
'provider': providers[1].pk,
|
||||
'provider_account': provider_accounts[1].pk,
|
||||
'type': circuit_types[1].pk,
|
||||
'name': 'Circuit Group 4',
|
||||
'slug': 'circuit-group-4',
|
||||
},
|
||||
{
|
||||
'cid': 'Circuit 5',
|
||||
'provider': providers[1].pk,
|
||||
'provider_account': provider_accounts[1].pk,
|
||||
'type': circuit_types[1].pk,
|
||||
'name': 'Circuit Group 5',
|
||||
'slug': 'circuit-group-5',
|
||||
},
|
||||
{
|
||||
'cid': 'Circuit 6',
|
||||
'provider': providers[1].pk,
|
||||
# Omit provider account to test uniqueness constraint
|
||||
'type': circuit_types[1].pk,
|
||||
'name': 'Circuit Group 6',
|
||||
'slug': 'circuit-group-6',
|
||||
},
|
||||
]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user