Ejemplo n.º 1
0
class EventFilter(filters.FilterSet):
    start = filters.DateTimeFromToRangeFilter()
    end = filters.DateTimeFromToRangeFilter()
    tags = TagsFilter(field_name='tags')
    class Meta:
        model = Event
        fields = ('id','name','category','organizer','slug','start','end','freeOfCharge','availableLiveOnly')
Ejemplo n.º 2
0
class VideoFilter(djfilters.FilterSet):
    categories__name__icontains = djfilters.ModelMultipleChoiceFilter(
        field_name='categories__name',
        to_field_name='name',
        lookup_expr='icontains',
        queryset=Category.objects.all(),
    )
    created_time = djfilters.DateTimeFromToRangeFilter()
    updated_time = djfilters.DateTimeFromToRangeFilter()
    uploaded_time = djfilters.DateTimeFromToRangeFilter()

    class Meta:
        model = Video
        fields = {
            'duration': ['exact', 'gt', 'gte', 'lt', 'lte'],
            'creator__email': ['exact'],
            'framerate': ['exact'],
            'has_tono_records': ['exact'],
            'is_filler': ['exact'],
            'name': ['exact', 'icontains'],
            'organization': ['exact'],
            'played_count_web': ['exact', 'gt', 'gte', 'lt', 'lte'],
            'publish_on_web': ['exact'],
            'ref_url': ['exact', 'startswith', 'icontains'],
        }
Ejemplo n.º 3
0
class CustomerContractFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    customer_name = filters.CharFilter(name="customer__name__username",
                                       label="Customer name",
                                       lookup_expr="icontains")
    customer_name_null = filters.BooleanFilter(name="customer__name__username",
                                               label="Is Customer name Null",
                                               lookup_expr='isnull')
    customer_code = filters.CharFilter(name="customer__company_code",
                                       label="Customer name")
    customer_code_null = filters.BooleanFilter(name="customer__name__username",
                                               label="Is Customer name Null",
                                               lookup_expr="isnull")
    start_date_between = filters.DateTimeFromToRangeFilter(
        name="start_date", label="Start Date Between")
    billing_frequency = filters.ChoiceFilter(name="billing_frequency",
                                             choices=BILLING_FREQUENCY_CHOICES)
    created_on = filters.IsoDateTimeFilter(name="created_on",
                                           label="Created on")
    created_between = filters.DateTimeFromToRangeFilter(
        name="created_on", label="Created Between")

    class Meta:
        model = CustomerContract
        fields = []
Ejemplo n.º 4
0
class RunFilter(filters.FilterSet):
    """
    Provides useful filtering options for the
    :class:`~django_analyses.models.run.Run` model.
    """

    analysis = filters.ModelMultipleChoiceFilter(
        "analysis_version__analysis",
        queryset=ANALYSES_WITH_RUNS,
    )
    analysis_version = filters.ModelMultipleChoiceFilter(
        "analysis_version", queryset=ANALYSIS_VERSIONS_WITH_RUNS)
    status = filters.MultipleChoiceFilter(choices=RunStatus.choices())
    start_time = filters.DateTimeFromToRangeFilter()
    end_time = filters.DateTimeFromToRangeFilter()
    if Subject:
        subject = filters.NumberFilter(method="get_subject_runs",
                                       label="By subject ID:",
                                       required=False)

    class Meta:
        model = Run
        fields = ("id", )

    def get_subject_runs(self, queryset: QuerySet, name: str,
                         pk: int) -> QuerySet:
        try:
            subject = Subject.objects.get(id=pk)
        except Subject.DoesNotExist:
            pass
        else:
            return subject.query_run_set()
Ejemplo n.º 5
0
class DriverFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    name = filters.CharFilter(name="name", label="Broker name", lookup_expr='icontains')

    name_null = filters.BooleanFilter(name="name", label="Is Name Null", lookup_expr="isnull")

    address = filters.CharFilter(name="address__line1", label="Broker address", lookup_expr='icontains')
    address_null = filters.BooleanFilter(name="address", label="Is Address Null", lookup_expr="isnull")

    phone = filters.CharFilter(name="phone", label="phone", lookup_expr="exact")
    phone_null = filters.BooleanFilter(name="phone", label="Is Phone Null", lookup_expr="isnull")

    alt_phone = filters.CharFilter(name="alt_phone", label="alt_phone", lookup_expr="exact")
    alt_phone_null = filters.BooleanFilter(name="alt_phone", label="Is alt_phone Null", lookup_expr="isnull")

    driving_licence_number = filters.CharFilter(name="driving_licence_number",
                                                label="driving_licence_number", lookup_expr='icontains')
    driving_licence_number_null = filters.BooleanFilter(name="driving_licence_number",
                                                        label="Is driving_licence_number Null", lookup_expr="isnull")

    driving_licence_location = filters.CharFilter(name="driving_licence_location",
                                                  label="driving_licence_location", lookup_expr='icontains')
    driving_licence_location_null = filters.BooleanFilter(name="driving_licence_location",
                                                          label="Is driving_licence_location Null",
                                                          lookup_expr="isnull")

    driving_licence_validity = filters.IsoDateTimeFilter(name="driving_licence_validity",
                                                         label="driving_licence_validity")
    driving_licence_validity_between = filters.DateTimeFromToRangeFilter(name="driving_licence_validity",
                                                                         label="driving_licence_validity Between")

    service_tax_number = filters.CharFilter(name="taxation_id__service_tax_number", label="Service Tax Number",
                                            lookup_expr='exact')
    taxation_id_null = filters.BooleanFilter(name="taxation_id", label="Is Taxation Details Null",
                                             lookup_expr="isnull")

    account_details_null = filters.BooleanFilter(name="account_details", label="Is Account Details Null",
                                                 lookup_expr="isnull")
    account_number = filters.CharFilter(name="account_details__account_number", label="Account Number",
                                        lookup_expr='exact')
    bank_name = filters.CharFilter(name="account_details__bank", label="Bank Name", lookup_expr='icontains')
    ifsc = filters.CharFilter(name="account_details__ifsc", label="IFSC Code", lookup_expr='icontains')

    route = filters.CharFilter(name="route", label="Route", lookup_expr='icontains')
    route_null = filters.BooleanFilter(name="route", label="Is Route Null", lookup_expr="isnull")

    priority_level = filters.CharFilter(name="priority_level", label="priority_level", lookup_expr='icontains')
    priority_level_null = filters.BooleanFilter(name="priority_level", label="Is priority_level Null",
                                                lookup_expr="isnull")

    id_proof = filters.CharFilter(name="id_proof", label="ID Proof", lookup_expr='icontains')
    id_proof_null = filters.BooleanFilter(name="id_proof", label="Is ID Proof Null", lookup_expr="isnull")

    created_on = filters.IsoDateTimeFilter(name="created_on", label="Created on")
    created_between = filters.DateTimeFromToRangeFilter(name="created_on", label="Created Between")

    class Meta:
        model = Driver
        fields = []
Ejemplo n.º 6
0
class UltimateOracleFilter(filters.FilterSet):
    creator = filters.AllValuesMultipleFilter()
    creation_date_time = filters.DateTimeFromToRangeFilter()
    is_outcome_set = filters.BooleanFilter()
    forwarded_oracle_creator = filters.AllValuesMultipleFilter(
        name='forwarded_oracle__creator')
    forwarded_oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        name='forwarded_oracle__creation_date_time')
    forwarded_oracle_is_outcome_set = filters.BooleanFilter(
        name='forwarded_oracle__is_outcome_set')
    forwarded_oracle_factory = filters.AllValuesMultipleFilter(
        name='forwarded_oracle__factory')

    ordering = filters.OrderingFilter(
        fields=(('creation_date_time', 'creation_date_order'),
                ('forwarded_oracle__creation_date_time',
                 'forwarded_oracle_creation_date_order')))

    class Meta:
        model = UltimateOracle
        fields = ('creator', 'creation_date_time', 'is_outcome_set',
                  'forwarded_oracle_creator',
                  'forwarded_oracle_creation_date_time',
                  'forwarded_oracle_is_outcome_set',
                  'forwarded_oracle_factory', 'ordering')
Ejemplo n.º 7
0
class MarketFilter(filters.FilterSet):
    creator = AddressInFilter(lookup_expr='in')
    creation_date_time = filters.DateTimeFromToRangeFilter()
    market_maker = filters.AllValuesMultipleFilter()
    event_oracle_factory = filters.AllValuesMultipleFilter(
        name='event__oracle__factory')
    event_oracle_creator = filters.AllValuesMultipleFilter(
        name='event__oracle__creator')
    event_oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        name='event__oracle__creation_date_time')
    # TODO refactor, maybe duplicate resolution_date from event_description to market
    resolution_date_time = filters.DateTimeFromToRangeFilter(
        name=
        'event__oracle__centralizedoracle__event_description__resolution_date')
    event_oracle_is_outcome_set = filters.BooleanFilter(
        name='event__oracle__is_outcome_set')

    ordering = filters.OrderingFilter(fields=(
        ('creation_date_time', 'creation_date_order'),
        ('event__oracle__creation_date_time',
         'event_oracle_creation_date_order'),
        ('resolution_date_time', 'resolution_date_order'),
    ))

    class Meta:
        model = Market
        fields = ('creator', 'creation_date_time', 'market_maker',
                  'event_oracle_factory', 'event_oracle_creator',
                  'event_oracle_creation_date_time',
                  'event_oracle_is_outcome_set', 'resolution_date_time')
Ejemplo n.º 8
0
class ActivityFilter(filters.FilterSet):
    in_progress = filters.BooleanFilter(label="Activities in progress",
                                        method="filter_in_progress")
    start = filters.DateTimeFromToRangeFilter(field_name="start_at")
    end = filters.DateTimeFromToRangeFilter(field_name="end_at")

    def filter_in_progress(self, queryset, name, value):
        return queryset.filter(end_at__isnull=True)

    class Meta:
        model = Activity
        fields = ("member", "workplace", "in_progress", "start", "end")
Ejemplo n.º 9
0
class MarketFilter(filters.FilterSet):
    creator = filters.CharFilter(
        method='filter_creator')  # Accept multiple creators split by comma
    creation_date_time = filters.DateTimeFromToRangeFilter()
    market_maker = filters.AllValuesMultipleFilter()
    event_oracle_factory = filters.AllValuesMultipleFilter(
        field_name='event__oracle__factory')
    event_oracle_creator = filters.AllValuesMultipleFilter(
        field_name='event__oracle__creator')
    event_oracle_creation_date_time = filters.DateTimeFromToRangeFilter(
        field_name='event__oracle__creation_date_time')
    # TODO refactor, maybe duplicate resolution_date from event_description to market
    resolution_date_time = filters.DateTimeFromToRangeFilter(
        field_name=
        'event__oracle__centralizedoracle__event_description__resolution_date')
    event_oracle_is_outcome_set = filters.BooleanFilter(
        field_name='event__oracle__is_outcome_set')
    collateral_token = filters.CharFilter(field_name='event__collateral_token',
                                          method='filter_collateral_token')

    ordering = filters.OrderingFilter(fields=(
        ('creation_date_time', 'creation_date_order'),
        ('event__oracle__creation_date_time',
         'event_oracle_creation_date_order'),
        ('resolution_date_time', 'resolution_date_order'),
    ))

    class Meta:
        model = Market
        fields = (
            'creator',
            'creation_date_time',
            'market_maker',
            'event_oracle_factory',
            'event_oracle_creator',
            'event_oracle_creation_date_time',
            'event_oracle_is_outcome_set',
            'resolution_date_time',
            'collateral_token',
        )

    def filter_creator(self, queryset, name, value):
        creators = [
            normalize_address_or_raise(creator) for creator in value.split(',')
        ]
        return queryset.filter(creator__in=creators)

    def filter_collateral_token(self, queryset, name, value):
        value = normalize_address_or_raise(value)
        return queryset.filter(event__collateral_token__iexact=value)
Ejemplo n.º 10
0
class ContractRouteFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    source = filters.CharFilter(name="source__name",
                                label="Source City name",
                                lookup_expr="icontains")
    source_null = filters.BooleanFilter(name="source",
                                        label="Is Source name Null",
                                        lookup_expr='isnull')

    destination = filters.CharFilter(name="destination__name",
                                     label="Destination name",
                                     lookup_expr="icontains")
    destination_null = filters.BooleanFilter(name="destination",
                                             label="Is Destination name Null",
                                             lookup_expr="isnull")

    rate_type = filters.CharFilter(name="rate_type__name",
                                   label="Rate Type name",
                                   lookup_expr="icontains")
    rate_type_null = filters.BooleanFilter(name="rate_type",
                                           label="Is Rate Type name Null",
                                           lookup_expr="isnull")

    rate_range = filters.NumericRangeFilter(name="rate", label="Rate Range")
    created_on = filters.IsoDateTimeFilter(name="created_on",
                                           label="Created on")
    created_between = filters.DateTimeFromToRangeFilter(
        name="created_on", label="Created Between")

    class Meta:
        model = ContractRoute
        fields = []
Ejemplo n.º 11
0
class AnalysisVersionFilter(filters.FilterSet):
    """
    Provides useful filtering options for the
    :class:`~django_analyses.models.analysis_version.AnalysisVersion` model.

    """

    title = filters.LookupChoiceFilter(
        lookup_choices=[
            ("contains", "Contains (case-sensitive)"),
            ("icontains", "Contains (case-insensitive)"),
            ("exact", "Exact"),
        ]
    )
    description = filters.LookupChoiceFilter(
        lookup_choices=[
            ("contains", "Contains (case-sensitive)"),
            ("icontains", "Contains (case-insensitive)"),
            ("exact", "Exact"),
        ]
    )
    created = filters.DateTimeFromToRangeFilter("created")

    class Meta:
        model = AnalysisVersion
        fields = "id", "analysis", "title", "description", "created"
Ejemplo n.º 12
0
class BrokerAccountFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    broker = filters.CharFilter(name="broker__name__username",
                                label="Broker name",
                                lookup_expr='icontains')

    relation = filters.ChoiceFilter(choices=ACCOUNT_RELATION_CHOICES,
                                    label="Account Relation Choices")

    account_null = filters.BooleanFilter(name="account",
                                         label="Is Account Null",
                                         lookup_expr="isnull")
    account_number = filters.CharFilter(name="account__acount_number",
                                        label="Account Number",
                                        lookup_expr='exact')
    bank_name = filters.CharFilter(name="account__bank",
                                   label="Bank Name",
                                   lookup_expr='icontains')
    ifsc = filters.CharFilter(name="account__ifsc",
                              label="IFSC Code",
                              lookup_expr='icontains')

    created_on = filters.IsoDateTimeFilter(name="created_on",
                                           label="Created on")
    created_between = filters.DateTimeFromToRangeFilter(
        name="created_on", label="Created Between")

    class Meta:
        model = BrokerAccount
        fields = []
Ejemplo n.º 13
0
class SessionFilter(filters.FilterSet):
    """
    Provides useful filtering options for the
    :class:`~django_dicom.models.session.Session` class.

    """

    comments = filters.LookupChoiceFilter(
        "comments",
        lookup_choices=[
            ("contains", "Contains (case-sensitive)"),
            ("icontains", "Contains (case-insensitive)"),
            ("exact", "Exact"),
        ],
    )
    session_date = filters.DateTimeFromToRangeFilter("time__date")
    subject_id_in = NumberInFilter(field_name="subject__id", lookup_expr="in")
    scan_set = NumberInFilter(field_name="scan_set", method="in")
    id_in = NumberInFilter(field_name="id", lookup_expr="in")

    class Meta:
        model = Session
        fields = (
            "id",
            "subject",
            "comments",
            "time",
            "scan_set",
            "session_date",
        )
Ejemplo n.º 14
0
class CityFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    name = filters.CharFilter(name="name",
                              label="City Name",
                              lookup_expr='icontains')
    name_null = filters.BooleanFilter(name="name",
                                      label="Is City Null",
                                      lookup_expr="isnull")
    code = filters.CharFilter(name="code",
                              label="City Code",
                              lookup_expr='icontains')
    code_null = filters.BooleanFilter(name="code",
                                      label="Is City Null",
                                      lookup_expr="isnull")
    state_name = filters.CharFilter(name="state__name",
                                    label="State Name",
                                    lookup_expr='icontains')
    state_name_null = filters.BooleanFilter(name="state",
                                            label="Is State Null",
                                            lookup_expr="isnull")
    created_on = filters.IsoDateTimeFilter(name="created_on",
                                           label="Created on")
    created_between = filters.DateTimeFromToRangeFilter(
        name="created_on", label="Created Between")

    class Meta:
        model = City
        fields = []
Ejemplo n.º 15
0
class MarketTradesFilter(filters.FilterSet):
    creation_date_time = filters.DateTimeFromToRangeFilter()
    collateral_token = filters.CharFilter(method='filter_collateral_token')

    ordering = filters.OrderingFilter(fields=(('creation_date_time',
                                               'creation_date_order'), ))

    class Meta:
        model = Order
        fields = (
            'creation_date_time',
            'collateral_token',
        )

    def __init__(self, data=None, *args, **kwargs):
        # if filterset is bound, use initial values as defaults
        if data is not None and not 'creation_date_time_after' in data and not 'creation_date_time_before' in data:
            data = data.copy()
            data['creation_date_time_after'] = (
                timezone.now() -
                timedelta(days=14)).strftime('%Y-%m-%d %H:%M:%S')
            data['creation_date_time_before'] = timezone.now()

        super().__init__(data, *args, **kwargs)

    def filter_collateral_token(self, queryset, name, value):
        value = normalize_address_or_raise(value)
        return queryset.filter(market__event__collateral_token__iexact=value)
Ejemplo n.º 16
0
class GHUserFilterSet(filters.FilterSet):
    created_at = filters.DateTimeFromToRangeFilter(field_name="created_at")
    has_key = filters.BooleanFilter(field_name="has_key")

    class Meta:
        models = GitHubUser
        fields = ["has_key", "created_at"]
Ejemplo n.º 17
0
class BookingStatusChainFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    booking_status = filters.CharFilter(name="booking_status__status", label="Booking Status Name", lookup_expr='icontains')
    booking_status_null = filters.BooleanFilter(name="booking_status", label="Is Booking Status Null", lookup_expr="isnull")
    level = filters.CharFilter(name="level", label="Booking Status Chain Level", lookup_expr='icontains')
    level_null = filters.BooleanFilter(name="level", label="Is Booking Status Chain Level Null", lookup_expr="isnull")
    primary_preceded_booking_status = filters.CharFilter(name="primary_preceded_booking_status__status",
                                                         label="Booking Status Name", lookup_expr='icontains')
    primary_preceded_booking_status_null = filters.BooleanFilter(name="primary_preceded_booking_status",
                                                                 label="Is Booking Status Null", lookup_expr="isnull")
    primary_succeeded_booking_status = filters.CharFilter(name="primary_succeeded_booking_status__status",
                                                          label="Booking Status Name", lookup_expr='icontains')
    primary_succeeded_booking_status_null = filters.BooleanFilter(name="primary_succeeded_booking_status",
                                                                  label="Is Booking Status Null", lookup_expr="isnull")
    secondary_preceded_booking_status = filters.CharFilter(name="secondary_preceded_booking_status__status",
                                                           label="Booking Status Name", lookup_expr='icontains')
    secondary_preceded_booking_status_null = filters.BooleanFilter(name="secondary_preceded_booking_status",
                                                                   label="Is Booking Status Null", lookup_expr="isnull")
    secondary_succeeded_booking_status = filters.CharFilter(name="secondary_succeeded_booking_status__status",
                                                            label="Booking Status Name", lookup_expr='icontains')
    secondary_succeeded_booking_status_null = filters.BooleanFilter(name="secondary_succeeded_booking_status",
                                                                    label="Is Booking Status Null", lookup_expr="isnull")
    created_on = filters.DateTimeFilter(name="created_on", label="Created on", lookup_expr="date")
    created_between = filters.DateTimeFromToRangeFilter(name="created_on", label="Created Between")

    class Meta:
        model = BookingStatusChain
        fields = []
Ejemplo n.º 18
0
class AahoOfficeFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    branch_name = filters.CharFilter(name="branch_name",
                                     label="Aaho Office Name",
                                     lookup_expr='icontains')
    branch_name_null = filters.BooleanFilter(name="branch_name",
                                             label="Is Aaho Office Name Null",
                                             lookup_expr="isnull")
    branch = filters.CharFilter(name="branch__name",
                                label="Aaho Office Branch",
                                lookup_expr='icontains')
    branch_null = filters.BooleanFilter(name="branch",
                                        label="Is Aaho Office Branch Null",
                                        lookup_expr="isnull")
    address = filters.CharFilter(name="address",
                                 label="Aaho Office Address Name",
                                 lookup_expr='icontains')
    address_null = filters.BooleanFilter(
        name="address",
        label="Is Aaho Office Address Name Null",
        lookup_expr="isnull")
    created_on = filters.IsoDateTimeFilter(name="created_on",
                                           label="Created on")
    created_between = filters.DateTimeFromToRangeFilter(
        name="created_on", label="Created Between")

    class Meta:
        model = AahoOffice
        fields = []
Ejemplo n.º 19
0
class ScanFilter(filters.FilterSet):
    """
    Provides useful filtering options for the
    :class:`~django_dicom.models.scan.Scan` class.
    """

    description = filters.LookupChoiceFilter(
        "description", lookup_choices=LOOKUP_CHOICES,
    )
    number = filters.NumberFilter("number")
    scan_time = filters.DateTimeFromToRangeFilter("time")
    created = filters.DateTimeFromToRangeFilter("created")
    institution_name = filters.AllValuesFilter("institution_name")
    dicom_id_in = NumberInFilter(field_name="dicom__id", lookup_expr="in")
    sequence_type = filters.MultipleChoiceFilter(
        field_name="dicom__sequence_type",
        # Exclude the null value choices because it doesn't seem to integrate
        # well with DRF.
        choices=SEQUENCE_TYPE_CHOICES[:-1],
        # Create DRF compatible null filter.
        null_value=None,
        null_label="Unknown",
    )
    subject_id_number = filters.LookupChoiceFilter(
        "session__subject__id_number", lookup_choices=LOOKUP_CHOICES,
    )
    subject_first_name = filters.LookupChoiceFilter(
        "session__subject__first_name", lookup_choices=LOOKUP_CHOICES,
    )
    subject_last_name = filters.LookupChoiceFilter(
        "session__subject__last_name", lookup_choices=LOOKUP_CHOICES,
    )
    study_groups = filters.ModelMultipleChoiceFilter(
        queryset=Group.objects.all()
    )

    class Meta:
        model = Scan
        fields = (
            "id",
            "echo_time",
            "inversion_time",
            "repetition_time",
            "is_updated_from_dicom",
            "dicom__id",
            "session",
        )
Ejemplo n.º 20
0
class EmissionFilter(filters.FilterSet):
    # query:
    # /api/v2/abcast/emission/?time_start_0=2019-06-03+06:00&time_start_1=2019-06-04+06:00
    time_start = filters.DateTimeFromToRangeFilter()

    class Meta:
        model = Emission
        fields = ['time_start']
Ejemplo n.º 21
0
class HumidityFilter(django_filters.FilterSet):
    min_humi_value = filters.NumberFilter(name='humi_value', lookup_expr='gte')
    max_humi_value = filters.NumberFilter(name='humi_value', lookup_expr='lte')
    humi_time = filters.DateTimeFromToRangeFilter(name='humi_time')
    ext_addr = filters.CharFilter(name='end_device__ext_addr')

    class Meta:
        model = Humidity
        fields = ['min_humi_value', 'max_humi_value', 'humi_time']
Ejemplo n.º 22
0
class TemperatureFilter(django_filters.FilterSet):
    min_temp_value = filters.NumberFilter(name='temp_value', lookup_expr='gte')
    max_temp_value = filters.NumberFilter(name='temp_value', lookup_expr='lte')
    temp_time = filters.DateTimeFromToRangeFilter(name='temp_time')
    end_device_id = filters.CharFilter(field_name='end_device__end_device_id')

    class Meta:
        model = Temperature
        fields = ['min_temp_value', 'max_temp_value', 'temp_time']
Ejemplo n.º 23
0
class EventListFilter(filters.FilterSet):

    date_time_start = filters.DateTimeFromToRangeFilter()
    id = filters.NumberFilter
    group_page = filters.NumberFilter

    class Meta:
        model = Event
        fields = ['date_time_start', 'id', 'group_page']
Ejemplo n.º 24
0
class PhotoFilter(filters.FilterSet):
    datetime_original = filters.DateTimeFromToRangeFilter(
        field_name="datetime_original")

    class Meta:
        model = Photo
        exclude = [
            "image_hash", "gps_longitudes", "gps_latitudes", "gmt_created"
        ]
Ejemplo n.º 25
0
class VideoFileFilter(djfilters.FilterSet):
    created_time = djfilters.DateTimeFromToRangeFilter()

    class Meta:
        model = VideoFile
        fields = {
            'format__fsname': ['exact'],
            'integrated_lufs': ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull'],
            'truepeak_lufs': ['exact', 'gt', 'gte', 'lt', 'lte', 'isnull'],
        }
Ejemplo n.º 26
0
class SessionFilter(filters.FilterSet):
    """
    Provides useful filtering options for the
    :class:`~django_dicom.models.session.Session` class.
    """

    comments = filters.LookupChoiceFilter(
        "comments",
        lookup_choices=LOOKUP_CHOICES,
    )
    session_date = filters.DateTimeFromToRangeFilter("time__date")
    id_in = NumberInFilter(field_name="id",
                           lookup_expr="in",
                           label="Session ID is in")
    study_id_in = NumberInFilter(
        lookup_expr="in",
        label="Associated Study ID is in",
        method="filter_by_study_association",
    )
    subject_id_in = NumberInFilter(field_name="subject__id",
                                   lookup_expr="in",
                                   label="Subject ID is in")
    scan_set = NumberInFilter(field_name="scan_set",
                              method="in",
                              label="Contains scan IDs")
    subject_id_number = filters.LookupChoiceFilter(
        "subject__id_number",
        lookup_choices=LOOKUP_CHOICES,
    )
    subject_first_name = filters.LookupChoiceFilter(
        "subject__first_name",
        lookup_choices=LOOKUP_CHOICES,
    )
    subject_last_name = filters.LookupChoiceFilter(
        "subject__last_name",
        lookup_choices=LOOKUP_CHOICES,
    )

    class Meta:
        model = Session
        fields = (
            "id",
            "subject",
            "comments",
            "time",
            "scan_set",
            "session_date",
        )

    def filter_by_study_association(self, queryset: QuerySet, name: str,
                                    value: List[str]):
        query = Q(scan__study_groups__study__id__in=value) | Q(
            measurement__procedure__study__id__in=value)
        return queryset.filter(query).distinct()
Ejemplo n.º 27
0
class RouterDeviceFilter(django_filters.FilterSet):
    ext_addr = filters.CharFilter(name='ext_addr')
    net_addr = filters.CharFilter(name='net_addr')
    status = filters.NumberFilter(name='status')
    voltage_min = filters.NumberFilter(name='voltage', lookup_expr='gte')
    voltage_max = filters.NumberFilter(name='voltage', lookup_expr='lte')
    start_time = filters.DateTimeFromToRangeFilter(name='start_time')

    class Meta:
        model = EndDevice
        fields = ['ext_addr', 'net_addr', 'status', 'voltage', 'start_time']
Ejemplo n.º 28
0
class UserCategoryFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    category = filters.CharFilter(name="category", label="User Category", lookup_expr='icontains')
    category_null = filters.BooleanFilter(name="category", label="Is User Category Null", lookup_expr="isnull")
    created_on = filters.DateTimeFilter(name="created_on", label="Created on", lookup_expr="date")
    created_between = filters.DateTimeFromToRangeFilter(name="created_on", label="Created Between")

    class Meta:
        model = UserCategory
        fields = []
Ejemplo n.º 29
0
class EmployeeRolesFilter(filters.FilterSet):
    id = filters.NumberFilter(name="id", label="ID", lookup_expr="exact")
    id_range = filters.RangeFilter(name="id", label="ID Between")
    role = filters.CharFilter(name="role", label="Employee Role", lookup_expr='icontains')
    role_null = filters.BooleanFilter(name="role", label="Is Employee Role Null", lookup_expr="isnull")
    created_on = filters.DateTimeFilter(name="created_on", label="Created on", lookup_expr="date")
    created_between = filters.DateTimeFromToRangeFilter(name="created_on", label="Created Between")

    class Meta:
        model = EmployeeRoles
        fields = []
Ejemplo n.º 30
0
class ScanFilter(filters.FilterSet):
    """
    Provides useful filtering options for the :class:`~django_dicom.models.series.Series`
    class.
    
    """

    description = filters.LookupChoiceFilter(
        "description",
        lookup_choices=[
            ("contains", "Contains (case-sensitive)"),
            ("icontains", "Contains (case-insensitive)"),
            ("exact", "Exact"),
        ],
    )
    number = filters.NumberFilter("number")
    sequence_type = filters.AllValuesMultipleFilter("sequence_type")
    # spatial_resolution = filters.AllValuesFilter("spatial_resolution")
    scan_time = filters.DateTimeFromToRangeFilter("time")
    created = filters.DateTimeFromToRangeFilter("created")
    institution_name = filters.AllValuesFilter("institution_name")
    dicom_id_in = NumberInFilter(field_name="dicom__id", lookup_expr="in")

    class Meta:
        model = Scan
        fields = (
            "id",
            "description",
            "number",
            "created",
            "scan_time",
            "echo_time",
            "inversion_time",
            "repetition_time",
            "sequence_type",
            # "spatial_resolution",
            "institution_name",
            "is_updated_from_dicom",
            "dicom__id",
            "subject",
        )