예제 #1
0
    def filter_queryset(self, queryset):
        queries = self.request.GET.copy()
        if self.request.user.username == '':
            return queryset
        form = FilterForm(self.request.user.userprofile, self.request.GET)
        if form.is_valid():
            cd = form.cleaned_data
            if form.cleaned_data['agency']:
                queryset = queryset.filter(agency=form.cleaned_data['agency'])
            if form.cleaned_data['status'] and form.cleaned_data['status'] != 'A':
                queryset = queryset.filter(status=form.cleaned_data['status'])

            if form.cleaned_data['added_before']:
                # Need to increment this to deal with time of day issues
                queryset = queryset.filter(date_added__lte=form.cleaned_data['added_before'] + timedelta(days=1))

            if form.cleaned_data['added_after']:
                queryset = queryset.filter(date_added__gte=form.cleaned_data['added_after'])

            if form.cleaned_data['tags']:
                tags = form.cleaned_data['tags']
                for tag in tags:
                    queryset = queryset.filter(tags=tag)
            
        self.filterform = form

        if 'order_by' in queries:
            if queries['order_by'] == "due_date" or queries['order_by'] == "status" or queries['order_by'] == 'title'\
             or queries['order_by'] == "-due_date" or queries['order_by'] == "-status" or queries['order_by'] == '-title':
                return queryset.order_by(queries['order_by'])

        return queryset
예제 #2
0
    def filter_queryset(self, queryset):
        queries = self.request.GET.copy()
        if self.request.user.username == '':
            return queryset
        form = FilterForm(self.request.user.userprofile, self.request.GET)
        if form.is_valid():
            cd = form.cleaned_data
            if form.cleaned_data['agency']:
                queryset = queryset.filter(agency=form.cleaned_data['agency'])
            if form.cleaned_data[
                    'status'] and form.cleaned_data['status'] != 'A':
                queryset = queryset.filter(status=form.cleaned_data['status'])

            if form.cleaned_data['added_before']:
                # Need to increment this to deal with time of day issues
                queryset = queryset.filter(
                    date_added__lte=form.cleaned_data['added_before'] +
                    timedelta(days=1))

            if form.cleaned_data['added_after']:
                queryset = queryset.filter(
                    date_added__gte=form.cleaned_data['added_after'])

            if form.cleaned_data['tags']:
                tags = form.cleaned_data['tags']
                for tag in tags:
                    queryset = queryset.filter(tags=tag)

            if form.cleaned_data['keywords']:
                queryset = queryset.filter(
                    Q(text__search=form.cleaned_data['keywords'])
                    | Q(title__icontains=form.cleaned_data['keywords'])
                    | Q(free_edit_body__search=form.cleaned_data['keywords']))

            if form.cleaned_data['keywords_attachment']:
                queryset = queryset.filter(
                    Q(title__icontains=form.cleaned_data['keywords_attachment']
                      ))

        #qs = Model.objects.filter(name='test')

        # if form.cleaned_data['keywords_attachment']:
        #    ids = form.cleaned_data['keywords_attachment']
        #    for id in ids:
        #        queryset = queryset.filter(attachments__id=id)

        self.filterform = form

        if 'order_by' in queries:
            if queries['order_by'] == "due_date" or queries['order_by'] == "status" or queries['order_by'] == 'title'\
             or queries['order_by'] == "-due_date" or queries['order_by'] == "-status" or queries['order_by'] == '-title':
                return queryset.order_by(queries['order_by'])

        return queryset
예제 #3
0
    def filter_queryset(self, queryset):
        form = FilterForm(self.vl.owner.userprofile, self.request.GET)
        if form.is_valid():
            cd = form.cleaned_data
            if form.cleaned_data['agency']:
                queryset = queryset.filter(agency=form.cleaned_data['agency'])

            if form.cleaned_data['added_before']:
                # Need to increment this to deal with time of day issues
                queryset = queryset.filter(date_added__lte=form.cleaned_data['added_before'] + timedelta(days=1))

            if form.cleaned_data['added_after']:
                queryset = queryset.filter(date_added__gte=form.cleaned_data['added_after'])

            # Don't need to do tags here -- we already did that
        self.filterform = form
        return queryset
예제 #4
0
    def filter_queryset(self, queryset):
        form = FilterForm(self.vl.owner.userprofile, self.request.GET)
        if form.is_valid():
            cd = form.cleaned_data
            if form.cleaned_data['agency']:
                queryset = queryset.filter(agency=form.cleaned_data['agency'])

            if form.cleaned_data['added_before']:
                # Need to increment this to deal with time of day issues
                queryset = queryset.filter(
                    date_added__lte=form.cleaned_data['added_before'] +
                    timedelta(days=1))

            if form.cleaned_data['added_after']:
                queryset = queryset.filter(
                    date_added__gte=form.cleaned_data['added_after'])

            # Don't need to do tags here -- we already did that
        self.filterform = form
        return queryset
예제 #5
0
    def filter_queryset(self, queryset):
        queries = self.request.GET.copy()
        if self.request.user.username == '':
            return queryset
        form = FilterForm(self.request.user.userprofile, self.request.GET)
        if form.is_valid():
            cd = form.cleaned_data
            if form.cleaned_data['agency']:
                queryset = queryset.filter(agency=form.cleaned_data['agency'])
            if form.cleaned_data[
                    'status'] and form.cleaned_data['status'] != 'A':
                queryset = queryset.filter(status=form.cleaned_data['status'])

            if form.cleaned_data['added_before']:
                # Need to increment this to deal with time of day issues
                queryset = queryset.filter(
                    date_added__lte=form.cleaned_data['added_before'] +
                    timedelta(days=1))

            if form.cleaned_data['added_after']:
                queryset = queryset.filter(
                    date_added__gte=form.cleaned_data['added_after'])

            if form.cleaned_data['tags']:
                tags = form.cleaned_data['tags']
                for tag in tags:
                    queryset = queryset.filter(tags=tag)

        self.filterform = form

        if 'order_by' in queries:
            if queries['order_by'] == "due_date" or queries['order_by'] == "status" or queries['order_by'] == 'title'\
             or queries['order_by'] == "-due_date" or queries['order_by'] == "-status" or queries['order_by'] == '-title':
                return queryset.order_by(queries['order_by'])

        return queryset