Exemple #1
0
 def get_queryset(self):
     return apply_select_and_prefetch(
         queryset=Issue.objects.filter(moderation='public').prefetch_related(
             Prefetch('service', queryset=Service.objects.translated())
         ),
         extensions=get_extensions_from_request(self.request)
     )
Exemple #2
0
 def get_queryset(self):
     return apply_select_and_prefetch(
         queryset=Issue.objects.filter(moderation='public').prefetch_related(
             Prefetch('service', queryset=Service.objects.translated())
         ),
         extensions=get_extensions_from_request(self.request)
     )
Exemple #3
0
    def filter_queryset(self, request, queryset, view):
        extensions = get_extensions_from_request(request)

        agency_responsible = request.query_params.get('agency_responsible')
        end_date = request.query_params.get('end_date')
        identifiers = request.query_params.get('service_request_id')
        jurisdiction_id = request.query_params.get('jurisdiction_id')
        service_codes = request.query_params.get('service_code')
        start_date = request.query_params.get('start_date')
        statuses = request.query_params.get('status')
        updated_after = request.query_params.get('updated_after')
        updated_before = request.query_params.get('updated_before')

        if jurisdiction_id:
            queryset = queryset.filter(jurisdiction__identifier=jurisdiction_id)

        if identifiers:
            queryset = queryset.filter(identifier__in=identifiers.split(','))
        if service_codes:
            queryset = queryset.filter(service_code__in=str(service_codes).split(','))
        if start_date:
            queryset = queryset.filter(requested_datetime__gte=start_date)
        if end_date:
            queryset = queryset.filter(requested_datetime__lte=end_date)
        if statuses:
            queryset = queryset.filter(status__in=statuses.split(','))
        if agency_responsible:
            queryset = queryset.filter(agency_responsible__iexact=agency_responsible)

        if updated_after:  # CitySDK extension
            queryset = queryset.filter(updated_datetime__gt=updated_after)
        if updated_before:  # CitySDK extension
            queryset = queryset.filter(updated_datetime__lt=updated_before)

        queryset = self._apply_geo_filters(request, queryset)
        queryset = apply_select_and_prefetch(queryset=queryset, extensions=extensions)

        for ex in extensions:
            queryset = ex.filter_issue_queryset(request, queryset, view)

        order_by = (request.query_params.get('order_by') or '-pk')
        queryset = queryset.order_by(order_by)

        return queryset
Exemple #4
0
    def filter_queryset(self, request, queryset, view):
        extensions = get_extensions_from_request(request)

        agency_responsible = request.query_params.get('agency_responsible')
        end_date = request.query_params.get('end_date')
        identifiers = request.query_params.get('service_request_id')
        jurisdiction_id = request.query_params.get('jurisdiction_id')
        service_codes = request.query_params.get('service_code')
        start_date = request.query_params.get('start_date')
        statuses = request.query_params.get('status')
        updated_after = request.query_params.get('updated_after')
        updated_before = request.query_params.get('updated_before')

        if jurisdiction_id:
            queryset = queryset.filter(jurisdiction__identifier=jurisdiction_id)

        if identifiers:
            queryset = queryset.filter(identifier__in=identifiers.split(','))
        if service_codes:
            queryset = queryset.filter(service_code__in=str(service_codes).split(','))
        if start_date:
            queryset = queryset.filter(requested_datetime__gte=start_date)
        if end_date:
            queryset = queryset.filter(requested_datetime__lte=end_date)
        if statuses:
            queryset = queryset.filter(status__in=statuses.split(','))
        if agency_responsible:
            queryset = queryset.filter(agency_responsible__iexact=agency_responsible)

        if updated_after:  # CitySDK extension
            queryset = queryset.filter(updated_datetime__gt=updated_after)
        if updated_before:  # CitySDK extension
            queryset = queryset.filter(updated_datetime__lt=updated_before)

        queryset = self._apply_geo_filters(request, queryset)
        queryset = apply_select_and_prefetch(queryset=queryset, extensions=extensions)

        for ex in extensions:
            queryset = ex.filter_issue_queryset(request, queryset, view)

        order_by = (request.query_params.get('order_by') or '-pk')
        queryset = queryset.order_by(order_by)

        return queryset
Exemple #5
0
 def get_serializer_context(self):
     ctx = super().get_serializer_context()
     ctx['extensions'] = get_extensions_from_request(self.request)
     ctx['application'] = get_application_from_request(self.request)
     return ctx
Exemple #6
0
 def get_serializer_context(self):
     ctx = super(IssueViewBase, self).get_serializer_context()
     ctx['extensions'] = get_extensions_from_request(self.request)
     ctx['application'] = get_application_from_request(self.request)
     return ctx