Exemplo n.º 1
0
    def get_queryset(self):
        """ Specifies if the queryset shall be filtered or not

        Returns:
             The queryset
        """
        self.queryset = Metadata.objects.filter(is_active=True, )

        # filter by query
        query = self.request.query_params.get("q", None)
        self.queryset = view_helper.filter_queryset_metadata_query(
            self.queryset, query)

        # filter by uuid
        uuid = self.request.query_params.get("uuid", None)
        self.queryset = view_helper.filter_queryset_metadata_uuid(
            self.queryset, uuid)

        # order by
        order_by = self.request.query_params.get("order",
                                                 METADATA_DEFAULT_ORDER)
        if order_by not in self.orderable_fields:
            order_by = METADATA_DEFAULT_ORDER
        self.queryset = view_helper.order_queryset(self.queryset, order_by)

        return self.queryset
Exemplo n.º 2
0
    def get_queryset(self):
        """ Specifies if the queryset shall be filtered or not

        Returns:
             The queryset
        """
        self.queryset = Layer.objects.filter(metadata__is_active=True)

        # filter by parent id
        pid = self.request.query_params.get("pid", None)
        self.queryset = view_helper.filter_queryset_service_pid(
            self.queryset, pid)

        # filter by query (title and abstract)
        query = self.request.query_params.get("q", None)
        self.queryset = view_helper.filter_queryset_service_query(
            self.queryset, query)

        # filter by qorganization
        org = self.request.query_params.get("orgid", None)
        self.queryset = view_helper.filter_queryset_services_organization_id(
            self.queryset, org)

        # filter by uuid
        uuid = self.request.query_params.get("uuid", None)
        self.queryset = view_helper.filter_queryset_services_uuid(
            self.queryset, uuid)

        # order by
        order_by = self.request.query_params.get("order", LAYER_DEFAULT_ORDER)
        if order_by not in self.orderable_fields:
            order_by = LAYER_DEFAULT_ORDER
        self.queryset = view_helper.order_queryset(self.queryset, order_by)

        return self.queryset
Exemplo n.º 3
0
    def filter_queryset(self, queryset):
        """ Filters the queryset

        Args:
            queryset (Queryset): Unfiltered queryset
        Returns:
             queryset (Queryset): Filtered queryset
        """
        # filter by dimensions
        time_min = self.request.query_params.get("time-min", None) or None
        time_max = self.request.query_params.get("time-max", None) or None
        elevation_unit = self.request.query_params.get("elevation-unit",
                                                       None) or None
        elevation_min = self.request.query_params.get("elevation-min",
                                                      None) or None
        elevation_max = self.request.query_params.get("elevation-max",
                                                      None) or None
        queryset = view_helper.filter_queryset_metadata_dimension_time(
            queryset, time_min, time_max)
        queryset = view_helper.filter_queryset_metadata_dimension_elevation(
            queryset, elevation_min, elevation_max, elevation_unit)

        # filter by bbox extent. fully-inside and partially-inside are mutually exclusive
        bbox = self.request.query_params.get("bbox", None) or None
        bbox_srs = self.request.query_params.get("bbox-srs",
                                                 DEFAULT_SRS_STRING)
        bbox_strict = utils.resolve_boolean_attribute_val(
            self.request.query_params.get("bbox-strict", False) or False)
        queryset = view_helper.filter_queryset_metadata_bbox(
            queryset, bbox, bbox_srs, bbox_strict)

        # filter by service type
        type = self.request.query_params.get("type", None)
        queryset = view_helper.filter_queryset_metadata_type(queryset, type)

        # filter by category
        category = self.request.query_params.get("cat", None)
        category_strict = utils.resolve_boolean_attribute_val(
            self.request.query_params.get("cat-strict", False) or False)
        queryset = view_helper.filter_queryset_metadata_category(
            queryset, category, category_strict)

        # filter by query
        query = self.request.query_params.get("q", None)
        q_test = self.request.query_params.get("q-test", False)
        queryset = view_helper.filter_queryset_metadata_query(
            queryset, query, q_test)

        # order by
        order_by = self.request.query_params.get("order",
                                                 CATALOGUE_DEFAULT_ORDER)
        if order_by not in self.orderable_fields:
            order_by = CATALOGUE_DEFAULT_ORDER
        queryset = view_helper.order_queryset(queryset, order_by)

        return queryset
Exemplo n.º 4
0
    def get_queryset(self):
        """ Specifies if the queryset shall be filtered or not

        Returns:
             The queryset
        """
        self.queryset = Service.objects.filter(metadata__is_active=True,
                                               is_root=True)
        """ Layer as service is deactivated, since there is an own layer API
        
        # filter by service or service+layers
        las = self.request.query_params.get("las", False)
        las = utils.resolve_boolean_attribute_val(las)
        if not las:
            self.queryset = self.queryset.filter(
                is_root=False
            )
        """

        # filter by type
        service_type = self.request.query_params.get("type", None)
        self.queryset = view_helper.filter_queryset_service_type(
            self.queryset, service_type)

        # filter by query (title and abstract)
        query = self.request.query_params.get("q", None)
        self.queryset = view_helper.filter_queryset_service_query(
            self.queryset, query)

        # filter by organization
        org = self.request.query_params.get("orgid", None)
        self.queryset = view_helper.filter_queryset_services_organization_id(
            self.queryset, org)

        # filter by uuid
        uuid = self.request.query_params.get("uuid", None)
        self.queryset = view_helper.filter_queryset_services_uuid(
            self.queryset, uuid)

        # order by
        order_by = self.request.query_params.get("order",
                                                 SERVICE_DEFAULT_ORDER)
        if order_by not in self.orderable_fields:
            order_by = SERVICE_DEFAULT_ORDER
        self.queryset = view_helper.order_queryset(self.queryset, order_by)

        return self.queryset
Exemplo n.º 5
0
    def get_queryset(self):
        """ Specifies if the queryset shall be filtered or not

        Returns:
             The queryset
        """
        self.queryset = MrMapGroup.objects.all()

        # filter by organization
        orgid = self.request.query_params.get("orgid", None)
        self.queryset = view_helper.filter_queryset_group_organization_id(
            self.queryset, orgid)

        # order by
        order_by = self.request.query_params.get("order", GROUP_DEFAULT_ORDER)
        if order_by not in self.orderable_fields:
            order_by = GROUP_DEFAULT_ORDER
        self.queryset = view_helper.order_queryset(self.queryset, order_by)

        return self.queryset
Exemplo n.º 6
0
    def get_queryset(self):
        """ Specifies if the queryset shall be filtered or not

        Returns:
             The queryset
        """
        self.queryset = Organization.objects.all()

        # filter by real or auto generated organizations
        auto_generated = self.request.query_params.get("ag", None)
        auto_generated = utils.resolve_boolean_attribute_val(auto_generated)
        self.queryset = view_helper.filter_queryset_real_organization(
            self.queryset, auto_generated)

        # order by
        order_by = self.request.query_params.get("order",
                                                 ORGANIZATION_DEFAULT_ORDER)
        if order_by not in self.orderable_fields:
            order_by = ORGANIZATION_DEFAULT_ORDER
        self.queryset = view_helper.order_queryset(self.queryset, order_by)

        return self.queryset