Skip to content
Snippets Groups Projects
Unverified Commit 911d5966 authored by Fredrik Jonsson's avatar Fredrik Jonsson Committed by GitHub
Browse files

Merge pull request #1282 from OpenTechFund/feature/973-api-submission-meta-data

New filters for Submissions list endpoint and fix active filter
parents 9f852601 6f6debad
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,9 @@ from django.core.exceptions import PermissionDenied as DjangoPermissionDenied ...@@ -2,6 +2,9 @@ from django.core.exceptions import PermissionDenied as DjangoPermissionDenied
from django.db import transaction from django.db import transaction
from django.db.models import Q, Prefetch from django.db.models import Q, Prefetch
from django.utils import timezone from django.utils import timezone
from wagtail.core.models import Page
from rest_framework import generics, mixins, permissions from rest_framework import generics, mixins, permissions
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.exceptions import (NotFound, PermissionDenied, from rest_framework.exceptions import (NotFound, PermissionDenied,
...@@ -13,6 +16,7 @@ from opentech.apply.activity.models import Activity, COMMENT ...@@ -13,6 +16,7 @@ from opentech.apply.activity.models import Activity, COMMENT
from opentech.apply.activity.messaging import messenger, MESSAGES from opentech.apply.activity.messaging import messenger, MESSAGES
from opentech.apply.determinations.views import DeterminationCreateOrUpdateView from opentech.apply.determinations.views import DeterminationCreateOrUpdateView
from opentech.apply.review.models import Review from opentech.apply.review.models import Review
from opentech.apply.funds.models import FundType, LabType
from .models import ApplicationSubmission, RoundsAndLabs from .models import ApplicationSubmission, RoundsAndLabs
from .serializers import ( from .serializers import (
...@@ -40,13 +44,18 @@ class RoundLabFilter(filters.ModelChoiceFilter): ...@@ -40,13 +44,18 @@ class RoundLabFilter(filters.ModelChoiceFilter):
class SubmissionsFilter(filters.FilterSet): class SubmissionsFilter(filters.FilterSet):
round = RoundLabFilter(queryset=RoundsAndLabs.objects.all()) round = RoundLabFilter(queryset=RoundsAndLabs.objects.all())
status = filters.MultipleChoiceFilter(choices=PHASES) status = filters.MultipleChoiceFilter(choices=PHASES)
active = filters.BooleanFilter(method='filter_active') active = filters.BooleanFilter(method='filter_active', label='Active')
submit_date = filters.DateFromToRangeFilter(name='submit_time', label='Submit date')
fund = filters.ModelMultipleChoiceFilter(
name='page', label='fund',
queryset=Page.objects.type(FundType) | Page.objects.type(LabType)
)
class Meta: class Meta:
model = ApplicationSubmission model = ApplicationSubmission
fields = ('status', 'round', 'active') fields = ('status', 'round', 'active', 'submit_date', 'fund', )
def filter_active(self, value): def filter_active(self, qs, name, value):
if value is None: if value is None:
return qs return qs
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment