class JobResultFilterSet(BaseFilterSet, CustomFieldModelFilterSet): q = SearchFilter(filter_predicates={ "job_model__name": "icontains", "name": "icontains", "user__username": "******", }, ) job_model = django_filters.ModelMultipleChoiceFilter( field_name="job_model__slug", queryset=Job.objects.all(), to_field_name="slug", label="Job (slug)", ) job_model_id = django_filters.ModelMultipleChoiceFilter( queryset=Job.objects.all(), label="Job (ID)", ) obj_type = ContentTypeFilter() created = django_filters.DateTimeFilter() completed = django_filters.DateTimeFilter() status = django_filters.MultipleChoiceFilter( choices=JobResultStatusChoices, null_value=None) class Meta: model = JobResult fields = [ "id", "created", "completed", "status", "user", "obj_type", "name" ]
class CustomLinkFilterSet(BaseFilterSet): q = django_filters.CharFilter( method="search", label="Search", ) content_type = ContentTypeFilter() class Meta: model = CustomLink fields = ( "content_type", "name", "text", "target_url", "weight", "group_name", "button_class", "new_window", ) def search(self, queryset, name, value): if not value.strip(): return queryset return queryset.filter( Q(name__icontains=value) | Q(target_url__icontains=value) | Q(text__icontains=value) | Q(content_type__app_label__icontains=value) | Q(content_type__model__icontains=value) )
class ObjectChangeFilterSet(BaseFilterSet): q = django_filters.CharFilter( method="search", label="Search", ) time = django_filters.DateTimeFromToRangeFilter() changed_object_type = ContentTypeFilter() user_id = django_filters.ModelMultipleChoiceFilter( queryset=User.objects.all(), label="User (ID)", ) user = django_filters.ModelMultipleChoiceFilter( field_name="user__username", queryset=User.objects.all(), to_field_name="username", label="User name", ) class Meta: model = ObjectChange fields = [ "id", "user", "user_name", "request_id", "action", "changed_object_type_id", "changed_object_id", "object_repr", ] def search(self, queryset, name, value): if not value.strip(): return queryset return queryset.filter(Q(user_name__icontains=value) | Q(object_repr__icontains=value))
class ObjectChangeFilterSet(BaseFilterSet): q = SearchFilter(filter_predicates={ "user_name": "icontains", "object_repr": "icontains", }, ) changed_object_type = ContentTypeFilter() user_id = django_filters.ModelMultipleChoiceFilter( queryset=get_user_model().objects.all(), label="User (ID)", ) user = django_filters.ModelMultipleChoiceFilter( field_name="user__username", queryset=get_user_model().objects.all(), to_field_name="username", label="User name", ) class Meta: model = ObjectChange fields = [ "id", "user", "user_name", "request_id", "action", "changed_object_type_id", "changed_object_id", "object_repr", "time", ]
class ComputedFieldFilterSet(BaseFilterSet): q = django_filters.CharFilter( method="search", label="Search", ) content_type = ContentTypeFilter() class Meta: model = ComputedField fields = ( "content_type", "slug", "template", "fallback_value", "weight", ) def search(self, queryset, name, value): if not value.strip(): return queryset return queryset.filter( Q(name__icontains=value) | Q(target_url__icontains=value) | Q(text__icontains=value) | Q(content_type__app_label__icontains=value) | Q(content_type__model__icontains=value))
class ConfigContextSchemaFilterSet(BaseFilterSet): q = SearchFilter(filter_predicates={ "name": "icontains", "description": "icontains", "data_schema": "icontains", }, ) owner_content_type = ContentTypeFilter() class Meta: model = ConfigContextSchema fields = [ "id", "name", "description", ]
class ExportTemplateFilterSet(BaseFilterSet): q = SearchFilter(filter_predicates={ "name": "icontains", "owner_content_type__app_label": "icontains", "owner_content_type__model": "icontains", "content_type__app_label": "icontains", "content_type__model": "icontains", "description": "icontains", }, ) owner_content_type = ContentTypeFilter() class Meta: model = ExportTemplate fields = [ "id", "content_type", "owner_content_type", "owner_object_id", "name" ]
class JobResultFilterSet(BaseFilterSet): q = django_filters.CharFilter( method="search", label="Search", ) obj_type = ContentTypeFilter() created = django_filters.DateTimeFilter() completed = django_filters.DateTimeFilter() status = django_filters.MultipleChoiceFilter(choices=JobResultStatusChoices, null_value=None) class Meta: model = JobResult fields = ["id", "created", "completed", "status", "user", "obj_type", "name"] def search(self, queryset, name, value): if not value.strip(): return queryset return queryset.filter(Q(name__icontains=value) | Q(user__username__icontains=value))
class ComputedFieldFilterSet(BaseFilterSet): q = SearchFilter(filter_predicates={ "name": "icontains", "target_url": "icontains", "text": "icontains", "content_type__app_label": "icontains", "content_type__model": "icontains", }, ) content_type = ContentTypeFilter() class Meta: model = ComputedField fields = ( "content_type", "slug", "template", "fallback_value", "weight", )
class ConfigContextSchemaFilterSet(BaseFilterSet): q = django_filters.CharFilter( method="search", label="Search", ) owner_content_type = ContentTypeFilter() class Meta: model = ConfigContextSchema fields = [ "id", "name", "description", ] def search(self, queryset, name, value): if not value.strip(): return queryset return queryset.filter( Q(name__icontains=value) | Q(description__icontains=value) | Q(data_schema__icontains=value))
class ExportTemplateFilterSet(BaseFilterSet): q = django_filters.CharFilter( method="search", label="Search", ) owner_content_type = ContentTypeFilter() class Meta: model = ExportTemplate fields = ["id", "content_type", "owner_content_type", "owner_object_id", "name"] def search(self, queryset, name, value): if not value.strip(): return queryset return queryset.filter( Q(name__icontains=value) | Q(owner_content_type__app_label__icontains=value) | Q(owner_content_type__model__icontains=value) | Q(content_type__app_label__icontains=value) | Q(content_type__model__icontains=value) | Q(description__icontains=value) )
class CustomLinkFilterSet(BaseFilterSet): q = SearchFilter(filter_predicates={ "name": "icontains", "target_url": "icontains", "text": "icontains", "content_type__app_label": "icontains", "content_type__model": "icontains", }, ) content_type = ContentTypeFilter() class Meta: model = CustomLink fields = ( "content_type", "name", "text", "target_url", "weight", "group_name", "button_class", "new_window", )
class ConfigContextFilterSet(BaseFilterSet): q = django_filters.CharFilter( method="search", label="Search", ) owner_content_type = ContentTypeFilter() region_id = django_filters.ModelMultipleChoiceFilter( field_name="regions", queryset=Region.objects.all(), label="Region", ) region = django_filters.ModelMultipleChoiceFilter( field_name="regions__slug", queryset=Region.objects.all(), to_field_name="slug", label="Region (slug)", ) site_id = django_filters.ModelMultipleChoiceFilter( field_name="sites", queryset=Site.objects.all(), label="Site", ) site = django_filters.ModelMultipleChoiceFilter( field_name="sites__slug", queryset=Site.objects.all(), to_field_name="slug", label="Site (slug)", ) role_id = django_filters.ModelMultipleChoiceFilter( field_name="roles", queryset=DeviceRole.objects.all(), label="Role", ) role = django_filters.ModelMultipleChoiceFilter( field_name="roles__slug", queryset=DeviceRole.objects.all(), to_field_name="slug", label="Role (slug)", ) platform_id = django_filters.ModelMultipleChoiceFilter( field_name="platforms", queryset=Platform.objects.all(), label="Platform", ) platform = django_filters.ModelMultipleChoiceFilter( field_name="platforms__slug", queryset=Platform.objects.all(), to_field_name="slug", label="Platform (slug)", ) cluster_group_id = django_filters.ModelMultipleChoiceFilter( field_name="cluster_groups", queryset=ClusterGroup.objects.all(), label="Cluster group", ) cluster_group = django_filters.ModelMultipleChoiceFilter( field_name="cluster_groups__slug", queryset=ClusterGroup.objects.all(), to_field_name="slug", label="Cluster group (slug)", ) cluster_id = django_filters.ModelMultipleChoiceFilter( field_name="clusters", queryset=Cluster.objects.all(), label="Cluster", ) tenant_group_id = django_filters.ModelMultipleChoiceFilter( field_name="tenant_groups", queryset=TenantGroup.objects.all(), label="Tenant group", ) tenant_group = django_filters.ModelMultipleChoiceFilter( field_name="tenant_groups__slug", queryset=TenantGroup.objects.all(), to_field_name="slug", label="Tenant group (slug)", ) tenant_id = django_filters.ModelMultipleChoiceFilter( field_name="tenants", queryset=Tenant.objects.all(), label="Tenant", ) tenant = django_filters.ModelMultipleChoiceFilter( field_name="tenants__slug", queryset=Tenant.objects.all(), to_field_name="slug", label="Tenant (slug)", ) tag = django_filters.ModelMultipleChoiceFilter( field_name="tags__slug", queryset=Tag.objects.all(), to_field_name="slug", label="Tag (slug)", ) class Meta: model = ConfigContext fields = ["id", "name", "is_active", "owner_content_type", "owner_object_id"] def search(self, queryset, name, value): if not value.strip(): return queryset return queryset.filter(Q(name__icontains=value) | Q(description__icontains=value) | Q(data__icontains=value))
class ImageAttachmentFilterSet(BaseFilterSet): content_type = ContentTypeFilter() class Meta: model = ImageAttachment fields = ["id", "content_type_id", "object_id", "name"]
class ConfigContextFilterSet(BaseFilterSet): q = SearchFilter(filter_predicates={ "name": "icontains", "description": "icontains", "data": "icontains", }, ) owner_content_type = ContentTypeFilter() region_id = django_filters.ModelMultipleChoiceFilter( field_name="regions", queryset=Region.objects.all(), label="Region", ) region = django_filters.ModelMultipleChoiceFilter( field_name="regions__slug", queryset=Region.objects.all(), to_field_name="slug", label="Region (slug)", ) site_id = django_filters.ModelMultipleChoiceFilter( field_name="sites", queryset=Site.objects.all(), label="Site", ) site = django_filters.ModelMultipleChoiceFilter( field_name="sites__slug", queryset=Site.objects.all(), to_field_name="slug", label="Site (slug)", ) role_id = django_filters.ModelMultipleChoiceFilter( field_name="roles", queryset=DeviceRole.objects.all(), label="Role", ) role = django_filters.ModelMultipleChoiceFilter( field_name="roles__slug", queryset=DeviceRole.objects.all(), to_field_name="slug", label="Role (slug)", ) device_type_id = django_filters.ModelMultipleChoiceFilter( field_name="device_types", queryset=DeviceType.objects.all(), label="Device Type", ) device_type = django_filters.ModelMultipleChoiceFilter( field_name="device_types__slug", queryset=DeviceType.objects.all(), to_field_name="slug", label="Device Type (slug)", ) platform_id = django_filters.ModelMultipleChoiceFilter( field_name="platforms", queryset=Platform.objects.all(), label="Platform", ) platform = django_filters.ModelMultipleChoiceFilter( field_name="platforms__slug", queryset=Platform.objects.all(), to_field_name="slug", label="Platform (slug)", ) cluster_group_id = django_filters.ModelMultipleChoiceFilter( field_name="cluster_groups", queryset=ClusterGroup.objects.all(), label="Cluster group", ) cluster_group = django_filters.ModelMultipleChoiceFilter( field_name="cluster_groups__slug", queryset=ClusterGroup.objects.all(), to_field_name="slug", label="Cluster group (slug)", ) cluster_id = django_filters.ModelMultipleChoiceFilter( field_name="clusters", queryset=Cluster.objects.all(), label="Cluster", ) tenant_group_id = django_filters.ModelMultipleChoiceFilter( field_name="tenant_groups", queryset=TenantGroup.objects.all(), label="Tenant group", ) tenant_group = django_filters.ModelMultipleChoiceFilter( field_name="tenant_groups__slug", queryset=TenantGroup.objects.all(), to_field_name="slug", label="Tenant group (slug)", ) tenant_id = django_filters.ModelMultipleChoiceFilter( field_name="tenants", queryset=Tenant.objects.all(), label="Tenant", ) tenant = django_filters.ModelMultipleChoiceFilter( field_name="tenants__slug", queryset=Tenant.objects.all(), to_field_name="slug", label="Tenant (slug)", ) tag = django_filters.ModelMultipleChoiceFilter( field_name="tags__slug", queryset=Tag.objects.all(), to_field_name="slug", label="Tag (slug)", ) class Meta: model = ConfigContext fields = [ "id", "name", "is_active", "owner_content_type", "owner_object_id" ]