Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/status board #708

Open
wants to merge 16 commits into
base: develop
Choose a base branch
from
Prev Previous commit
Next Next commit
Cherry pick
  • Loading branch information
cardene committed Aug 8, 2017
commit b1200f16a99fe315225d911551b46460059d62ba
25 changes: 8 additions & 17 deletions api/views/harvestlogs.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,23 @@
from rest_framework import viewsets
from rest_framework import filters
from django_filters.filters import MultipleChoiceFilter
from api.views import ShareObjectViewSet
from share.util import IDObfuscator

from rest_framework import viewsets, views
# from rest_framework import filters
from django_filters.rest_framework import DjangoFilterBackend
from api.serializers import HarvestLogSerializer
from share.models import HarvestLog
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

import ordering from most broadly available to most specific:

  • built-ins
  • 3rd-party imports
  • 2nd-party imports
  • 1st-party imports

from api.views import ShareObjectViewSet


class SourceConfigFilterBackend(filters.BaseFilterBackend):
"""
Filter that only allows users to see their own objects.
"""
def filter_queryset(self, request, queryset, view):
class SourceConfigFilterBackend(MultipleChoiceFilter):
def filter_queryset(self, request, queryset, view, conjoined=True):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove conjoined

if 'source_config_id' in request.GET:
decoded = IDObfuscator.decode_id(request.GET['source_config_id'])
return queryset.filter(source_config_id=decoded)
queryset = queryset.filter(source_config_id=decoded)
if 'status' in request.GET:
return queryset.filter(status=request.GET['status'])

else:
return queryset
queryset = queryset.filter(status__in=request.GET.getlist('status'))
return queryset

class HarvestLogViewSet(ShareObjectViewSet):
queryset= HarvestLog.objects.all()
serializer_class = HarvestLogSerializer
queryset = HarvestLog.objects.all()
filter_backends = (SourceConfigFilterBackend, )
filter_fields = ['source_config__id', 'status',]
filter_fields = ('source_config_id', 'status',)