SciPost Code Repository

Skip to content
Snippets Groups Projects
views.py 822 B
Newer Older
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from rest_framework.generics import ListAPIView, RetrieveAPIView
from rest_framework.permissions import BasePermission
from rest_framework.settings import api_settings
from rest_framework_csv import renderers as r

from ..models import Subsidy
from .serializers import SubsidySerializer


class CanManageSubsidies(BasePermission):
    def has_permission(self, request, view):
        return request.user.has_perm('scipost:can_manage_subsidies')


class SubsidyListAPIView(ListAPIView):
    pagination_class = None
    permission_classes = [CanManageSubsidies]
    queryset = Subsidy.objects.all()
    renderer_classes = tuple(api_settings.DEFAULT_RENDERER_CLASSES) + (r.CSVRenderer, )
    serializer_class = SubsidySerializer