From dda7627beacc39966ba19a510e5d5f2dd435d0e7 Mon Sep 17 00:00:00 2001
From: "J.-S. Caux" <J.S.Caux@uva.nl>
Date: Wed, 8 Sep 2021 08:52:55 +0200
Subject: [PATCH] Add public-facing API for Subsidies

---
 scipost_django/api/urls.py              | 6 +++++-
 scipost_django/finances/api/viewsets.py | 7 ++++++-
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/scipost_django/api/urls.py b/scipost_django/api/urls.py
index fbc71bd23..b37662f77 100644
--- a/scipost_django/api/urls.py
+++ b/scipost_django/api/urls.py
@@ -23,7 +23,10 @@ from organizations.api.viewsets import (
 )
 
 # finances
-from finances.api.viewsets import SubsidyFinAdminAPIViewSet
+from finances.api.viewsets import (
+    SubsidyFinAdminAPIViewSet,
+    SubsidyPublicAPIViewSet
+)
 
 
 # Next two: old style, to be deprecated:
@@ -53,6 +56,7 @@ router.register('nap', OrganizationNAPViewSet)
 
 # finances
 router.register('finadmin/subsidies', SubsidyFinAdminAPIViewSet)
+router.register('subsidies', SubsidyPublicAPIViewSet)
 
 # Next two: old style, to be deprecated:
 router.register(r'news', NewsItemViewSet)
diff --git a/scipost_django/finances/api/viewsets.py b/scipost_django/finances/api/viewsets.py
index ec8017be7..2488eee78 100644
--- a/scipost_django/finances/api/viewsets.py
+++ b/scipost_django/finances/api/viewsets.py
@@ -2,7 +2,7 @@ __copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)"
 __license__ = "AGPL v3"
 
 
-from rest_framework.permissions import BasePermission
+from rest_framework.permissions import AllowAny, BasePermission
 from rest_framework.settings import api_settings
 from rest_framework_csv import renderers as r
 
@@ -40,3 +40,8 @@ class SubsidyFinAdminAPIViewSet(
         'organization__name__icontains',
         'organization__acronym__icontains'
     ]
+
+
+class SubsidyPublicAPIViewSet(SubsidyFinAdminAPIViewSet):
+    queryset = Subsidy.objects.filter(amount_publicly_shown=True)
+    permission_classes = [AllowAny,]
-- 
GitLab