Skip to content
Snippets Groups Projects
views.py 1.14 KiB
Newer Older
  • Learn to ignore specific revisions
  • from rest_framework import generics, mixins, viewsets
    from rest_framework import status
    from rest_framework.response import Response
    from rest_framework.decorators import detail_route
    
    from funkwhale_api.music.views import SearchMixin
    
    
    Eliot Berriot's avatar
    Eliot Berriot committed
    from . import filters
    
    from . import models
    from . import serializers
    
    
    class ImportRequestViewSet(
            SearchMixin,
            mixins.CreateModelMixin,
            mixins.RetrieveModelMixin,
            mixins.ListModelMixin,
            viewsets.GenericViewSet):
    
        serializer_class = serializers.ImportRequestSerializer
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        queryset = (
            models.ImportRequest.objects.all()
                  .select_related()
                  .order_by('-creation_date'))
    
        search_fields = ['artist_name', 'album_name', 'comment']
    
    Eliot Berriot's avatar
    Eliot Berriot committed
        filter_class = filters.ImportRequestFilter
        ordering_fields = ('id', 'artist_name', 'creation_date', 'status')
    
    
        def perform_create(self, serializer):
            return serializer.save(user=self.request.user)
    
        def get_serializer_context(self):
            context = super().get_serializer_context()
            if self.request.user.is_authenticated:
                context['user'] = self.request.user
            return context