Don't try to return a serializer if there is no request object. Used when the API view is being introspected.

Signed-off-by: Michael Price <loneviking72@gmail.com>
This commit is contained in:
Michael Price
2018-03-09 03:34:32 -04:00
committed by Roberto Rosario
parent f8cb63b11a
commit afd4748426
11 changed files with 196 additions and 0 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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,

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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.

View File

@@ -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