1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Add missing filters

This commit is contained in:
Jeremy Stretch
2024-03-05 17:15:21 -05:00
parent 6af12b1814
commit 16b422cbac
8 changed files with 182 additions and 95 deletions

View File

@@ -40,12 +40,14 @@ class ScriptFilterSet(BaseFilterSet):
method='search',
label=_('Search'),
)
module_id = django_filters.ModelMultipleChoiceFilter(
queryset=ScriptModule.objects.all(),
label=_('Script module (ID)'),
)
class Meta:
model = Script
fields = [
'id', 'name',
]
fields = ('id', 'name', 'is_executable')
def search(self, queryset, name, value):
if not value.strip():
@@ -69,10 +71,10 @@ class WebhookFilterSet(NetBoxModelFilterSet):
class Meta:
model = Webhook
fields = [
fields = (
'id', 'name', 'payload_url', 'http_method', 'http_content_type', 'secret', 'ssl_verification',
'ca_file_path', 'description',
]
)
def search(self, queryset, name, value):
if not value.strip():
@@ -103,10 +105,10 @@ class EventRuleFilterSet(NetBoxModelFilterSet):
class Meta:
model = EventRule
fields = [
fields = (
'id', 'name', 'type_create', 'type_update', 'type_delete', 'type_job_start', 'type_job_end', 'enabled',
'action_type', 'description',
]
)
def search(self, queryset, name, value):
if not value.strip():
@@ -118,7 +120,7 @@ class EventRuleFilterSet(NetBoxModelFilterSet):
)
class CustomFieldFilterSet(BaseFilterSet):
class CustomFieldFilterSet(ChangeLoggedModelFilterSet):
q = django_filters.CharFilter(
method='search',
label=_('Search'),
@@ -147,10 +149,11 @@ class CustomFieldFilterSet(BaseFilterSet):
class Meta:
model = CustomField
fields = [
'id', 'name', 'group_name', 'required', 'search_weight', 'filter_logic', 'ui_visible', 'ui_editable',
'weight', 'is_cloneable', 'description',
]
fields = (
'id', 'name', 'label', 'group_name', 'required', 'search_weight', 'filter_logic', 'ui_visible',
'ui_editable', 'weight', 'is_cloneable', 'description', 'validation_minimum', 'validation_maximum',
'validation_regex',
)
def search(self, queryset, name, value):
if not value.strip():
@@ -163,7 +166,7 @@ class CustomFieldFilterSet(BaseFilterSet):
)
class CustomFieldChoiceSetFilterSet(BaseFilterSet):
class CustomFieldChoiceSetFilterSet(ChangeLoggedModelFilterSet):
q = django_filters.CharFilter(
method='search',
label=_('Search'),
@@ -174,9 +177,9 @@ class CustomFieldChoiceSetFilterSet(BaseFilterSet):
class Meta:
model = CustomFieldChoiceSet
fields = [
fields = (
'id', 'name', 'description', 'base_choices', 'order_alphabetically',
]
)
def search(self, queryset, name, value):
if not value.strip():
@@ -191,7 +194,7 @@ class CustomFieldChoiceSetFilterSet(BaseFilterSet):
return queryset.filter(extra_choices__overlap=value)
class CustomLinkFilterSet(BaseFilterSet):
class CustomLinkFilterSet(ChangeLoggedModelFilterSet):
q = django_filters.CharFilter(
method='search',
label=_('Search'),
@@ -205,9 +208,9 @@ class CustomLinkFilterSet(BaseFilterSet):
class Meta:
model = CustomLink
fields = [
'id', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'new_window',
]
fields = (
'id', 'name', 'enabled', 'link_text', 'link_url', 'weight', 'group_name', 'new_window', 'button_class',
)
def search(self, queryset, name, value):
if not value.strip():
@@ -220,7 +223,7 @@ class CustomLinkFilterSet(BaseFilterSet):
)
class ExportTemplateFilterSet(BaseFilterSet):
class ExportTemplateFilterSet(ChangeLoggedModelFilterSet):
q = django_filters.CharFilter(
method='search',
label=_('Search'),
@@ -242,7 +245,10 @@ class ExportTemplateFilterSet(BaseFilterSet):
class Meta:
model = ExportTemplate
fields = ['id', 'name', 'description', 'data_synced']
fields = (
'id', 'name', 'description', 'mime_type', 'file_extension', 'as_attachment', 'auto_sync_enabled',
'data_synced',
)
def search(self, queryset, name, value):
if not value.strip():
@@ -253,7 +259,7 @@ class ExportTemplateFilterSet(BaseFilterSet):
)
class SavedFilterFilterSet(BaseFilterSet):
class SavedFilterFilterSet(ChangeLoggedModelFilterSet):
q = django_filters.CharFilter(
method='search',
label=_('Search'),
@@ -280,7 +286,7 @@ class SavedFilterFilterSet(BaseFilterSet):
class Meta:
model = SavedFilter
fields = ['id', 'name', 'slug', 'description', 'enabled', 'shared', 'weight']
fields = ('id', 'name', 'slug', 'description', 'enabled', 'shared', 'weight')
def search(self, queryset, name, value):
if not value.strip():
@@ -324,17 +330,16 @@ class BookmarkFilterSet(BaseFilterSet):
fields = ['id', 'object_id']
class ImageAttachmentFilterSet(BaseFilterSet):
class ImageAttachmentFilterSet(ChangeLoggedModelFilterSet):
q = django_filters.CharFilter(
method='search',
label=_('Search'),
)
created = django_filters.DateTimeFilter()
object_type = ContentTypeFilter()
class Meta:
model = ImageAttachment
fields = ['id', 'object_type_id', 'object_id', 'name']
fields = ('id', 'object_type_id', 'object_id', 'name', 'image_width', 'image_height')
def search(self, queryset, name, value):
if not value.strip():
@@ -579,7 +584,7 @@ class ConfigContextFilterSet(ChangeLoggedModelFilterSet):
class Meta:
model = ConfigContext
fields = ['id', 'name', 'is_active', 'data_synced', 'description']
fields = ('id', 'name', 'is_active', 'description', 'weight', 'auto_sync_enabled', 'data_synced')
def search(self, queryset, name, value):
if not value.strip():
@@ -591,7 +596,7 @@ class ConfigContextFilterSet(ChangeLoggedModelFilterSet):
)
class ConfigTemplateFilterSet(BaseFilterSet):
class ConfigTemplateFilterSet(ChangeLoggedModelFilterSet):
q = django_filters.CharFilter(
method='search',
label=_('Search'),
@@ -608,7 +613,7 @@ class ConfigTemplateFilterSet(BaseFilterSet):
class Meta:
model = ConfigTemplate
fields = ['id', 'name', 'description', 'data_synced']
fields = ('id', 'name', 'description', 'auto_sync_enabled', 'data_synced')
def search(self, queryset, name, value):
if not value.strip():
@@ -656,10 +661,10 @@ class ObjectChangeFilterSet(BaseFilterSet):
class Meta:
model = ObjectChange
fields = [
fields = (
'id', 'user', 'user_name', 'request_id', 'action', 'changed_object_type_id', 'changed_object_id',
'object_repr',
]
'related_object_type', 'related_object_id', 'object_repr',
)
def search(self, queryset, name, value):
if not value.strip():