mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Add a description field to all organizational models
This commit is contained in:
@@ -24,7 +24,7 @@ class ClusterTypeSerializer(ValidatedModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = ClusterType
|
||||
fields = ['id', 'name', 'slug', 'cluster_count']
|
||||
fields = ['id', 'name', 'slug', 'description', 'cluster_count']
|
||||
|
||||
|
||||
class ClusterGroupSerializer(ValidatedModelSerializer):
|
||||
@@ -32,7 +32,7 @@ class ClusterGroupSerializer(ValidatedModelSerializer):
|
||||
|
||||
class Meta:
|
||||
model = ClusterGroup
|
||||
fields = ['id', 'name', 'slug', 'cluster_count']
|
||||
fields = ['id', 'name', 'slug', 'description', 'cluster_count']
|
||||
|
||||
|
||||
class ClusterSerializer(TaggitSerializer, CustomFieldModelSerializer):
|
||||
|
||||
@@ -24,14 +24,14 @@ class ClusterTypeFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
|
||||
|
||||
class Meta:
|
||||
model = ClusterType
|
||||
fields = ['id', 'name', 'slug']
|
||||
fields = ['id', 'name', 'slug', 'description']
|
||||
|
||||
|
||||
class ClusterGroupFilterSet(BaseFilterSet, NameSlugSearchFilterSet):
|
||||
|
||||
class Meta:
|
||||
model = ClusterGroup
|
||||
fields = ['id', 'name', 'slug']
|
||||
fields = ['id', 'name', 'slug', 'description']
|
||||
|
||||
|
||||
class ClusterFilterSet(BaseFilterSet, TenancyFilterSet, CustomFieldFilterSet, CreatedUpdatedFilterSet):
|
||||
|
||||
@@ -31,7 +31,7 @@ class ClusterTypeForm(BootstrapMixin, forms.ModelForm):
|
||||
class Meta:
|
||||
model = ClusterType
|
||||
fields = [
|
||||
'name', 'slug',
|
||||
'name', 'slug', 'description',
|
||||
]
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ class ClusterGroupForm(BootstrapMixin, forms.ModelForm):
|
||||
class Meta:
|
||||
model = ClusterGroup
|
||||
fields = [
|
||||
'name', 'slug',
|
||||
'name', 'slug', 'description',
|
||||
]
|
||||
|
||||
|
||||
|
||||
@@ -34,8 +34,12 @@ class ClusterType(ChangeLoggedModel):
|
||||
slug = models.SlugField(
|
||||
unique=True
|
||||
)
|
||||
description = models.CharField(
|
||||
max_length=200,
|
||||
blank=True
|
||||
)
|
||||
|
||||
csv_headers = ['name', 'slug']
|
||||
csv_headers = ['name', 'slug', 'description']
|
||||
|
||||
class Meta:
|
||||
ordering = ['name']
|
||||
@@ -50,6 +54,7 @@ class ClusterType(ChangeLoggedModel):
|
||||
return (
|
||||
self.name,
|
||||
self.slug,
|
||||
self.description,
|
||||
)
|
||||
|
||||
|
||||
@@ -68,8 +73,12 @@ class ClusterGroup(ChangeLoggedModel):
|
||||
slug = models.SlugField(
|
||||
unique=True
|
||||
)
|
||||
description = models.CharField(
|
||||
max_length=200,
|
||||
blank=True
|
||||
)
|
||||
|
||||
csv_headers = ['name', 'slug']
|
||||
csv_headers = ['name', 'slug', 'description']
|
||||
|
||||
class Meta:
|
||||
ordering = ['name']
|
||||
@@ -84,6 +93,7 @@ class ClusterGroup(ChangeLoggedModel):
|
||||
return (
|
||||
self.name,
|
||||
self.slug,
|
||||
self.description,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ class ClusterTypeTable(BaseTable):
|
||||
|
||||
class Meta(BaseTable.Meta):
|
||||
model = ClusterType
|
||||
fields = ('pk', 'name', 'cluster_count', 'actions')
|
||||
fields = ('pk', 'name', 'cluster_count', 'description', 'actions')
|
||||
|
||||
|
||||
#
|
||||
@@ -74,7 +74,7 @@ class ClusterGroupTable(BaseTable):
|
||||
|
||||
class Meta(BaseTable.Meta):
|
||||
model = ClusterGroup
|
||||
fields = ('pk', 'name', 'cluster_count', 'actions')
|
||||
fields = ('pk', 'name', 'cluster_count', 'description', 'actions')
|
||||
|
||||
|
||||
#
|
||||
|
||||
@@ -15,9 +15,9 @@ class ClusterTypeTestCase(TestCase):
|
||||
def setUpTestData(cls):
|
||||
|
||||
cluster_types = (
|
||||
ClusterType(name='Cluster Type 1', slug='cluster-type-1'),
|
||||
ClusterType(name='Cluster Type 2', slug='cluster-type-2'),
|
||||
ClusterType(name='Cluster Type 3', slug='cluster-type-3'),
|
||||
ClusterType(name='Cluster Type 1', slug='cluster-type-1', description='A'),
|
||||
ClusterType(name='Cluster Type 2', slug='cluster-type-2', description='B'),
|
||||
ClusterType(name='Cluster Type 3', slug='cluster-type-3', description='C'),
|
||||
)
|
||||
ClusterType.objects.bulk_create(cluster_types)
|
||||
|
||||
@@ -34,6 +34,10 @@ class ClusterTypeTestCase(TestCase):
|
||||
params = {'slug': ['cluster-type-1', 'cluster-type-2']}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_description(self):
|
||||
params = {'description': ['A', 'B']}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
class ClusterGroupTestCase(TestCase):
|
||||
queryset = ClusterGroup.objects.all()
|
||||
@@ -43,9 +47,9 @@ class ClusterGroupTestCase(TestCase):
|
||||
def setUpTestData(cls):
|
||||
|
||||
cluster_groups = (
|
||||
ClusterGroup(name='Cluster Group 1', slug='cluster-group-1'),
|
||||
ClusterGroup(name='Cluster Group 2', slug='cluster-group-2'),
|
||||
ClusterGroup(name='Cluster Group 3', slug='cluster-group-3'),
|
||||
ClusterGroup(name='Cluster Group 1', slug='cluster-group-1', description='A'),
|
||||
ClusterGroup(name='Cluster Group 2', slug='cluster-group-2', description='B'),
|
||||
ClusterGroup(name='Cluster Group 3', slug='cluster-group-3', description='C'),
|
||||
)
|
||||
ClusterGroup.objects.bulk_create(cluster_groups)
|
||||
|
||||
@@ -62,6 +66,10 @@ class ClusterGroupTestCase(TestCase):
|
||||
params = {'slug': ['cluster-group-1', 'cluster-group-2']}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
def test_description(self):
|
||||
params = {'description': ['A', 'B']}
|
||||
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
|
||||
|
||||
|
||||
class ClusterTestCase(TestCase):
|
||||
queryset = Cluster.objects.all()
|
||||
|
||||
@@ -23,13 +23,14 @@ class ClusterGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
||||
cls.form_data = {
|
||||
'name': 'Cluster Group X',
|
||||
'slug': 'cluster-group-x',
|
||||
'description': 'A new cluster group',
|
||||
}
|
||||
|
||||
cls.csv_data = (
|
||||
"name,slug",
|
||||
"Cluster Group 4,cluster-group-4",
|
||||
"Cluster Group 5,cluster-group-5",
|
||||
"Cluster Group 6,cluster-group-6",
|
||||
"name,slug,description",
|
||||
"Cluster Group 4,cluster-group-4,Fourth cluster group",
|
||||
"Cluster Group 5,cluster-group-5,Fifth cluster group",
|
||||
"Cluster Group 6,cluster-group-6,Sixth cluster group",
|
||||
)
|
||||
|
||||
|
||||
@@ -48,13 +49,14 @@ class ClusterTypeTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
||||
cls.form_data = {
|
||||
'name': 'Cluster Type X',
|
||||
'slug': 'cluster-type-x',
|
||||
'description': 'A new cluster type',
|
||||
}
|
||||
|
||||
cls.csv_data = (
|
||||
"name,slug",
|
||||
"Cluster Type 4,cluster-type-4",
|
||||
"Cluster Type 5,cluster-type-5",
|
||||
"Cluster Type 6,cluster-type-6",
|
||||
"name,slug,description",
|
||||
"Cluster Type 4,cluster-type-4,Fourth cluster type",
|
||||
"Cluster Type 5,cluster-type-5,Fifth cluster type",
|
||||
"Cluster Type 6,cluster-type-6,Sixth cluster type",
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user