Beispiel #1
0
class CircuitFilter(CustomFieldFilterSet, django_filters.FilterSet):
    id__in = NumericInFilter(field_name='id', lookup_expr='in')
    q = django_filters.CharFilter(
        method='search',
        label='Search',
    )
    provider_id = django_filters.ModelMultipleChoiceFilter(
        queryset=Provider.objects.all(),
        label='Provider (ID)',
    )
    provider = django_filters.ModelMultipleChoiceFilter(
        field_name='provider__slug',
        queryset=Provider.objects.all(),
        to_field_name='slug',
        label='Provider (slug)',
    )
    type_id = django_filters.ModelMultipleChoiceFilter(
        queryset=CircuitType.objects.all(),
        label='Circuit type (ID)',
    )
    type = django_filters.ModelMultipleChoiceFilter(
        field_name='type__slug',
        queryset=CircuitType.objects.all(),
        to_field_name='slug',
        label='Circuit type (slug)',
    )
    status = django_filters.MultipleChoiceFilter(
        choices=CIRCUIT_STATUS_CHOICES, null_value=None)
    tenant_id = django_filters.ModelMultipleChoiceFilter(
        queryset=Tenant.objects.all(),
        label='Tenant (ID)',
    )
    tenant = django_filters.ModelMultipleChoiceFilter(
        field_name='tenant__slug',
        queryset=Tenant.objects.all(),
        to_field_name='slug',
        label='Tenant (slug)',
    )
    site_id = django_filters.ModelMultipleChoiceFilter(
        field_name='terminations__site',
        queryset=Site.objects.all(),
        label='Site (ID)',
    )
    site = django_filters.ModelMultipleChoiceFilter(
        field_name='terminations__site__slug',
        queryset=Site.objects.all(),
        to_field_name='slug',
        label='Site (slug)',
    )
    tag = TagFilter()

    class Meta:
        model = Circuit
        fields = ['cid', 'install_date', 'commit_rate']

    def search(self, queryset, name, value):
        if not value.strip():
            return queryset
        return queryset.filter(
            Q(cid__icontains=value)
            | Q(terminations__xconnect_id__icontains=value)
            | Q(terminations__pp_info__icontains=value)
            | Q(terminations__description__icontains=value)
            | Q(description__icontains=value)
            | Q(comments__icontains=value)).distinct()
Beispiel #2
0
class GencoEntornoLenguajesFilter(filters.FilterSet):
    id_env = django_filters.CharFilter(name="id_entorno")

    class Meta:
        model = GencoEntornoLenguajes
        fields = ['id_env']
Beispiel #3
0
class GencoComponenteFilter(filters.FilterSet):
    id_env = django_filters.CharFilter(name="id_entorno")

    class Meta:
        model = GencoComponentes
        fields = ['id_env']
Beispiel #4
0
class IdentityProviderFilter(django_filters.FilterSet):
    class Meta:
        model = models.IdentityProvider
        fields = ('name',)

    name = django_filters.CharFilter(lookup_expr='icontains')
Beispiel #5
0
class FindingFilter(django_filters.FilterSet):
    """
    Filter :model:`reporting.Finding` model for searching.

    **Fields**

    ``title``
        Case insensitive search of the title field contents.
    ``severity``
        Checkbox choice filter using :model:`reporting.Severty`.
    ``finding_type``
        Multiple choice filter using :model:`reporting.FindingType`.
    """

    title = django_filters.CharFilter(
        lookup_expr="icontains",
        label="Title Contains",
        widget=TextInput(attrs={
            "placeholder": "Part of Title",
            "autocomplete": "off"
        }),
    )
    severity = django_filters.ModelMultipleChoiceFilter(
        queryset=Severity.objects.all().order_by("weight"),
        widget=forms.CheckboxSelectMultiple,
        label="",
    )
    finding_type = django_filters.ModelMultipleChoiceFilter(
        queryset=FindingType.objects.all(),
        widget=forms.CheckboxSelectMultiple,
        label="",
    )

    class Meta:
        model = Finding
        fields = ["title", "severity", "finding_type"]

    def __init__(self, *args, **kwargs):
        super(FindingFilter, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_method = "get"
        self.helper.form_class = "newitem"
        self.helper.form_show_labels = False
        # Layout the form for Bootstrap
        self.helper.layout = Layout(
            Div(
                Row(
                    Column(
                        PrependedText("title",
                                      '<i class="fas fa-filter"></i>'),
                        css_class="form-group col-md-6 offset-md-3 mb-0",
                    ),
                    css_class="form-row",
                ),
                Row(
                    Column(
                        InlineCheckboxes("severity"),
                        css_class="form-group col-md-12",
                    ),
                    css_class="form-row",
                ),
                Row(
                    Column(
                        InlineCheckboxes("finding_type"),
                        css_class="form-group col-md-12",
                    ),
                    css_class="form-row",
                ),
                ButtonHolder(
                    Submit("submit_btn",
                           "Filter",
                           css_class="btn btn-primary col-md-2"),
                    HTML("""
                        <a class="btn btn-outline-secondary col-md-2" role="button" href="{%  url 'reporting:findings' %}">Reset</a>
                        """),
                ),
                css_class="justify-content-center",
            ), )
Beispiel #6
0
class Customer_filters(django_filters.FilterSet):
    cust_name = django_filters.CharFilter(lookup_expr='icontains')
    email = django_filters.CharFilter(lookup_expr='icontains')
    class Meta:
        model = Customer
        fields = ['account_number', 'cust_name', 'email','phone_number']
class QuestionFilterSet(filters.FilterSet):
    subject = django_filters.CharFilter(field_name='subjectid__subjectname')
    
    class Meta:
        model = Question
        fields = ['subjectid',]
Beispiel #8
0
class BaseResourceFilter(django_filters.FilterSet):
    # customer
    customer = django_filters.CharFilter(
        name='service_project_link__service__customer__uuid')
    customer_uuid = django_filters.CharFilter(
        name='service_project_link__service__customer__uuid')
    customer_name = django_filters.CharFilter(
        name='service_project_link__service__customer__name',
        lookup_type='icontains')
    customer_native_name = django_filters.CharFilter(
        name='service_project_link__project__customer__native_name',
        lookup_type='icontains')
    customer_abbreviation = django_filters.CharFilter(
        name='service_project_link__project__customer__abbreviation',
        lookup_type='icontains')
    # project
    project = django_filters.CharFilter(
        name='service_project_link__project__uuid')
    project_uuid = django_filters.CharFilter(
        name='service_project_link__project__uuid')
    project_name = django_filters.CharFilter(
        name='service_project_link__project__name', lookup_type='icontains')
    # project group
    project_group = django_filters.CharFilter(
        name='service_project_link__project__project_groups__uuid')
    project_group_uuid = django_filters.CharFilter(
        name='service_project_link__project__project_groups__uuid')
    project_group_name = django_filters.CharFilter(
        name='service_project_link__project__project_groups__name',
        lookup_type='icontains')
    # service
    service_uuid = django_filters.CharFilter(
        name='service_project_link__service__uuid')
    service_name = django_filters.CharFilter(
        name='service_project_link__service__name', lookup_type='icontains')
    # resource
    name = django_filters.CharFilter(lookup_type='icontains')
    description = django_filters.CharFilter(lookup_type='icontains')
    state = core_filters.MappedMultipleChoiceFilter(
        choices=[(representation, representation)
                 for db_value, representation in models.Resource.States.CHOICES
                 ],
        choice_mappings={
            representation: db_value
            for db_value, representation in models.Resource.States.CHOICES
        },
    )

    class Meta(object):
        model = models.Resource
        fields = (
            # customer
            'customer',
            'customer_uuid',
            'customer_name',
            'customer_native_name',
            'customer_abbreviation',
            # project
            'project',
            'project_uuid',
            'project_name',
            # project group
            'project_group',
            'project_group_uuid',
            'project_group_name',
            # service
            'service_uuid',
            'service_name',
            # resource
            'name',
            'description',
            'state',
        )
Beispiel #9
0
class ProjectFilter(django_filters.FilterSet):
    customer = django_filters.CharFilter(
        name='customer__uuid',
        distinct=True,
    )

    customer_name = django_filters.CharFilter(name='customer__name',
                                              distinct=True,
                                              lookup_type='icontains')

    customer_native_name = django_filters.CharFilter(
        name='customer__native_name', distinct=True, lookup_type='icontains')

    customer_abbreviation = django_filters.CharFilter(
        name='customer__abbreviation', distinct=True, lookup_type='icontains')

    project_group = django_filters.CharFilter(
        name='project_groups__uuid',
        distinct=True,
    )

    project_group_name = django_filters.CharFilter(name='project_groups__name',
                                                   distinct=True,
                                                   lookup_type='icontains')

    name = django_filters.CharFilter(lookup_type='icontains')

    description = django_filters.CharFilter(lookup_type='icontains')

    class Meta(object):
        model = models.Project
        fields = [
            'project_group',
            'project_group_name',
            'name',
            'customer',
            'customer_name',
            'customer_native_name',
            'customer_abbreviation',
            'description',
            'created',
        ]
        order_by = [
            'name',
            '-name',
            'created',
            '-created',
            'project_groups__name',
            '-project_groups__name',
            'customer__native_name',
            '-customer__native_name',
            'customer__name',
            '-customer__name',
            'customer__abbreviation',
            '-customer__abbreviation',
        ]

        order_by_mapping = {
            # Proper field naming
            'project_group_name': 'project_groups__name',
            'customer_name': 'customer__name',
            'customer_abbreviation': 'customer__abbreviation',
            'customer_native_name': 'customer__native_name',

            # Backwards compatibility
            'project_groups__name': 'project_groups__name',
        }
Beispiel #10
0
class BaseResourceFilter(NameFilterSet, metaclass=ResourceFilterMetaclass):
    def __init__(self, *args, **kwargs):
        super(BaseResourceFilter, self).__init__(*args, **kwargs)
        self.filters['o'] = django_filters.OrderingFilter(
            fields=self.ORDERING_FIELDS)

    # customer
    customer = django_filters.UUIDFilter(
        field_name='service_project_link__service__customer__uuid')
    customer_uuid = django_filters.UUIDFilter(
        field_name='service_project_link__service__customer__uuid')
    customer_name = django_filters.CharFilter(
        field_name='service_project_link__service__customer__name',
        lookup_expr='icontains')
    customer_native_name = django_filters.CharFilter(
        field_name='service_project_link__project__customer__native_name',
        lookup_expr='icontains')
    customer_abbreviation = django_filters.CharFilter(
        field_name='service_project_link__project__customer__abbreviation',
        lookup_expr='icontains')
    # project
    project = django_filters.UUIDFilter(
        field_name='service_project_link__project__uuid')
    project_uuid = django_filters.UUIDFilter(
        field_name='service_project_link__project__uuid')
    project_name = django_filters.CharFilter(
        field_name='service_project_link__project__name',
        lookup_expr='icontains')
    # service
    service_uuid = django_filters.UUIDFilter(
        field_name='service_project_link__service__uuid')
    service_name = django_filters.CharFilter(
        field_name='service_project_link__service__settings__name',
        lookup_expr='icontains')
    # service settings
    service_settings_uuid = django_filters.UUIDFilter(
        field_name='service_project_link__service__settings__uuid')
    service_settings_name = django_filters.CharFilter(
        field_name='service_project_link__service__settings__name',
        lookup_expr='icontains')
    # resource
    description = django_filters.CharFilter(lookup_expr='icontains')
    state = core_filters.MappedMultipleChoiceFilter(
        choices=[(representation, representation) for db_value, representation
                 in core_models.StateMixin.States.CHOICES],
        choice_mappings={
            representation: db_value
            for db_value, representation in
            core_models.StateMixin.States.CHOICES
        },
    )
    uuid = django_filters.UUIDFilter(lookup_expr='exact')
    backend_id = django_filters.CharFilter(field_name='backend_id',
                                           lookup_expr='exact')
    tag = django_filters.ModelMultipleChoiceFilter(
        field_name='tags__name',
        label='tag',
        to_field_name='name',
        queryset=taggit.models.Tag.objects.all(),
    )
    rtag = django_filters.ModelMultipleChoiceFilter(
        field_name='tags__name',
        label='rtag',
        to_field_name='name',
        queryset=taggit.models.Tag.objects.all(),
        conjoined=True,
    )
    external_ip = core_filters.EmptyFilter()

    ORDERING_FIELDS = (
        ('name', 'name'),
        ('state', 'state'),
        ('service_project_link__project__customer__name', 'customer_name'),
        ('service_project_link__project__customer__native_name',
         'customer_native_name'),
        ('service_project_link__project__customer__abbreviation',
         'customer_abbreviation'),
        ('service_project_link__project__name', 'project_name'),
        ('service_project_link__service__settings__name', 'service_name'),
        ('service_project_link__service__uuid', 'service_uuid'),
        ('created', 'created'),
    )

    class Meta:
        model = models.ResourceMixin
        fields = (
            # customer
            'customer',
            'customer_uuid',
            'customer_name',
            'customer_native_name',
            'customer_abbreviation',
            # project
            'project',
            'project_uuid',
            'project_name',
            # service
            'service_uuid',
            'service_name',
            # service settings
            'service_settings_name',
            'service_settings_uuid',
            # resource
            'name',
            'name_exact',
            'description',
            'state',
            'uuid',
            'backend_id',
            'tag',
            'rtag',
        )
Beispiel #11
0
class BookmarkFilter(django_filters.FilterSet):
    name = django_filters.CharFilter(lookup_expr='icontains')

    class Meta:
        model = BookMark
        fields = ['name', 'folder']
Beispiel #12
0
class NameFilterSet(django_filters.FilterSet):
    name = django_filters.CharFilter(lookup_expr='icontains')
    name_exact = django_filters.CharFilter(field_name='name',
                                           lookup_expr='exact')
Beispiel #13
0
class CompetitionFilter(django_filters.FilterSet):
    creator = django_filters.CharFilter(name="creator__username")

    class Meta:
        model = webmodels.Competition
        fields = ['creator']
class VariableFilter(django_filters.FilterSet):
    name = django_filters.CharFilter(lookup_expr='iexact')

    class Meta:
        model = Entries
        fields = ['title', 'abstract']
Beispiel #15
0
class RackFilter(CustomFieldFilterSet, django_filters.FilterSet):
    id__in = NumericInFilter(name='id', lookup_expr='in')
    q = django_filters.CharFilter(
        method='search',
        label='Search',
    )
    site_id = django_filters.ModelMultipleChoiceFilter(
        name='site',
        queryset=Site.objects.all(),
        label='Site (ID)',
    )
    site = django_filters.ModelMultipleChoiceFilter(
        name='site__slug',
        queryset=Site.objects.all(),
        to_field_name='slug',
        label='Site (slug)',
    )
    group_id = NullableModelMultipleChoiceFilter(
        name='group',
        queryset=RackGroup.objects.all(),
        label='Group (ID)',
    )
    group = NullableModelMultipleChoiceFilter(
        name='group',
        queryset=RackGroup.objects.all(),
        to_field_name='slug',
        label='Group',
    )
    tenant_id = NullableModelMultipleChoiceFilter(
        name='tenant',
        queryset=Tenant.objects.all(),
        label='Tenant (ID)',
    )
    tenant = NullableModelMultipleChoiceFilter(
        name='tenant',
        queryset=Tenant.objects.all(),
        to_field_name='slug',
        label='Tenant (slug)',
    )
    role_id = NullableModelMultipleChoiceFilter(
        name='role',
        queryset=RackRole.objects.all(),
        label='Role (ID)',
    )
    role = NullableModelMultipleChoiceFilter(
        name='role',
        queryset=RackRole.objects.all(),
        to_field_name='slug',
        label='Role (slug)',
    )

    class Meta:
        model = Rack
        fields = ['u_height']

    def search(self, queryset, name, value):
        if not value.strip():
            return queryset
        return queryset.filter(
            Q(name__icontains=value) | Q(facility_id__icontains=value)
            | Q(comments__icontains=value))
Beispiel #16
0
class ServicePropertySettingsFilter(BaseServicePropertyFilter):
    settings_uuid = django_filters.CharFilter(name='settings__uuid')

    class Meta(BaseServicePropertyFilter.Meta):
        fields = BaseServicePropertyFilter.Meta.fields + ('settings_uuid', )
Beispiel #17
0
class DeviceFilter(CustomFieldFilterSet, django_filters.FilterSet):
    id__in = NumericInFilter(name='id', lookup_expr='in')
    q = django_filters.CharFilter(
        method='search',
        label='Search',
    )
    mac_address = django_filters.CharFilter(
        method='_mac_address',
        label='MAC address',
    )
    site_id = django_filters.ModelMultipleChoiceFilter(
        name='site',
        queryset=Site.objects.all(),
        label='Site (ID)',
    )
    site = django_filters.ModelMultipleChoiceFilter(
        name='site__slug',
        queryset=Site.objects.all(),
        to_field_name='slug',
        label='Site name (slug)',
    )
    rack_group_id = django_filters.ModelMultipleChoiceFilter(
        name='rack__group',
        queryset=RackGroup.objects.all(),
        label='Rack group (ID)',
    )
    rack_id = NullableModelMultipleChoiceFilter(
        name='rack',
        queryset=Rack.objects.all(),
        label='Rack (ID)',
    )
    role_id = django_filters.ModelMultipleChoiceFilter(
        name='device_role',
        queryset=DeviceRole.objects.all(),
        label='Role (ID)',
    )
    role = django_filters.ModelMultipleChoiceFilter(
        name='device_role__slug',
        queryset=DeviceRole.objects.all(),
        to_field_name='slug',
        label='Role (slug)',
    )
    tenant_id = NullableModelMultipleChoiceFilter(
        name='tenant',
        queryset=Tenant.objects.all(),
        label='Tenant (ID)',
    )
    tenant = NullableModelMultipleChoiceFilter(
        name='tenant',
        queryset=Tenant.objects.all(),
        to_field_name='slug',
        label='Tenant (slug)',
    )
    device_type_id = django_filters.ModelMultipleChoiceFilter(
        name='device_type',
        queryset=DeviceType.objects.all(),
        label='Device type (ID)',
    )
    manufacturer_id = django_filters.ModelMultipleChoiceFilter(
        name='device_type__manufacturer',
        queryset=Manufacturer.objects.all(),
        label='Manufacturer (ID)',
    )
    manufacturer = django_filters.ModelMultipleChoiceFilter(
        name='device_type__manufacturer__slug',
        queryset=Manufacturer.objects.all(),
        to_field_name='slug',
        label='Manufacturer (slug)',
    )
    model = django_filters.ModelMultipleChoiceFilter(
        name='device_type__slug',
        queryset=DeviceType.objects.all(),
        to_field_name='slug',
        label='Device model (slug)',
    )
    platform_id = NullableModelMultipleChoiceFilter(
        name='platform',
        queryset=Platform.objects.all(),
        label='Platform (ID)',
    )
    platform = NullableModelMultipleChoiceFilter(
        name='platform',
        queryset=Platform.objects.all(),
        to_field_name='slug',
        label='Platform (slug)',
    )
    is_console_server = django_filters.BooleanFilter(
        name='device_type__is_console_server',
        label='Is a console server',
    )
    is_pdu = django_filters.BooleanFilter(
        name='device_type__is_pdu',
        label='Is a PDU',
    )
    is_network_device = django_filters.BooleanFilter(
        name='device_type__is_network_device',
        label='Is a network device',
    )
    has_primary_ip = django_filters.BooleanFilter(
        method='_has_primary_ip',
        label='Has a primary IP',
    )
    status = django_filters.MultipleChoiceFilter(choices=STATUS_CHOICES)

    class Meta:
        model = Device
        fields = ['name', 'serial', 'asset_tag']

    def search(self, queryset, name, value):
        if not value.strip():
            return queryset
        return queryset.filter(
            Q(name__icontains=value) | Q(serial__icontains=value.strip())
            | Q(inventory_items__serial__icontains=value.strip())
            | Q(asset_tag=value.strip())
            | Q(comments__icontains=value)).distinct()

    def _mac_address(self, queryset, name, value):
        value = value.strip()
        if not value:
            return queryset
        try:
            return queryset.filter(interfaces__mac_address=value).distinct()
        except AddrFormatError:
            return queryset.none()

    def _has_primary_ip(self, queryset, name, value):
        if value:
            return queryset.filter(
                Q(primary_ip4__isnull=False) | Q(primary_ip6__isnull=False))
        else:
            return queryset.exclude(
                Q(primary_ip4__isnull=False) | Q(primary_ip6__isnull=False))
Beispiel #18
0
class EpisodeFilter(filters.FilterSet):
    class Meta:
        model = Episode
        fields = ('programme', )

    programme = django_filters.CharFilter(name="programme__slug")
Beispiel #19
0
class Product_filters(django_filters.FilterSet):
    product_name = django_filters.CharFilter(lookup_expr='icontains')

    class Meta:
        model = Products
        fields = ['product_name', 'SKU', ]
Beispiel #20
0
class ScheduleFilter(filters.FilterSet):
    class Meta:
        model = Schedule
        fields = ('programme', 'calendar', 'type')

    programme = django_filters.CharFilter(name="programme__slug")
Beispiel #21
0
class StatusFilter(CommonFieldsFilterset):
    name = django_filters.CharFilter(lookup_type='icontains')
    description = django_filters.CharFilter(lookup_type='icontains')

    class Meta(object):
        model = Status
Beispiel #22
0
class UserFilter(django_filters.FilterSet):
    skills = django_filters.CharFilter(name='skills', lookup_expr='icontains')
    current_location = django_filters.CharFilter(name='current_location',
                                                 lookup_expr='icontains')
    ctc = django_filters.CharFilter(name='ctc', lookup_expr='icontains')
    preferred_location = django_filters.CharFilter(name='preferred_location',
                                                   lookup_expr='icontains')
    current_employer = django_filters.CharFilter(name='current_employer',
                                                 lookup_expr='icontains')
    current_designation = django_filters.CharFilter(name='current_designation',
                                                    lookup_expr='icontains')
    work_exp = django_filters.CharFilter(name='work_exp',
                                         lookup_expr='icontains')
    UG_Course = django_filters.CharFilter(name='UG_Course',
                                          lookup_expr='icontains')
    PG_Course = django_filters.CharFilter(name='PG_Course',
                                          lookup_expr='icontains')
    UG_Passing_Year = django_filters.CharFilter(name='UG_Passing_Year',
                                                lookup_expr='icontains')
    PG_Passing_Year = django_filters.CharFilter(name='PG_Passing_Year',
                                                lookup_expr='icontains')

    class Meta:
        model = User
        fields = [
            'skills', 'current_location', 'ctc', 'preferred_location',
            'current_employer', 'current_designation', 'work_exp', 'UG_Course',
            'PG_Course', 'UG_Passing_Year', 'PG_Passing_Year'
        ]
class EmployeeFilter(django_filters.FilterSet):
    department = django_filters.CharFilter(name="department__name")

    class Meta:
        model = Employee
        fields = ('name', 'department')
Beispiel #24
0
class ProjectFilterSet(django_filters.FilterSet):
    search = django_filters.CharFilter(field_name="name", lookup_expr="icontains")

    class Meta:
        model = Project
        fields = ["search"]
Beispiel #25
0
class ReportFilter(django_filters.FilterSet):
    """
    Filter :model:`reporting.Report` model for searching.

    **Fields**

    ``title``
        Case insensitive search of the title field contents.
    ``complete``
        Boolean field to filter completed reports.
    """

    title = django_filters.CharFilter(
        lookup_expr="icontains",
        label="Title Contains",
        widget=TextInput(attrs={
            "placeholder": "Part of Title",
            "autocomplete": "off"
        }),
    )

    STATUS_CHOICES = (
        (0, "All Reports"),
        (1, "Completed"),
    )

    complete = django_filters.ChoiceFilter(choices=STATUS_CHOICES,
                                           empty_label=None,
                                           label="Report Status")

    class Meta:
        model = Report
        fields = ["title", "complete"]

    def __init__(self, *args, **kwargs):
        super(ReportFilter, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_method = "get"
        self.helper.form_class = "newitem"
        self.helper.form_show_labels = False
        # Layout the form for Bootstrap
        self.helper.layout = Layout(
            Div(
                Row(
                    Column(
                        PrependedText("title",
                                      '<i class="fas fa-filter"></i>'),
                        css_class="form-group col-md-6",
                    ),
                    Column(
                        "complete",
                        css_class="form-group col-md-6",
                    ),
                    css_class="form-row",
                ),
                ButtonHolder(
                    Submit("submit_btn",
                           "Filter",
                           css_class="btn btn-primary col-md-2"),
                    HTML("""
                        <a class="btn btn-outline-secondary col-md-2" role="button" href="{%  url 'reporting:reports' %}">Reset</a>
                        """),
                ),
                css_class="justify-content-center",
            ), )
Beispiel #26
0
class UserFocusCompanyFilter(rest_framework.FilterSet):
    company__name = django_filters.CharFilter(lookup_expr="icontains")

    class Meta:
        model = UserFocusCompany
        fields = ['user', 'company', 'company__name']
Beispiel #27
0
class GencoTipodatoFilter(filters.FilterSet):
    id_lang = django_filters.CharFilter(name="id_lenguaje")

    class Meta:
        model = GencoTipodato
        fields = ['id_lang']
Beispiel #28
0
class CountryFilter(django_filters.FilterSet):
    nome = django_filters.CharFilter(lookup_expr='iexact')

    class Meta:
        model = Country
        fields = ['nome']
Beispiel #29
0
class GencoPlantillasFilter(filters.FilterSet):
    id_comp = django_filters.CharFilter(name="id_componente")

    class Meta:
        model = GencoPlantillas
        fields = ['id_comp']
Beispiel #30
0
class VirtualMachineFilterSet(BaseFilterSet, LocalConfigContextFilterSet,
                              TenancyFilterSet, CustomFieldFilterSet,
                              CreatedUpdatedFilterSet):
    q = django_filters.CharFilter(
        method='search',
        label='Search',
    )
    status = django_filters.MultipleChoiceFilter(
        choices=VirtualMachineStatusChoices, null_value=None)
    cluster_group_id = django_filters.ModelMultipleChoiceFilter(
        field_name='cluster__group',
        queryset=ClusterGroup.objects.all(),
        label='Cluster group (ID)',
    )
    cluster_group = django_filters.ModelMultipleChoiceFilter(
        field_name='cluster__group__slug',
        queryset=ClusterGroup.objects.all(),
        to_field_name='slug',
        label='Cluster group (slug)',
    )
    cluster_type_id = django_filters.ModelMultipleChoiceFilter(
        field_name='cluster__type',
        queryset=ClusterType.objects.all(),
        label='Cluster type (ID)',
    )
    cluster_type = django_filters.ModelMultipleChoiceFilter(
        field_name='cluster__type__slug',
        queryset=ClusterType.objects.all(),
        to_field_name='slug',
        label='Cluster type (slug)',
    )
    cluster_id = django_filters.ModelMultipleChoiceFilter(
        queryset=Cluster.objects.all(),
        label='Cluster (ID)',
    )
    region_id = TreeNodeMultipleChoiceFilter(
        queryset=Region.objects.all(),
        field_name='cluster__site__region',
        lookup_expr='in',
        label='Region (ID)',
    )
    region = TreeNodeMultipleChoiceFilter(
        queryset=Region.objects.all(),
        field_name='cluster__site__region',
        lookup_expr='in',
        to_field_name='slug',
        label='Region (slug)',
    )
    site_id = django_filters.ModelMultipleChoiceFilter(
        field_name='cluster__site',
        queryset=Site.objects.all(),
        label='Site (ID)',
    )
    site = django_filters.ModelMultipleChoiceFilter(
        field_name='cluster__site__slug',
        queryset=Site.objects.all(),
        to_field_name='slug',
        label='Site (slug)',
    )
    role_id = django_filters.ModelMultipleChoiceFilter(
        queryset=DeviceRole.objects.all(),
        label='Role (ID)',
    )
    role = django_filters.ModelMultipleChoiceFilter(
        field_name='role__slug',
        queryset=DeviceRole.objects.all(),
        to_field_name='slug',
        label='Role (slug)',
    )
    platform_id = django_filters.ModelMultipleChoiceFilter(
        queryset=Platform.objects.all(),
        label='Platform (ID)',
    )
    platform = django_filters.ModelMultipleChoiceFilter(
        field_name='platform__slug',
        queryset=Platform.objects.all(),
        to_field_name='slug',
        label='Platform (slug)',
    )
    mac_address = MultiValueMACAddressFilter(
        field_name='interfaces__mac_address',
        label='MAC address',
    )
    tag = TagFilter()

    class Meta:
        model = VirtualMachine
        fields = ['id', 'name', 'cluster', 'vcpus', 'memory', 'disk']

    def search(self, queryset, name, value):
        if not value.strip():
            return queryset
        return queryset.filter(
            Q(name__icontains=value) | Q(comments__icontains=value))