mirror of
https://github.com/netbox-community/netbox.git
synced 2026-01-19 10:08:44 -06:00
* Initial work on #11541 * Merge migrations * Limit tags by object type during assignment * Add tests for object type validation * Fix form field parameters
This commit is contained in:
@@ -258,10 +258,13 @@ class TagFilterSet(ChangeLoggedModelFilterSet):
|
||||
content_type_id = MultiValueNumberFilter(
|
||||
method='_content_type_id'
|
||||
)
|
||||
for_object_type_id = MultiValueNumberFilter(
|
||||
method='_for_object_type'
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = Tag
|
||||
fields = ['id', 'name', 'slug', 'color', 'description']
|
||||
fields = ['id', 'name', 'slug', 'color', 'description', 'object_types']
|
||||
|
||||
def search(self, queryset, name, value):
|
||||
if not value.strip():
|
||||
@@ -298,6 +301,11 @@ class TagFilterSet(ChangeLoggedModelFilterSet):
|
||||
|
||||
return queryset.filter(extras_taggeditem_items__content_type__in=content_types).distinct()
|
||||
|
||||
def _for_object_type(self, queryset, name, values):
|
||||
return queryset.filter(
|
||||
Q(object_types__id__in=values) | Q(object_types__isnull=True)
|
||||
)
|
||||
|
||||
|
||||
class ConfigContextFilterSet(ChangeLoggedModelFilterSet):
|
||||
q = django_filters.CharFilter(
|
||||
|
||||
Reference in New Issue
Block a user