Exemplo n.º 1
0
 def filter_queryset(self, request, queryset, view):
     if view.action != 'list':
         return queryset
     qs = request.query_params.get('query')
     date_created = parse_datetime(request.query_params.get('date_created__gte'))
     application_deadline = parse_datetime(request.query_params.get('application_deadline__gte'))
     tags = request.query_params.getlist('tags')
     criteria = {}
     if date_created:
         criteria.update(date_created__gte=date_created)
     if application_deadline:
         criteria.update(application_deadline__gte=application_deadline)
     return get_search_queryset(qs, queryset, tags=tags, criteria=criteria)
Exemplo n.º 2
0
    def filter_queryset(self, request, queryset, view):
        if view.action != 'list':
            return queryset
        query_string = request.query_params.get('query')
        query_params = request.query_params
        submission_deadline__gte = parse_datetime(query_params.get('submission_deadline__gte'))
        start_date__gte = parse_datetime(query_params.get('start_date__gte') or query_params.get('start_date'))
        tags = request.query_params.getlist('tags')

        criteria = {}

        if submission_deadline__gte:
            criteria.update(submission_deadline__gte=submission_deadline__gte)
        if start_date__gte:
            criteria.update(start_date__gte=start_date__gte)
        return get_search_queryset(query_string, queryset, tags=tags, criteria=criteria)
Exemplo n.º 3
0
 def get_calendar_queryset(self):
     start = parse_datetime(self.request.query_params['start'])
     end = parse_datetime(self.request.query_params['end'])
     return self.queryset.find_by_interval(start, end), start, end
Exemplo n.º 4
0
 def parse_date(value):
     try:
         return utils.parse_datetime(value)
     except ValueError:
         raise ValidationError('Invalid format.')