SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit e2816fb0 authored by Jean-Sébastien Caux's avatar Jean-Sébastien Caux
Browse files

Add basic SubsidyListAPIView (with csv option)

parent a85759d2
No related branches found
No related tags found
No related merge requests found
......@@ -29,6 +29,7 @@ urlpatterns += [
views.OmniAuthUserInfoView.as_view(),
name='omniauth_userinfo'
),
path('finances/', include('finances.api.urls')),
path('journals/', include('journals.api.urls')),
path('organizations/', include('organizations.api.urls')),
......
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from rest_framework import serializers
from organizations.api.serializers import OrganizationSerializer
from ..models import Subsidy
class SubsidySerializer(serializers.ModelSerializer):
organization = serializers.CharField()#OrganizationSerializer()
subsidy_type = serializers.CharField(source='get_subsidy_type_display', read_only=True)
class Meta:
model = Subsidy
fields = '__all__'
__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"
from django.urls import path
from finances.api import views as api_views
urlpatterns = [
path ( # /api/finances/subsidies
'subsidies',
api_views.SubsidyListAPIView.as_view(),
name='subsidies'
),
]
__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
......@@ -25,6 +25,7 @@ django-oauth-toolkit==1.3.2 # 2020-09-03
django-silk==2.0.0
django-webpack-loader==0.5
django-maintenancemode-2==1.1.11
djangorestframework-csv # 2020-10-13
plotly==4.6.0 # 2020-05-05
......
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