class DashboardSensorDataFilter(filters.FilterSet):
    station = filters.ModelChoiceFilter(
        label="Station",
        name="sensor__station_id",
        queryset=Station.objects.filter(current_status='ACTIVE'),
        widget=forms.Select)
    start_date = filters.IsoDateTimeFilter(
        label="Start Date",
        name="sensor_data_dateTime",
        lookup_expr='gte',
        widget=forms.DateTimeInput(attrs={'type': 'datetime-local'}))
    end_date = filters.IsoDateTimeFilter(
        label="End Date",
        name="sensor_data_dateTime",
        lookup_expr='lte',
        widget=forms.DateTimeInput(attrs={'type': 'datetime-local'}))
    sensor_type = filters.ModelChoiceFilter(label="Sensor Type *",
                                            name="sensor__sensor_type_id",
                                            queryset=SensorType.objects.all(),
                                            widget=forms.Select,
                                            required=True)
    order_by_field = 'ordering'
    ordering = OrderingFilter(
        # fields(('model field name', 'parameter name'),)
        fields=(('sensor_data_dateTime', 'sensor_data_dateTime')))

    class Meta:
        model = SensorData
        fields = ['start_date', 'end_date', 'station', 'sensor_type']
Пример #2
0
class ShopFilter(FilterSet):
    modified_before = django_filters.IsoDateTimeFilter(name="modified_on", lookup_expr='lt')
    modified_after = django_filters.IsoDateTimeFilter(name="modified_on", lookup_expr='gt')

    class Meta:
        model = Shop
        fields = ["id", "modified_before", "modified_after"]
Пример #3
0
class PaymentFilter(FilterSet):
    batch_ref = django_filters.CharFilter(name='invoice__batch_ref',
                                          label='Invoice Batch Ref',
                                          lookup_expr='exact')
    number = django_filters.NumberFilter(name='invoice__number',
                                         label='Invoice number',
                                         lookup_expr='exact')
    project = django_filters.NumberFilter(name='invoice__project',
                                          label='Project Invoice',
                                          lookup_expr='exact')
    user = django_filters.NumberFilter(name='invoice__user',
                                       label='Invoice user',
                                       lookup_expr='exact')
    min_date = django_filters.IsoDateTimeFilter(name='paid_at',
                                                lookup_expr='gte')
    max_date = django_filters.IsoDateTimeFilter(name='paid_at',
                                                lookup_expr='lte')

    class Meta:
        model = Payment
        fields = (
            'min_date',
            'max_date',
            'batch_ref',
            'number',
            'user',
            'project',
            'created_by',
        )
Пример #4
0
class PluginInstanceFileFilter(FilterSet):
    min_creation_date = django_filters.IsoDateTimeFilter(
        field_name='creation_date', lookup_expr='gte')
    max_creation_date = django_filters.IsoDateTimeFilter(
        field_name='creation_date', lookup_expr='lte')
    plugin_inst_id = django_filters.CharFilter(field_name='plugin_inst_id',
                                               lookup_expr='exact')
    feed_id = django_filters.CharFilter(field_name='plugin_inst__feed_id',
                                        lookup_expr='exact')
    fname = django_filters.CharFilter(field_name='fname',
                                      lookup_expr='startswith')
    fname_exact = django_filters.CharFilter(field_name='fname',
                                            lookup_expr='exact')
    fname_icontains = django_filters.CharFilter(field_name='fname',
                                                lookup_expr='icontains')
    fname_nslashes = django_filters.CharFilter(method='filter_by_n_slashes')

    class Meta:
        model = PluginInstanceFile
        fields = [
            'id', 'min_creation_date', 'max_creation_date', 'plugin_inst_id',
            'feed_id', 'fname', 'fname_exact', 'fname_icontains',
            'fname_nslashes'
        ]

    def filter_by_n_slashes(self, queryset, name, value):
        """
        Custom method to return the files that have the queried number of slashes in
        their fname property. If the queried number ends in 'u' or 'U' then only one
        file per each last "folder" in the path is returned (useful to efficiently get
        the list of immediate folders under the path).
        """
        return filter_files_by_n_slashes(queryset, value)
Пример #5
0
class EventFilter(filters.FilterSet):

    start = django_filters.IsoDateTimeFilter(
        name='when_happened',
        lookup_expr='gte')

    before = django_filters.IsoDateTimeFilter(
        name='when_happened',
        lookup_expr='lte')

    order = django_filters.OrderingFilter(
        # tuple-mapping retains order
        fields = ['when_happened', 'ranking'])
    
    q = django_filters.CharFilter(method='filter_by_q', distinct=True)

    # TODO THIS THING IS FRANKLY REAL DODGY
    def filter_by_q(self, queryset, WHAT_IS_THIS_ARG_I_DO_NOT_KNOW, value):
        uq = unquote(value)
        apos = re.sub(r"[';]", "", uq)
        filtered_val = "'{}'".format(apos,)
        return queryset.full_text_search(filtered_val)

    class Meta:
        model = Event
        fields = ['start',
                  'before',
                  'q',
                  'in_scroll',
                  'in_scroll__slug',
                  'in_scroll__uuid',
                  'in_scroll__by_user__username']
Пример #6
0
class Services_Filter(django_filters.FilterSet):
    search_param = django_filters.CharFilter( method = 'my_custom_filter' )
    #timestamp_gte = django_filters.DateTimeFilter( name = "created", lookup_expr = 'gte' )
    #timestamp_lte = django_filters.DateTimeFilter( name = "created", lookup_expr = 'lte' )
    #resolved = django_filters.DateTimeFilter( name = "timestamp", lookup_expr = 'lte' )
    timestamp_gte = django_filters.IsoDateTimeFilter(name = "created", lookup_expr = 'gte')
    timestamp_lte = django_filters.IsoDateTimeFilter(name = "created", lookup_expr = 'lte')
    class Meta:
        model = Services
        fields = [ 'search_param', 'created' ]
        #fields = {"search_param": ['iexact', 'icontains', 'in', 'startswith']}

        # filter_overrides = {
        # 	django_models.DateTimeField: {
        # 	'filter_class': django_filters.IsoDateTimeFilter
        # 	}

        # }

    def my_custom_filter( self, queryset, name, value ):
    	try:
    		return queryset.filter(
    			id = value
    			)
    	except:
    		return queryset.filter(
    			service_type = value.title()
    			)
Пример #7
0
class PumpStateFilter(django_filters.FilterSet):
    class Meta:
        model = PumpState
        fields = ['date', 'state']

    date_gt = django_filters.IsoDateTimeFilter(name="date", lookup_expr='gt')
    date_lt = django_filters.IsoDateTimeFilter(name="date", lookup_expr='lt')
Пример #8
0
    class HistoryFilter(filters.FilterSet):
        min_date = django_filters.IsoDateTimeFilter(field_name="revision__date_created", lookup_expr="gte")
        max_date = django_filters.IsoDateTimeFilter(field_name="revision__date_created", lookup_expr="lte")

        class Meta:
            model = Version
            fields = ['id', 'min_date', 'max_date']
Пример #9
0
class Products_Filter(django_filters.FilterSet):
    timestamp_gte = django_filters.IsoDateTimeFilter( name = "created", lookup_expr = 'gte' )
    timestamp_lte = django_filters.IsoDateTimeFilter( name = "created", lookup_expr = 'lte' )
    search_param = django_filters.CharFilter( method = 'my_custom_filter' )
    has_open_process = django_filters.CharFilter( name = 'services__has_open_process', lookup_expr = 'iexact' )
    lacks_service_type = django_filters.CharFilter( name = 'services__service_type', lookup_expr = 'exact',exclude = True )
    #user = django_filters.NumberFilter( name = 'services__service_type', lookup_expr = 'exact', exclude = True )
    class Meta:
        model = Auction_Products
        fields = ['search_param', 'created', 'has_open_process', 'lacks_service_type', 'user']

    # def has_logistics(self, queryset, name, value):

    #     return queryset

    def my_custom_filter(self, queryset, name, value):
    	try:
    		products_query = queryset.filter(auction__host = value.lower())
    		if products_query.exists():
    			return products_query
    		raise Exception('No payment_type found')
    	except:
    		pass

    	try:
    		products_query = queryset.filter(lot_number = value)
    		if products_query.exists():
    			return products_query
    		raise Exception('No lot_number found')
    	except:
    		pass

    	return []
Пример #10
0
class TripFilter(django_filters.FilterSet):
    pickupTime__gte = django_filters.IsoDateTimeFilter(name="pickupTime",
                                                       lookup_expr='gte')
    pickupTime__lte = django_filters.IsoDateTimeFilter(name="pickupTime",
                                                       lookup_expr='lte')
    pickupWeekday = django_filters.TypedMultipleChoiceFilter(
        choices=WEEKDAY_CHOICES, name="pickupTime__week_day")
    #pickupWeekday = django_filters.NumberFilter(method='weekday_filter')
    dropoffTime__gte = django_filters.IsoDateTimeFilter(name="dropoffTime",
                                                        lookup_expr='gte')
    dropoffTime__lte = django_filters.IsoDateTimeFilter(name="dropoffTime",
                                                        lookup_expr='lte')
    # dropoffWeekday = django_filters.MultipleChoiceFilter(choices=WEEKDAY_CHOICES,name="dropoffTime", lookup_expr='week_day')
    set = django_filters.NumberFilter(method='set_filter')

    class Meta:
        model = Trip
        fields = {
            'tripDistance': ['lte', 'gte'],
            'totalAmount': ['lte', 'gte'],
        }

    def set_filter(self, queryset, name, value):
        if value == 29:
            return queryset  #.filter(pickupDistrict__isnull=True,pickupPoint__isnull=False)
        return queryset.filter(set=value)
Пример #11
0
class Payments_Filter(django_filters.FilterSet):
    timestamp_gte = django_filters.IsoDateTimeFilter( name = "created", lookup_expr = 'gte' )
    timestamp_lte = django_filters.IsoDateTimeFilter( name = "created", lookup_expr = 'lte' )
    search_param = django_filters.CharFilter(method='payment_custom_filter')
    class Meta:
        model = Payments
        fields = [ 'created', 'id', 'search_param' ]

    def payment_custom_filter(self, queryset, name, value):
    	
    	try:
    		payment_type_query = queryset.filter(payment_type = value.lower())
    		if payment_type_query.exists():
    			return payment_type_query
    		raise Exception('No payment_type found')
    	except:
    		pass

    	try:
    		payment_type_query = queryset.filter(id = value)
    		if payment_type_query.exists():
    			return payment_type_query
    		raise Exception('No payment_id found')
    	except:
    		pass	
    	# try:
    	# 	if value==''
    	# 	payment_type_query = queryset.filter(payment_approved = value)
    	# 	if payment_type_query.exists():
    	# 		return payment_type_query
    	# 	raise Exception('No payment_type found')
    	# except:
    	# 	return queryset.filter(pk = value)

    	return []
Пример #12
0
class TyreMeasurementFilter(FilterSet):
    timestamp_min = django_filters.IsoDateTimeFilter(name='timestamp', lookup_expr='gte')
    timestamp_max = django_filters.IsoDateTimeFilter(name='timestamp', lookup_expr='lte')

    class Meta:
        model = TyreMeasurement
        fields = ('timestamp', 'car', 'position', 'timestamp_min', 'timestamp_max')
Пример #13
0
class AlertFilter(django_filters.FilterSet):
    started_on__gt = django_filters.IsoDateTimeFilter(
        field_name='started_on',
        lookup_expr='gte',
    )
    started_on__lt = django_filters.IsoDateTimeFilter(
        field_name='started_on',
        lookup_expr='lte',
    )
    created_on__gt = django_filters.IsoDateTimeFilter(
        field_name='created_on',
        lookup_expr='gte',
    )
    created_on__lt = django_filters.IsoDateTimeFilter(
        field_name='created_on',
        lookup_expr='lte',
    )
    hazard = django_filters.ModelMultipleChoiceFilter(
        queryset=Hazard.objects.all(),
        lookup_expr='in',
        widget=django_filters.widgets.CSVWidget,
    )

    class Meta:
        model = Alert
        fields = ['event', ]
Пример #14
0
class PACSFileFilter(FilterSet):
    min_creation_date = django_filters.IsoDateTimeFilter(
        field_name='creation_date', lookup_expr='gte')
    max_creation_date = django_filters.IsoDateTimeFilter(
        field_name='creation_date', lookup_expr='lte')
    fname = django_filters.CharFilter(field_name='fname',
                                      lookup_expr='startswith')
    fname_exact = django_filters.CharFilter(field_name='fname',
                                            lookup_expr='exact')
    PatientName = django_filters.CharFilter(field_name='PatientName',
                                            lookup_expr='icontains')
    ProtocolName = django_filters.CharFilter(field_name='ProtocolName',
                                             lookup_expr='icontains')
    StudyDescription = django_filters.CharFilter(field_name='StudyDescription',
                                                 lookup_expr='icontains')
    SeriesDescription = django_filters.CharFilter(
        field_name='SeriesDescription', lookup_expr='icontains')
    pacs_identifier = django_filters.CharFilter(field_name='pacs__identifier',
                                                lookup_expr='exact')
    min_PatientAge = django_filters.NumberFilter(field_name='PatientAge',
                                                 lookup_expr='gte')
    max_PatientAge = django_filters.NumberFilter(field_name='PatientAge',
                                                 lookup_expr='lte')

    class Meta:
        model = PACSFile
        fields = [
            'id', 'min_creation_date', 'max_creation_date', 'fname',
            'fname_exact', 'PatientID', 'PatientName', 'PatientSex',
            'PatientAge', 'min_PatientAge', 'max_PatientAge',
            'PatientBirthDate', 'StudyDate', 'ProtocolName',
            'StudyInstanceUID', 'StudyDescription', 'SeriesInstanceUID',
            'SeriesDescription', 'pacs_identifier'
        ]
Пример #15
0
class Estudios_Filter(django_filters.FilterSet):

    cedula = django_filters.NumberFilter(name="paciente__cedula",
                                         lookup_expr='iexact')
    result_present = django_filters.BooleanFilter(
        method='result_present_filter')
    results_printed = django_filters.BooleanFilter(
        method='results_printed_filter')
    timestamp_lte = django_filters.IsoDateTimeFilter(name="created",
                                                     lookup_expr='lte')
    timestamp_gte = django_filters.IsoDateTimeFilter(name="created",
                                                     lookup_expr='gte')
    patron = django_filters.NumberFilter(lookup_expr='exact')

    #resultadosnoimpresos  = django_filters.BooleanFilter(name='resultados__impreso')
    class Meta:
        model = Estudios
        fields = ['cedula', 'impreso', 'timestamp_lte', 'timestamp_gte']

    def filter_patron(self, queryset, name, value):
        return queryset.filter(patron=value)

    def result_present_filter(self, queryset, name, value):
        return queryset.filter(estudios__isnull=True).exists()

    def results_printed_filter(self, estudios, name, value):
        #print estudios.filter(resultados__isnull=True)
        return estudios.filter(
            Q(resultados__isnull=True) | Q(resultados__impreso=False))
Пример #16
0
class WaterLevelFilter(django_filters.FilterSet):
    class Meta:
        model = WaterLevel
        fields = ['date', 'bac', 'level']

    date_gt = django_filters.IsoDateTimeFilter(name="date", lookup_expr='gt')
    date_lt = django_filters.IsoDateTimeFilter(name="date", lookup_expr='lt')
Пример #17
0
class TemperatureFilter(django_filters.FilterSet):
    class Meta:
        model = Temperature
        fields = ['date', 'temperature']

    date_gt = django_filters.IsoDateTimeFilter(name="date", lookup_expr='gt')
    date_lt = django_filters.IsoDateTimeFilter(name="date", lookup_expr='lt')
class SubscriptionFilter(filters.FilterSet):
    created_after = django_filters.IsoDateTimeFilter(name="created_at",
                                                     lookup_type="gte")
    created_before = django_filters.IsoDateTimeFilter(name="created_at",
                                                      lookup_type="lte")

    class Meta:
        model = Subscription
Пример #19
0
class LocationMarkFilterSet(FilterSet):
    after = django_filters.IsoDateTimeFilter(name="created", lookup_expr='gte')
    before = django_filters.IsoDateTimeFilter(name="created",
                                              lookup_expr='lte')

    class Meta:
        model = LocationMark
        fields = ['created', 'user']
Пример #20
0
class RecordFilter(filters.FilterSet):
    user = django_filters.CharFilter(name="user__username")
    from_date = django_filters.IsoDateTimeFilter(name="time", lookup_type='gte')
    to_date = django_filters.IsoDateTimeFilter(name="time", lookup_type='lte')

    class Meta:
        model = Record
        fields = ['user', 'from_date', 'to_date']
Пример #21
0
class ObservationViewFilter(django_filters.FilterSet):
    start = django_filters.IsoDateTimeFilter(name='start', lookup_expr='gte')
    end = django_filters.IsoDateTimeFilter(name='end', lookup_expr='lte')
    norad = django_filters.NumberFilter(name='satellite__norad_cat_id',
                                        lookup_expr='iexact')

    class Meta:
        model = Observation
        fields = ['ground_station']
Пример #22
0
class HearingFilter(django_filters.FilterSet):
    open_at_lte = django_filters.IsoDateTimeFilter(name='open_at',
                                                   lookup_type='lte')
    open_at_gt = django_filters.IsoDateTimeFilter(name='open_at',
                                                  lookup_type='gt')

    class Meta:
        model = Hearing
        fields = ['published', 'open_at_lte', 'open_at_gt']
Пример #23
0
class TimeEntryFilter(GenericDateFilterSet):
    min_date = django_filters.IsoDateTimeFilter(name='spent_at', lookup_expr='gte')
    max_date = django_filters.IsoDateTimeFilter(name='spent_at', lookup_expr='lte')
    min_hours = django_filters.IsoDateTimeFilter(name='hours', lookup_expr='gte')
    max_hours = django_filters.IsoDateTimeFilter(name='hours', lookup_expr='lte')

    class Meta:
        model = TimeEntry
        fields = ('user', 'task', 'spent_at', 'hours')
Пример #24
0
class TaskFilter(FilterSet):
    min_date = django_filters.IsoDateTimeFilter(field_name="completion_date",
                                                lookup_expr="gte")
    max_date = django_filters.IsoDateTimeFilter(field_name="completion_date",
                                                lookup_expr="lte")

    class Meta:
        model = Task
        fields = ['id', 'status', 'completion_date']
Пример #25
0
class DateFilter(BaseFilter):
    started_before = django_filters.IsoDateTimeFilter(field_name="started",
                                                      lookup_expr="lte")
    started_after = django_filters.IsoDateTimeFilter(field_name="started",
                                                     lookup_expr="gte")
    ended_before = django_filters.IsoDateTimeFilter(field_name="ended",
                                                    lookup_expr="lte")
    ended_after = django_filters.IsoDateTimeFilter(field_name="ended",
                                                   lookup_expr="gte")
Пример #26
0
class ExampleFilter(django_filters.FilterSet):
    created_at__gte = django_filters.IsoDateTimeFilter(field_name='created_at', lookup_expr='gte')
    created_at__lte = django_filters.IsoDateTimeFilter(field_name='created_at', lookup_expr='lte')

    class Meta:
        model = Address
        fields = [
            'created_by'
        ]
Пример #27
0
class Facturas_Filter(django_filters.FilterSet):
    timestamp_lte = django_filters.IsoDateTimeFilter(name="created",
                                                     lookup_expr='lte')
    timestamp_gte = django_filters.IsoDateTimeFilter(name="created",
                                                     lookup_expr='gte')

    class Meta:
        model = Facturas
        fields = ['id', 'creador', 'created', 'monto', 'descuento']
Пример #28
0
class PondBlockFilter(mixins.CustomIsoDateTimeFilterMixin,
                      django_filters.FilterSet):
    site = django_filters.MultipleChoiceFilter(
        choices=configdb.get_site_tuples())
    observatory = django_filters.MultipleChoiceFilter(
        choices=configdb.get_enclosure_tuples(), field_name='enclosure')
    telescope = django_filters.MultipleChoiceFilter(
        choices=configdb.get_telescope_tuples())
    start_after = django_filters.IsoDateTimeFilter(
        field_name='start',
        lookup_expr='gte',
        label='Start after',
        widget=forms.TextInput(attrs={
            'class': 'input',
            'type': 'date'
        }))
    start_before = django_filters.IsoDateTimeFilter(
        field_name='start',
        lookup_expr='lt',
        label='Start before',
        widget=forms.TextInput(attrs={
            'class': 'input',
            'type': 'date'
        }))
    end_after = django_filters.IsoDateTimeFilter(field_name='end',
                                                 lookup_expr='gte',
                                                 label='End after')
    end_before = django_filters.IsoDateTimeFilter(field_name='end',
                                                  lookup_expr='lt',
                                                  label='End before')
    modified_after = django_filters.IsoDateTimeFilter(field_name='modified',
                                                      lookup_expr='gte',
                                                      label='Modified After')
    request_num = django_filters.CharFilter(field_name='request__id')
    tracking_num = django_filters.CharFilter(
        field_name='request__request_group__id')
    proposal = django_filters.CharFilter(
        field_name='request__request_group__proposal__id',
        distinct=True,
        lookup_expr='exact')
    instrument_class = django_filters.ChoiceFilter(
        choices=configdb.get_instrument_type_tuples(),
        field_name='configuration_statuses__configuration__instrument_type')
    canceled = django_filters.BooleanFilter(method='filter_canceled')
    order = django_filters.OrderingFilter(fields=('start', 'modified'))
    time_span = django_filters.DateRangeFilter(field_name='start')

    class Meta:
        model = Observation
        exclude = ['start', 'end', 'request', 'created', 'modified']

    def filter_canceled(self, queryset, name, value):
        if not value:
            return queryset.exclude(state='CANCELED')
        else:
            return queryset
Пример #29
0
class HearingFilter(django_filters.rest_framework.FilterSet):
    open_at_lte = django_filters.IsoDateTimeFilter(name='open_at', lookup_expr='lte')
    open_at_gt = django_filters.IsoDateTimeFilter(name='open_at', lookup_expr='gt')
    title = django_filters.CharFilter(lookup_expr='icontains', name='translations__title', distinct=True)
    label = django_filters.Filter(name='labels__id', lookup_expr='in', distinct=True,
                                  widget=django_filters.widgets.CSVWidget)

    class Meta:
        model = Hearing
        fields = ['published', 'open_at_lte', 'open_at_gt', 'title', 'label']
Пример #30
0
    class OrderFilter(FilterSet):
        email = django_filters.CharFilter(field_name='email', lookup_expr='iexact')
        code = django_filters.CharFilter(field_name='code', lookup_expr='iexact')
        status = django_filters.CharFilter(field_name='status', lookup_expr='iexact')
        modified_since = django_filters.IsoDateTimeFilter(field_name='last_modified', lookup_expr='gte')
        created_since = django_filters.IsoDateTimeFilter(field_name='datetime', lookup_expr='gte')

        class Meta:
            model = Order
            fields = ['code', 'status', 'email', 'locale', 'testmode', 'require_approval']