From efde174b1a95e7d11e1d3ff8791965f8129db8c9 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Fri, 15 Feb 2019 04:16:30 -0400 Subject: [PATCH] Add MayanAPIGenericViewSet This viewset allow adding generic action API endpoints. Signed-off-by: Roberto Rosario --- mayan/apps/rest_api/viewsets.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/mayan/apps/rest_api/viewsets.py b/mayan/apps/rest_api/viewsets.py index 3369f1350d..0e0c4205b7 100644 --- a/mayan/apps/rest_api/viewsets.py +++ b/mayan/apps/rest_api/viewsets.py @@ -1,11 +1,23 @@ from __future__ import absolute_import, unicode_literals from rest_framework import viewsets +from rest_framework.settings import api_settings from .filters import MayanViewSetObjectPermissionsFilter from .permissions import MayanViewSetPermission +class MayanAPIGenericViewSet(viewsets.GenericViewSet): + filter_backends = (MayanViewSetObjectPermissionsFilter,) + permission_classes = (MayanViewSetPermission,) + + def get_success_headers(self, data): + try: + return {'Location': str(data[api_settings.URL_FIELD_NAME])} + except (TypeError, KeyError): + return {} + + class MayanAPIModelViewSet(viewsets.ModelViewSet): filter_backends = (MayanViewSetObjectPermissionsFilter,) permission_classes = (MayanViewSetPermission,)