def get_queryset()

in gnm_deliverables/views/deliverables_dash_views.py [0:0]


    def get_queryset(self):
        """
        build a queryset from the provided parameters.
        Parameters are expected as GET request params:
        - startDate: (ISO datetime)
        - endDate: (ISO datetime)
        [- deliverableType is done in frontend]
        - atomId: (string)
        - types: "fullmasters"|"all"
        :return:
        """
        end_date = datetime.now()
        start_date = end_date.replace(day=1, hour=23, minute=59, second=59, microsecond=999)
        if "startDate" in self.request.GET:
            try:
                start_date = parse_date(self.request.GET["startDate"])
            except Exception as err:
                logger.warning("Could not parse provided string {0} as a date: {1}".format(start_date, err))
        if "endDate" in self.request.GET:
            try:
                end_date = parse_date(self.request.GET["endDate"])
            except Exception as err:
                logger.warning("Could not parse provided string {0} as a date: {1}".format(end_date, err))

        queryset = DeliverableAsset.objects.select_related().filter(changed_dt__gte=start_date,
                                                                    changed_dt__lte=end_date)

        if "types" in self.request.GET and self.request.GET["types"] != "all":
            queryset = queryset.filter(type=self.typeForString(self.request.GET["types"]))

        if "q" in self.request.GET and self.request.GET["q"] != "":
            queryset = queryset.filter(filename__icontains=self.request.GET["q"])
        if "atomId" in self.request.GET:
            queryset = GNMWebsite.objects.select_related().filter(media_atom_id=self.request.GET["atomId"])

        return queryset.order_by("-changed_dt")[0:100]