예제 #1
0
class RoleFilterSet(FilterSet):
    status = filters.ChoiceFilter(choices=settings.STATUS_USE_CHOICE,
                                  help_text='状态是否启动')
    data_level = filters.ChoiceFilter(choices=settings.DATA_LEVEL_CHOICE,
                                      help_text='数据级别')

    class Meta:
        model = RolesInfo
        fields = []
예제 #2
0
class BranchFilterSet(FilterSet):
    status = filters.ChoiceFilter(choices=settings.STATUS_USE_CHOICE,
                                  label='状态是否启动')

    class Meta:
        model = BranchesInfo
        fields = []
예제 #3
0
파일: task.py 프로젝트: pradeepbbl/pulpcore
class TaskFilter(BaseFilterSet):
    state = filters.ChoiceFilter(choices=TASK_CHOICES)
    worker = HyperlinkRelatedFilter()
    name = filters.CharFilter()
    started_at = IsoDateTimeFilter(field_name="started_at")
    finished_at = IsoDateTimeFilter(field_name="finished_at")
    parent_task = HyperlinkRelatedFilter()
    child_tasks = HyperlinkRelatedFilter()
    task_group = HyperlinkRelatedFilter()
    reserved_resources_record = ReservedResourcesFilter()
    created_resources = CreatedResourcesFilter()

    class Meta:
        model = Task
        fields = {
            "name": ["contains"],
            "state": ["exact", "in"],
            "worker": ["exact", "in"],
            "started_at": DATETIME_FILTER_OPTIONS,
            "finished_at": DATETIME_FILTER_OPTIONS,
            "parent_task": ["exact"],
            "child_tasks": ["exact"],
            "task_group": ["exact"],
            "reserved_resources_record": ["exact"],
            "created_resources": ["exact"],
        }
class InvitationFilter(FilterSet):
    status = filters.ChoiceFilter(field_name="status",
                                  choices=InvitationStatusType.choices)

    class Meta:
        model = Invitation
        fields = ("status", )
예제 #5
0
class WeighDataSiteWeekFilter(FilterSet):

    fractie = filters.ChoiceFilter(label='fractie',
                                   method='filter_fractie',
                                   choices=[(f[0], f[0]) for f in FRACTIES])

    def filter_fractie(self, qs, _name, value):
        return qs.filter(fractie=value)

    class Meta(object):

        model = SiteFractieStatWeek

        fields = {
            'fractie': ['exact'],
            'volume': FILTERS,
            'capacity': FILTERS,
            'week': FILTERS,
            'year': FILTERS,
            'measurements': FILTERS,
            'sum': FILTERS,
            'min': FILTERS,
            'max': FILTERS,
            'avg': FILTERS,
            'stddev': FILTERS,
            'site': ['exact'],
        }
예제 #6
0
class WeigDataBuurtMonthFiltler(FilterSet):

    fractie = filters.ChoiceFilter(label='fractie',
                                   method='filter_fractie',
                                   choices=[(f[0], f[0]) for f in FRACTIES])

    def filter_fractie(self, qs, _name, value):
        return qs.filter(fractie=value)

    class Meta(object):

        model = BuurtFractieStatMonth

        fields = {
            'fractie': ['exact'],
            'month': FILTERS,
            'year': FILTERS,
            'measurements': FILTERS,
            'sum': FILTERS,
            'min': FILTERS,
            'max': FILTERS,
            'avg': FILTERS,
            'stddev': FILTERS,
            'buurt_code': ['exact'],
        }
예제 #7
0
class CourtFilter(FilterSet):
    jurisdiction = filters.ChoiceFilter(field_name='jurisdiction__slug',
                                        choices=jur_choices)
    name = filters.CharFilter(lookup_expr='icontains', label='Name (contains)')

    class Meta:
        model = models.Court
        fields = ['id', 'slug', 'name', 'name_abbreviation', 'jurisdiction']
예제 #8
0
class ExpressionFilterSet(FilterSet):
    """
    FilterSet used in the API endpoint for expressions, options to filter on:
    - expression name
    - expression type
    """
    name = filters.ChoiceFilter(choices=expression_choices)
    type_name = filters.MultipleChoiceFilter(field_name='_type__name', choices=expression_type_choices)
예제 #9
0
class FactCheckerNewsFilter(FilterSet):
    is_opined = filters.BooleanFilter(field_name="is_opined")
    origin = filters.ChoiceFilter(field_name="origin",
                                  choices=NewsOrigin.choices)

    class Meta:
        model = News
        fields = ("is_opined", "origin")
예제 #10
0
class HistoryFilter(FilterSet):
    typus = filters.ChoiceFilter(choices=HistoryTypus.items(),
                                 method=filter_history_typus)
    date = DateTimeFromToRangeFilter(name='date')

    class Meta:
        model = History
        fields = ('group', 'store', 'users', 'typus', 'date')
class NewsVerifiedFilter(FilterSet):
    current_verdict = filters.ChoiceFilter(
        choices=NEWS_CURRENT_VERDICT_CHOICES)
    is_assigned_to_me = filters.BooleanFilter(field_name="is_assigned_to_me")
    is_duplicate = filters.BooleanFilter(field_name="is_duplicate")
    is_published = filters.BooleanFilter(field_name="is_published")
    origin = filters.ChoiceFilter(field_name="origin",
                                  choices=NewsOrigin.choices)

    class Meta:
        model = News
        fields = (
            "current_verdict",
            "is_assigned_to_me",
            "is_duplicate",
            "is_published",
            "origin",
        )
예제 #12
0
class AdminUsersFilter(FilterSet):
    specialization = filters.ChoiceFilter(
        field_name="specialization", choices=UserSpecializationType.choices)
    created = filters.DateFromToRangeFilter(field_name="created_at")
    verified = filters.NumericRangeFilter(field_name="verified")

    class Meta:
        model = User
        fields = ("specialization", "created", "verified")
class CrewUsersFilter(FilterSet):
    specialization = filters.ChoiceFilter(
        field_name="specialization", choices=UserSpecializationType.choices)
    created = filters.DateFromToRangeFilter(field_name="created_at")
    is_active = filters.BooleanFilter(field_name="is_active")

    class Meta:
        model = User
        fields = ("specialization", "created", "is_active")
예제 #14
0
class CitiesFilterSet(FilterSet):
    county = filters.ModelChoiceFilter(queryset=Countries.objects.all(),
                                       required=True,
                                       help_text='国家')
    status = filters.ChoiceFilter(choices=settings.STATUS_USE_CHOICE,
                                  label='状态是否启动')

    class Meta:
        model = Cities
        fields = []
예제 #15
0
class OrdFundsFilterSet(FilterSet):
    fund_status = filters.ChoiceFilter(choices=settings.FUND_STATUS_CHOICE,
                                       help_text='款项状态')
    order_status = filters.ChoiceFilter(choices=settings.ORDER_STATUS_CHOICE,
                                        help_text='订单状态')
    channel = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(),
                                        help_text='服务渠道')
    pay_type = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(),
                                         help_text='付款类型')
    order_time_start = filters.DateTimeFilter(field_name='order_time',
                                              lookup_expr='gte',
                                              help_text='订单(查询起始时间)')
    order_time_end = filters.DateTimeFilter(field_name='order_time',
                                            lookup_expr='lte',
                                            help_text='订单(查询结束时间)')

    class Meta:
        model = OrdFundsInfo
        fields = []
예제 #16
0
class FreightsFilterSet(FilterSet):
    channel = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(), help_text='货运渠道')
    trans_company = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(), help_text='货运公司')
    freight_status = filters.ChoiceFilter(choices=settings.FREIGHT_STATUS_CHOICE, help_text='货运状态')
    pack_time_start = filters.DateTimeFilter(field_name='pack_time', lookup_expr='gte', help_text='查询运单(起始打包时间)')
    pack_time_end = filters.DateTimeFilter(field_name='pack_time', lookup_expr='lte', help_text='查询运单(结束打包时间)')

    class Meta:
        model = FreightsInfo
        fields = []
예제 #17
0
class DictValuesFilterSet(FilterSet):
    type = filters.ModelChoiceFilter(queryset=DataDictType.objects.all(),
                                     required=True,
                                     help_text='字典类型代码')
    status = filters.ChoiceFilter(choices=settings.STATUS_USE_CHOICE,
                                  label='状态是否启动')

    class Meta:
        model = DataDictsValue
        fields = []
예제 #18
0
class FreightQueryFilterSet(FreightStatementFilterSet):
    freight_code = filters.CharFilter(field_name='trans_code', lookup_expr='iexact', help_text='运单号', label='运单号')
    trans_company = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(), help_text='货运公司', label='货运公司')
    mid_company = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(), help_text='中港公司', label='中港公司')
    freight_status = filters.ChoiceFilter(choices=settings.ORDER_STATUS_CHOICE, help_text='运单状态', label='运单状态')
    channel = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(), help_text='货运渠道', label='货运渠道')

    class Meta:
        model = FreightsInfo
        fields = []
예제 #19
0
class ExpertNewsFilter(FilterSet):
    assigned_to_me = filters.BooleanFilter(field_name="is_assigned_to_me")
    current_verdict = filters.ChoiceFilter(
        choices=NEWS_CURRENT_VERDICT_CHOICES)
    is_duplicate = filters.BooleanFilter(field_name="is_duplicate")
    is_sensitive = filters.BooleanFilter(field_name="is_sensitive")
    is_spam = filters.BooleanFilter(field_name="is_spam")
    origin = filters.ChoiceFilter(field_name="origin",
                                  choices=NewsOrigin.choices)

    class Meta:
        model = News
        fields = (
            "assigned_to_me",
            "current_verdict",
            "is_duplicate",
            "is_sensitive",
            "is_spam",
            "origin",
        )
예제 #20
0
class UserFilterSet(FilterSet):
    status = filters.ChoiceFilter(choices=settings.STATUS_USE_CHOICE,
                                  help_text='状态是否启动')
    bran = filters.ModelChoiceFilter(queryset=BranchesInfo.objects.all(),
                                     help_text='分部id')
    roles = filters.ModelChoiceFilter(queryset=RolesInfo.objects.all(),
                                      label='角色ID')

    class Meta:
        model = UsersInfo
        fields = []
예제 #21
0
class OrderQueryFilterSet(OrderStatementFilterSet):
    trans_code = filters.CharFilter(field_name='trans_code', lookup_expr='iexact', help_text='转单号', label='转单号')
    customer = filters.ModelChoiceFilter(queryset=CustomersInfo.objects.all(), help_text='客户', label='客户')
    order_status = filters.ChoiceFilter(choices=settings.ORDER_STATUS_CHOICE, help_text='订单状态', label='订单状态')
    channel = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(), help_text='服务渠道', label='服务渠道')
    customer__salesman = filters.ModelChoiceFilter(queryset=UsersInfo.objects.all(), help_text='业务员')
    customer__service = filters.ModelChoiceFilter(queryset=UsersInfo.objects.all(), help_text='客服专员')
    operators = filters.ModelChoiceFilter(queryset=UsersInfo.objects.all(), help_text='操作员', label='操作员')

    class Meta:
        model = OrdersInfo
        fields = []
예제 #22
0
class OthersFundsFilterSet(FilterSet):
    fund_type = filters.ChoiceFilter(choices=settings.OTHER_FUND_TYPE_CHOICE,
                                     help_text='款项类型')
    fund_status = filters.ChoiceFilter(choices=settings.FUND_STATUS_CHOICE,
                                       help_text='款项状态')
    order = filters.ModelChoiceFilter(queryset=OrdFundsInfo.objects.all(),
                                      help_text='订单')
    freight = filters.ModelChoiceFilter(queryset=FreFundsInfo.objects.all(),
                                        help_text='运单')
    service = filters.ModelChoiceFilter(queryset=UsersInfo.objects.all(),
                                        help_text='款项专员')
    recpay_time_start = filters.DateTimeFilter(field_name='recpay_time',
                                               lookup_expr='gte',
                                               help_text='订单(查询起始时间)')
    recpay_time_end = filters.DateTimeFilter(field_name='recpay_time',
                                             lookup_expr='lte',
                                             help_text='订单(查询结束时间)')

    class Meta:
        model = OtherFundsInfo
        fields = []
예제 #23
0
class KilogramFilter(FilterSet):
    id = filters.CharFilter()
    in_bbox = filters.CharFilter(method='in_bbox_filter', label='bbox')
    detailed = filters.BooleanFilter(method='detailed_filter',
                                     label='detailed view')

    weigh_at_gt = filters.DateTimeFilter('weigh_at', lookup_expr='gt')
    weigh_at_lt = filters.DateTimeFilter('weigh_at', lookup_expr='lt')

    location = filters.CharFilter(method="locatie_filter", label='x,y,r')

    fractie = filters.ChoiceFilter(choices=settings.WASTE_CHOICES,
                                   label='waste name')

    # stadsdeel = filters.ChoiceFilter(choices=STADSDELEN)
    # buurt_code = filters.ChoiceFilter(choices=buurt_choices)

    class Meta(object):
        model = KilogramWeighMeasurement
        fields = (
            "id",
            "seq_id",
            "fractie",
            "weigh_at",
            "weigh_at_gt",
            "weigh_at_lt",
            "stadsdeel",
            "buurt_code",
            "site_id",
            "first_weight",
            "second_weight",
            "net_weight",
            "in_bbox",
            "location",
            "detailed",
            "valid",
        )

    def in_bbox_filter(self, qs, name, value):
        bbox_values, err = bbox.valid_bbox(value)
        lat1, lon1, lat2, lon2 = bbox_values
        poly_bbox = Polygon.from_bbox((lon1, lat1, lon2, lat2))

        if err:
            raise ValidationError(f"bbox invalid {err}:{bbox_values}")
        return qs.filter(geometrie__bboverlaps=(poly_bbox))

    def locatie_filter(self, qs, name, value):
        point, radius = bbox.parse_xyr(value)
        return qs.filter(geometrie__dwithin=(point, radius))

    def detailed_filter(self, qs, name, valie):
        return qs
예제 #24
0
class OrdersFilterSet(FilterSet):
    customer__salesman = filters.ModelChoiceFilter(queryset=UsersInfo.objects.all(), help_text='业务员')
    customer__service = filters.ModelChoiceFilter(queryset=UsersInfo.objects.all(), help_text='客服专员')
    operators = filters.ModelChoiceFilter(queryset=UsersInfo.objects.all(), help_text='操作员')
    order_status = filters.ChoiceFilter(choices=settings.ORDER_STATUS_CHOICE, help_text='订单状态')
    channel = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(), help_text='服务渠道')
    order_time_start = filters.DateTimeFilter(field_name='order_time', lookup_expr='order_time__gte', help_text='订单时间')
    order_time_end = filters.DateTimeFilter(field_name='order_time', lookup_expr='order_time_lte', help_text='订单时间')

    class Meta:
        model = OrdersInfo
        fields = []
예제 #25
0
class ManagementNewsFilter(FilterSet):
    current_verdict = filters.ChoiceFilter(field_name="current_verdict",
                                           choices=NEWS_FINAL_VERDICT_TYPES)
    deleted = filters.BooleanFilter(field_name="deleted")
    is_duplicate = filters.BooleanFilter(field_name="is_duplicate")
    is_pinned = filters.BooleanFilter(field_name="is_pinned")
    is_published = filters.BooleanFilter(field_name="is_published")
    is_sensitive = filters.BooleanFilter(field_name="is_sensitive")
    origin = filters.ChoiceFilter(field_name="origin",
                                  choices=NewsOrigin.choices)

    class Meta:
        model = News
        fields = (
            "current_verdict",
            "deleted",
            "is_duplicate",
            "is_pinned",
            "is_published",
            "is_sensitive",
            "origin",
        )
예제 #26
0
파일: filters.py 프로젝트: spreeker/signals
class LocationFilter(FilterSet):
    """
    """
    id = filters.CharFilter()
    in_bbox = filters.CharFilter(method='in_bbox_filter', label='bbox')
    location = filters.CharFilter(method="locatie_filter", label='x,y,r')

    stadsdeel = filters.ChoiceFilter(choices=STADSDELEN)
    buurt_code = filters.ChoiceFilter(choices=buurt_choices)

    class Meta(object):
        model = Location
        fields = (
            "id",
            "_signal__id",
            "buurt_code",
            "signal__location__stadsdeel",
            "signal__location__buurt_code",
            "created_at",
            "in_bbox",
            "location",
        )

    def locatie_filter(self, qs, name, value):
        lon, lat, radius = parse_xyr(value)
        point = Point(lon, lat)

        return qs.filter(geometrie__dwithin=(point,
                                             bbox.dist_to_deg(radius, lat)))

    def in_bbox_filter(self, qs, name, value):
        bbox_values, err = bbox.valid_bbox(value)
        lon1, lat1, lon2, lat2 = bbox_values
        poly_bbox = Polygon.from_bbox((lon1, lat1, lon2, lat2))

        if err:
            raise ValidationError(f"bbox invalid {err}:{bbox_values}")
        return qs.filter(geometrie__bboverlaps=poly_bbox)
예제 #27
0
class JurisdictionFilter(FilterSet):
    whitelisted = filters.BooleanFilter()
    slug = filters.ChoiceFilter(choices=jur_choices, label='Name')
    name_long = filters.CharFilter(label='Long Name')

    class Meta:
        model = models.Jurisdiction
        fields = [
            'id',
            'name',
            'name_long',
            'whitelisted',
            'slug',
        ]
예제 #28
0
class AdminNewsFilter(FilterSet):
    current_verdict = filters.ChoiceFilter(field_name="current_verdict",
                                           choices=NEWS_FINAL_VERDICT_TYPES)
    is_duplicate = filters.BooleanFilter(field_name="is_duplicate")
    deleted = filters.BooleanFilter(field_name="deleted")
    is_sensitive = filters.BooleanFilter(field_name="is_sensitive")

    class Meta:
        model = News
        fields = (
            "current_verdict",
            "is_duplicate",
            "deleted",
            "is_sensitive",
        )
예제 #29
0
class CustomsFundsFilterSet(FilterSet):
    fund_status = filters.ChoiceFilter(choices=settings.FUND_STATUS_CHOICE,
                                       help_text='款项状态')
    channel = filters.ModelChoiceFilter(queryset=DataDictsValue.objects.all(),
                                        help_text='货运渠道')
    pack_time_start = filters.DateTimeFilter(field_name='pack_time',
                                             lookup_expr='gte',
                                             help_text='订单(查询起始时间)')
    pack_time_end = filters.DateTimeFilter(field_name='pack_time',
                                           lookup_expr='lte',
                                           help_text='订单(查询结束时间)')

    class Meta:
        model = CustomsFundsInfo
        fields = []
예제 #30
0
class CaseExportFilter(NoopMixin, FilterSet):
    with_old = filters.ChoiceFilter(
        field_name='with_old',
        label='Include previous versions of files?',
        choices=(('true', 'Include previous versions of files'),
                 ('false', 'Only include newest version of each file')),
        method='noop',  # handled by CaseExportViewSet.filter_queryset()
    )

    class Meta:
        model = models.CaseExport
        fields = {
            'body_format': ['exact'],
            'filter_type': ['exact'],
            'filter_id': ['exact'],
        }