diff --git a/mayan/apps/acls/api_views.py b/mayan/apps/acls/api_views.py index 31b7d12539..dc0cb55f44 100644 --- a/mayan/apps/acls/api_views.py +++ b/mayan/apps/acls/api_views.py @@ -68,6 +68,12 @@ class APIObjectACLListView(generics.ListCreateAPIView): return context + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIObjectACLListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return AccessControlListSerializer @@ -168,6 +174,12 @@ class APIObjectACLPermissionListView(generics.ListCreateAPIView): def get_queryset(self): return self.get_acl().permissions.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIObjectACLPermissionListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return AccessControlListPermissionSerializer diff --git a/mayan/apps/cabinets/api_views.py b/mayan/apps/cabinets/api_views.py index d3f3512297..20bed55554 100644 --- a/mayan/apps/cabinets/api_views.py +++ b/mayan/apps/cabinets/api_views.py @@ -51,6 +51,12 @@ class APICabinetListView(generics.ListCreateAPIView): permission_classes = (MayanPermission,) queryset = Cabinet.objects.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APICabinetListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return CabinetSerializer @@ -93,6 +99,12 @@ class APICabinetView(generics.RetrieveUpdateDestroyAPIView): """ return super(APICabinetView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APICabinetView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return CabinetSerializer @@ -123,6 +135,12 @@ class APICabinetDocumentListView(generics.ListCreateAPIView): 'POST': (permission_cabinet_add_document,) } + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APICabinetDocumentListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return CabinetDocumentSerializer diff --git a/mayan/apps/checkouts/api_views.py b/mayan/apps/checkouts/api_views.py index f9fc5152c6..39df304a12 100644 --- a/mayan/apps/checkouts/api_views.py +++ b/mayan/apps/checkouts/api_views.py @@ -16,6 +16,12 @@ from .serializers import ( class APICheckedoutDocumentListView(generics.ListCreateAPIView): + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APICheckedoutDocumentListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'POST': return NewDocumentCheckoutSerializer diff --git a/mayan/apps/document_comments/api_views.py b/mayan/apps/document_comments/api_views.py index 5b6b026f11..f11084599b 100644 --- a/mayan/apps/document_comments/api_views.py +++ b/mayan/apps/document_comments/api_views.py @@ -45,6 +45,12 @@ class APICommentListView(generics.ListCreateAPIView): def get_queryset(self): return self.get_document().comments.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APICommentListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return CommentSerializer diff --git a/mayan/apps/document_states/api_views.py b/mayan/apps/document_states/api_views.py index 29193fe211..4c7f51ee00 100644 --- a/mayan/apps/document_states/api_views.py +++ b/mayan/apps/document_states/api_views.py @@ -73,6 +73,12 @@ class APIWorkflowDocumentTypeList(generics.ListCreateAPIView): return self.get_workflow().document_types.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIWorkflowDocumentTypeList, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return WorkflowDocumentTypeSerializer @@ -210,6 +216,12 @@ class APIWorkflowListView(generics.ListCreateAPIView): """ return super(APIWorkflowListView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIWorkflowListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return WorkflowSerializer @@ -247,6 +259,12 @@ class APIWorkflowView(generics.RetrieveUpdateDestroyAPIView): return super(APIWorkflowView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIWorkflowView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return WorkflowSerializer @@ -397,6 +415,12 @@ class APIWorkflowTransitionListView(generics.ListCreateAPIView): def get_queryset(self): return self.get_workflow().transitions.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIWorkflowTransitionListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return WorkflowTransitionSerializer @@ -459,6 +483,12 @@ class APIWorkflowTransitionView(generics.RetrieveUpdateDestroyAPIView): def get_queryset(self): return self.get_workflow().transitions.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIWorkflowTransitionView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return WorkflowTransitionSerializer @@ -598,6 +628,12 @@ class APIWorkflowInstanceLogEntryListView(generics.ListCreateAPIView): return document + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIWorkflowInstanceLogEntryListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return WorkflowInstanceLogEntrySerializer diff --git a/mayan/apps/documents/api_views.py b/mayan/apps/documents/api_views.py index a010aba7a6..1839ac95b5 100644 --- a/mayan/apps/documents/api_views.py +++ b/mayan/apps/documents/api_views.py @@ -155,6 +155,12 @@ class APIDocumentListView(generics.ListCreateAPIView): """ return super(APIDocumentListView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentSerializer @@ -290,6 +296,12 @@ class APIDocumentView(generics.RetrieveUpdateDestroyAPIView): return super(APIDocumentView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentView, self).get_serializer(*args, **kwargs) + def get_serializer_context(self): return { 'format': self.format_kwarg, @@ -454,6 +466,12 @@ class APIDocumentTypeListView(generics.ListCreateAPIView): return super(APIDocumentTypeListView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentTypeListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentTypeSerializer @@ -496,6 +514,12 @@ class APIDocumentTypeView(generics.RetrieveUpdateDestroyAPIView): return super(APIDocumentTypeView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentTypeView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentTypeSerializer @@ -570,6 +594,8 @@ class APIDocumentVersionPageListView(generics.ListAPIView): return self.get_document_version().pages.all() def get_serializer_context(self): + # FIXME: Redundant as this is already passed to the serializer + # by default return { 'format': self.format_kwarg, 'request': self.request, @@ -596,6 +622,12 @@ class APIDocumentVersionsListView(generics.ListCreateAPIView): headers = self.get_success_headers(serializer.data) return Response(status=status.HTTP_202_ACCEPTED, headers=headers) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentVersionsListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentVersionSerializer @@ -656,6 +688,12 @@ class APIDocumentVersionView(generics.RetrieveUpdateDestroyAPIView): def get_queryset(self): return self.get_document().versions.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentVersionView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentVersionSerializer @@ -663,6 +701,8 @@ class APIDocumentVersionView(generics.RetrieveUpdateDestroyAPIView): return WritableDocumentVersionSerializer def get_serializer_context(self): + # FIXME: Redundant as this is already passed to the serializer + # by default. Add test to confirm. return { 'format': self.format_kwarg, 'request': self.request, diff --git a/mayan/apps/linking/api_views.py b/mayan/apps/linking/api_views.py index 0c3390fe41..d27d114c3e 100644 --- a/mayan/apps/linking/api_views.py +++ b/mayan/apps/linking/api_views.py @@ -290,6 +290,12 @@ class APISmartLinkListView(generics.ListCreateAPIView): return super(APISmartLinkListView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APISmartLinkListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return SmartLinkSerializer @@ -328,6 +334,12 @@ class APISmartLinkView(generics.RetrieveUpdateDestroyAPIView): return super(APISmartLinkView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APISmartLinkView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return SmartLinkSerializer diff --git a/mayan/apps/metadata/api_views.py b/mayan/apps/metadata/api_views.py index 11cf8f1d2b..0df957d0ed 100644 --- a/mayan/apps/metadata/api_views.py +++ b/mayan/apps/metadata/api_views.py @@ -55,6 +55,12 @@ class APIDocumentMetadataListView(generics.ListCreateAPIView): def get_queryset(self): return self.get_document().metadata.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentMetadataListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentMetadataSerializer @@ -124,6 +130,12 @@ class APIDocumentMetadataView(generics.RetrieveUpdateDestroyAPIView): def get_queryset(self): return self.get_document().metadata.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentMetadataView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentMetadataSerializer @@ -241,6 +253,12 @@ class APIDocumentTypeMetadataTypeListView(generics.ListCreateAPIView): def get_queryset(self): return self.get_document_type().metadata.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentTypeMetadataTypeListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentTypeMetadataTypeSerializer @@ -313,6 +331,12 @@ class APIDocumentTypeMetadataTypeView(generics.RetrieveUpdateDestroyAPIView): def get_queryset(self): return self.get_document_type().metadata.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentTypeMetadataTypeView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentTypeMetadataTypeSerializer diff --git a/mayan/apps/permissions/api_views.py b/mayan/apps/permissions/api_views.py index c6777bc76c..b32e8bd147 100644 --- a/mayan/apps/permissions/api_views.py +++ b/mayan/apps/permissions/api_views.py @@ -42,6 +42,12 @@ class APIRoleListView(generics.ListCreateAPIView): return super(APIRoleListView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIRoleListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return RoleSerializer @@ -80,6 +86,12 @@ class APIRoleView(generics.RetrieveUpdateDestroyAPIView): return super(APIRoleView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIRoleView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return RoleSerializer diff --git a/mayan/apps/tags/api_views.py b/mayan/apps/tags/api_views.py index 7a8819c9ce..a83c01d566 100644 --- a/mayan/apps/tags/api_views.py +++ b/mayan/apps/tags/api_views.py @@ -31,6 +31,12 @@ class APITagListView(generics.ListCreateAPIView): permission_classes = (MayanPermission,) queryset = Tag.objects.all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APITagListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return TagSerializer @@ -76,6 +82,12 @@ class APITagView(generics.RetrieveUpdateDestroyAPIView): return super(APITagView, self).get(*args, **kwargs) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APITagView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return TagSerializer @@ -143,6 +155,12 @@ class APIDocumentTagListView(generics.ListCreateAPIView): return document.attached_tags().all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentTagListView, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return DocumentTagSerializer @@ -212,6 +230,12 @@ class APIDocumentTagView(generics.RetrieveDestroyAPIView): def get_queryset(self): return self.get_document().attached_tags().all() + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIDocumentTagView, self).get_serializer(*args, **kwargs) + def get_serializer_context(self): """ Extra context provided to the serializer class. diff --git a/mayan/apps/user_management/api_views.py b/mayan/apps/user_management/api_views.py index 706c6bed62..a5b1be262f 100644 --- a/mayan/apps/user_management/api_views.py +++ b/mayan/apps/user_management/api_views.py @@ -191,6 +191,12 @@ class APIUserGroupList(generics.ListCreateAPIView): } permission_classes = (MayanPermission,) + def get_serializer(self, *args, **kwargs): + if not self.request: + return None + + return super(APIUserGroupList, self).get_serializer(*args, **kwargs) + def get_serializer_class(self): if self.request.method == 'GET': return GroupSerializer