فهرست منبع

Closes #17183 - Add Object Types Field to Tag Bulk Import Form (#19639)

Martin Hauser 8 ماه پیش
والد
کامیت
9e0493c64c
2فایلهای تغییر یافته به همراه16 افزوده شده و 5 حذف شده
  1. 9 1
      netbox/extras/forms/bulk_import.py
  2. 7 4
      netbox/extras/tests/test_views.py

+ 9 - 1
netbox/extras/forms/bulk_import.py

@@ -238,10 +238,18 @@ class TagImportForm(CSVModelForm):
         label=_('Weight'),
         required=False
     )
+    object_types = CSVMultipleContentTypeField(
+        label=_('Object types'),
+        queryset=ObjectType.objects.with_feature('tags'),
+        help_text=_("One or more assigned object types"),
+        required=False,
+    )
 
     class Meta:
         model = Tag
-        fields = ('name', 'slug', 'color', 'weight', 'description')
+        fields = (
+            'name', 'slug', 'color', 'weight', 'description', 'object_types',
+        )
 
 
 class JournalEntryImportForm(NetBoxModelImportForm):

+ 7 - 4
netbox/extras/tests/test_views.py

@@ -444,6 +444,8 @@ class TagTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
     @classmethod
     def setUpTestData(cls):
 
+        site_ct = ContentType.objects.get_for_model(Site)
+
         tags = (
             Tag(name='Tag 1', slug='tag-1'),
             Tag(name='Tag 2', slug='tag-2', weight=1),
@@ -456,14 +458,15 @@ class TagTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
             'slug': 'tag-x',
             'color': 'c0c0c0',
             'comments': 'Some comments',
+            'object_types': [site_ct.pk],
             'weight': 11,
         }
 
         cls.csv_data = (
-            "name,slug,color,description,weight",
-            "Tag 4,tag-4,ff0000,Fourth tag,0",
-            "Tag 5,tag-5,00ff00,Fifth tag,1111",
-            "Tag 6,tag-6,0000ff,Sixth tag,0",
+            "name,slug,color,description,object_types,weight",
+            "Tag 4,tag-4,ff0000,Fourth tag,dcim.interface,0",
+            "Tag 5,tag-5,00ff00,Fifth tag,'dcim.device,dcim.site',1111",
+            "Tag 6,tag-6,0000ff,Sixth tag,dcim.site,0",
         )
 
         cls.csv_update_data = (