diff --git a/netbox/templates/wireless/wirelesslangroup.html b/netbox/templates/wireless/wirelesslangroup.html
index cb08b1b52..913e9da4c 100644
--- a/netbox/templates/wireless/wirelesslangroup.html
+++ b/netbox/templates/wireless/wirelesslangroup.html
@@ -40,6 +40,7 @@
{% include 'inc/panels/tags.html' %}
+ {% include 'inc/panels/comments.html' %}
{% plugin_left_page object %}
diff --git a/netbox/wireless/api/serializers_/wirelesslans.py b/netbox/wireless/api/serializers_/wirelesslans.py
index 68f79daf6..97d57f9f5 100644
--- a/netbox/wireless/api/serializers_/wirelesslans.py
+++ b/netbox/wireless/api/serializers_/wirelesslans.py
@@ -26,7 +26,7 @@ class WirelessLANGroupSerializer(NestedGroupModelSerializer):
model = WirelessLANGroup
fields = [
'id', 'url', 'display_url', 'display', 'name', 'slug', 'parent', 'description', 'tags', 'custom_fields',
- 'created', 'last_updated', 'wirelesslan_count', '_depth',
+ 'created', 'last_updated', 'wirelesslan_count', 'comments', '_depth',
]
brief_fields = ('id', 'url', 'display', 'name', 'slug', 'description', 'wirelesslan_count', '_depth')
diff --git a/netbox/wireless/filtersets.py b/netbox/wireless/filtersets.py
index cc5aefbd8..17ef66c0a 100644
--- a/netbox/wireless/filtersets.py
+++ b/netbox/wireless/filtersets.py
@@ -43,6 +43,16 @@ class WirelessLANGroupFilterSet(OrganizationalModelFilterSet):
model = WirelessLANGroup
fields = ('id', 'name', 'slug', 'description')
+ def search(self, queryset, name, value):
+ if not value.strip():
+ return queryset
+ return queryset.filter(
+ Q(name__icontains=value) |
+ Q(slug__icontains=value) |
+ Q(description__icontains=value) |
+ Q(comments__icontains=value)
+ )
+
class WirelessLANFilterSet(NetBoxModelFilterSet, ScopedFilterSet, TenancyFilterSet):
group_id = TreeNodeMultipleChoiceFilter(
diff --git a/netbox/wireless/forms/bulk_edit.py b/netbox/wireless/forms/bulk_edit.py
index 5cd3a157a..1a75512e1 100644
--- a/netbox/wireless/forms/bulk_edit.py
+++ b/netbox/wireless/forms/bulk_edit.py
@@ -32,12 +32,13 @@ class WirelessLANGroupBulkEditForm(NetBoxModelBulkEditForm):
max_length=200,
required=False
)
+ comments = CommentField()
model = WirelessLANGroup
fieldsets = (
FieldSet('parent', 'description'),
)
- nullable_fields = ('parent', 'description')
+ nullable_fields = ('parent', 'description', 'comments')
class WirelessLANBulkEditForm(ScopedBulkEditForm, NetBoxModelBulkEditForm):
diff --git a/netbox/wireless/forms/bulk_import.py b/netbox/wireless/forms/bulk_import.py
index 1fece7e46..389dcf25d 100644
--- a/netbox/wireless/forms/bulk_import.py
+++ b/netbox/wireless/forms/bulk_import.py
@@ -30,7 +30,7 @@ class WirelessLANGroupImportForm(NetBoxModelImportForm):
class Meta:
model = WirelessLANGroup
- fields = ('name', 'slug', 'parent', 'description', 'tags')
+ fields = ('name', 'slug', 'parent', 'description', 'tags', 'comments')
class WirelessLANImportForm(ScopedImportForm, NetBoxModelImportForm):
diff --git a/netbox/wireless/forms/model_forms.py b/netbox/wireless/forms/model_forms.py
index 9cfcca7ba..56422ab57 100644
--- a/netbox/wireless/forms/model_forms.py
+++ b/netbox/wireless/forms/model_forms.py
@@ -24,6 +24,7 @@ class WirelessLANGroupForm(NetBoxModelForm):
required=False
)
slug = SlugField()
+ comments = CommentField()
fieldsets = (
FieldSet('parent', 'name', 'slug', 'description', 'tags', name=_('Wireless LAN Group')),
@@ -32,7 +33,7 @@ class WirelessLANGroupForm(NetBoxModelForm):
class Meta:
model = WirelessLANGroup
fields = [
- 'parent', 'name', 'slug', 'description', 'tags',
+ 'parent', 'name', 'slug', 'description', 'tags', 'comments',
]
diff --git a/netbox/wireless/search.py b/netbox/wireless/search.py
index e1be53c09..3c1565cb7 100644
--- a/netbox/wireless/search.py
+++ b/netbox/wireless/search.py
@@ -21,6 +21,7 @@ class WirelessLANGroupIndex(SearchIndex):
('name', 100),
('slug', 110),
('description', 500),
+ ('comments', 5000),
)
display_attrs = ('description',)
diff --git a/netbox/wireless/tests/test_api.py b/netbox/wireless/tests/test_api.py
index f768eafaf..0fe5e45f6 100644
--- a/netbox/wireless/tests/test_api.py
+++ b/netbox/wireless/tests/test_api.py
@@ -24,10 +24,12 @@ class WirelessLANGroupTest(APIViewTestCases.APIViewTestCase):
{
'name': 'Wireless LAN Group 4',
'slug': 'wireless-lan-group-4',
+ 'comments': '',
},
{
'name': 'Wireless LAN Group 5',
'slug': 'wireless-lan-group-5',
+ 'comments': 'LAN Group 5 comment',
},
{
'name': 'Wireless LAN Group 6',
@@ -36,6 +38,7 @@ class WirelessLANGroupTest(APIViewTestCases.APIViewTestCase):
]
bulk_update_data = {
'description': 'New description',
+ 'comments': 'New comment',
}
@classmethod
diff --git a/netbox/wireless/tests/test_filtersets.py b/netbox/wireless/tests/test_filtersets.py
index 27aab83d8..9e8905d4a 100644
--- a/netbox/wireless/tests/test_filtersets.py
+++ b/netbox/wireless/tests/test_filtersets.py
@@ -21,7 +21,10 @@ class WirelessLANGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
parent_groups = (
WirelessLANGroup(name='Wireless LAN Group 1', slug='wireless-lan-group-1', description='A'),
WirelessLANGroup(name='Wireless LAN Group 2', slug='wireless-lan-group-2', description='B'),
- WirelessLANGroup(name='Wireless LAN Group 3', slug='wireless-lan-group-3', description='C'),
+ WirelessLANGroup(
+ name='Wireless LAN Group 3', slug='wireless-lan-group-3', description='C',
+ comments='Parent Group 3 comment',
+ ),
)
for group in parent_groups:
group.save()
@@ -38,10 +41,15 @@ class WirelessLANGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
slug='wireless-lan-group-1b',
parent=parent_groups[0],
description='foobar2',
+ comments='Child Group 1B comment',
),
WirelessLANGroup(name='Wireless LAN Group 2A', slug='wireless-lan-group-2a', parent=parent_groups[1]),
WirelessLANGroup(name='Wireless LAN Group 2B', slug='wireless-lan-group-2b', parent=parent_groups[1]),
- WirelessLANGroup(name='Wireless LAN Group 3A', slug='wireless-lan-group-3a', parent=parent_groups[2]),
+ WirelessLANGroup(
+ name='Wireless LAN Group 3A', slug='wireless-lan-group-3a', parent=parent_groups[2],
+ comments='Wireless LAN Group 3A comment',
+
+ ),
WirelessLANGroup(name='Wireless LAN Group 3B', slug='wireless-lan-group-3b', parent=parent_groups[2]),
)
for group in groups:
@@ -62,6 +70,13 @@ class WirelessLANGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
params = {'q': 'foobar1'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
+ def test_q_comments(self):
+ params = {'q': 'parent'}
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)
+
+ params = {'q': 'comment'}
+ self.assertEqual(self.filterset(params, self.queryset).qs.count(), 3)
+
def test_name(self):
params = {'name': ['Wireless LAN Group 1', 'Wireless LAN Group 2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
diff --git a/netbox/wireless/tests/test_views.py b/netbox/wireless/tests/test_views.py
index 51af37364..975f18c0d 100644
--- a/netbox/wireless/tests/test_views.py
+++ b/netbox/wireless/tests/test_views.py
@@ -16,7 +16,9 @@ class WirelessLANGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
groups = (
WirelessLANGroup(name='Wireless LAN Group 1', slug='wireless-lan-group-1'),
- WirelessLANGroup(name='Wireless LAN Group 2', slug='wireless-lan-group-2'),
+ WirelessLANGroup(
+ name='Wireless LAN Group 2', slug='wireless-lan-group-2', comments='LAN Group 2 comment',
+ ),
WirelessLANGroup(name='Wireless LAN Group 3', slug='wireless-lan-group-3'),
)
for group in groups:
@@ -30,24 +32,26 @@ class WirelessLANGroupTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
'parent': groups[2].pk,
'description': 'A new wireless LAN group',
'tags': [t.pk for t in tags],
+ 'comments': 'LAN Group X comment',
}
cls.csv_data = (
- "name,slug,description",
- "Wireless LAN Group 4,wireless-lan-group-4,Fourth wireless LAN group",
- "Wireless LAN Group 5,wireless-lan-group-5,Fifth wireless LAN group",
- "Wireless LAN Group 6,wireless-lan-group-6,Sixth wireless LAN group",
+ "name,slug,description,comments",
+ "Wireless LAN Group 4,wireless-lan-group-4,Fourth wireless LAN group,",
+ "Wireless LAN Group 5,wireless-lan-group-5,Fifth wireless LAN group,",
+ "Wireless LAN Group 6,wireless-lan-group-6,Sixth wireless LAN group,LAN Group 6 comment",
)
cls.csv_update_data = (
- "id,name,description",
- f"{groups[0].pk},Wireless LAN Group 7,Fourth wireless LAN group7",
- f"{groups[1].pk},Wireless LAN Group 8,Fifth wireless LAN group8",
- f"{groups[2].pk},Wireless LAN Group 0,Sixth wireless LAN group9",
+ "id,name,description,comments",
+ f"{groups[0].pk},Wireless LAN Group 7,Fourth wireless LAN group7,Group 7 comment",
+ f"{groups[1].pk},Wireless LAN Group 8,Fifth wireless LAN group8,",
+ f"{groups[2].pk},Wireless LAN Group 0,Sixth wireless LAN group9,",
)
cls.bulk_edit_data = {
'description': 'New description',
+ 'comments': 'New Comments',
}