|
1 | 1 | import django.utils.timezone as timezone |
2 | 2 | from django.contrib.auth.models import Permission |
3 | 3 | from django.db import models |
| 4 | +from django.templatetags.static import static |
4 | 5 | from django.utils.translation import gettext |
5 | 6 | from drf_spectacular.utils import extend_schema |
6 | 7 | from rest_framework import ( |
|
30 | 31 | DrefFileInputSerializer, |
31 | 32 | DrefFileSerializer, |
32 | 33 | DrefFinalReportSerializer, |
| 34 | + DrefGlobalFilesSerializer, |
33 | 35 | DrefOperationalUpdateSerializer, |
34 | 36 | DrefSerializer, |
35 | 37 | DrefShareUserSerializer, |
@@ -86,6 +88,24 @@ def get_published(self, request, pk=None, version=None): |
86 | 88 | serializer = DrefSerializer(dref, context={"request": request}) |
87 | 89 | return response.Response(serializer.data) |
88 | 90 |
|
| 91 | + @extend_schema(request=None, responses=DrefGlobalFilesSerializer) |
| 92 | + @action( |
| 93 | + detail=False, |
| 94 | + url_path="global-files", |
| 95 | + methods=["get"], |
| 96 | + serializer_class=DrefGlobalFilesSerializer, |
| 97 | + permission_classes=[permissions.IsAuthenticated, DenyGuestUserPermission], |
| 98 | + ) |
| 99 | + def get_global_files(self, request, pk=None, version=None): |
| 100 | + """ |
| 101 | + Dref global files url |
| 102 | + """ |
| 103 | + return response.Response( |
| 104 | + DrefGlobalFilesSerializer( |
| 105 | + {"budget_template_url": request.build_absolute_uri(static("files/dref/budget_template.xlsm"))} |
| 106 | + ).data |
| 107 | + ) |
| 108 | + |
89 | 109 |
|
90 | 110 | class DrefOperationalUpdateViewSet(RevisionMixin, viewsets.ModelViewSet): |
91 | 111 | serializer_class = DrefOperationalUpdateSerializer |
|
0 commit comments