Add document type change API endpoint
Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
This commit is contained in:
@@ -30,9 +30,10 @@ from .permissions import (
|
||||
from .serializers import (
|
||||
DeletedDocumentSerializer, DocumentPageSerializer, DocumentSerializer,
|
||||
DocumentTypeSerializer, DocumentVersionSerializer,
|
||||
NewDocumentSerializer, NewDocumentVersionSerializer,
|
||||
RecentDocumentSerializer, WritableDocumentSerializer,
|
||||
WritableDocumentTypeSerializer, WritableDocumentVersionSerializer
|
||||
NewDocumentDocumentTypeSerializer, NewDocumentSerializer,
|
||||
NewDocumentVersionSerializer, RecentDocumentSerializer,
|
||||
WritableDocumentSerializer, WritableDocumentTypeSerializer,
|
||||
WritableDocumentVersionSerializer
|
||||
)
|
||||
from .settings import settings_document_page_image_cache_time
|
||||
from .tasks import task_generate_document_page_image
|
||||
@@ -83,6 +84,26 @@ class APIDeletedDocumentRestoreView(generics.GenericAPIView):
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class APIDocumentDocumentTypeChangeView(generics.GenericAPIView):
|
||||
"""
|
||||
post: Change the type of the selected document.
|
||||
"""
|
||||
mayan_object_permissions = {
|
||||
'POST': (permission_document_properties_edit,),
|
||||
}
|
||||
queryset = Document.objects.all()
|
||||
serializer_class = NewDocumentDocumentTypeSerializer
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
serializer = self.get_serializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
document_type = DocumentType.objects.get(pk=request.data['new_document_type'])
|
||||
self.get_object().set_document_type(
|
||||
document_type=document_type, _user=self.request.user
|
||||
)
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class APIDocumentDownloadView(DownloadMixin, generics.RetrieveAPIView):
|
||||
"""
|
||||
get: Download the latest version of a document.
|
||||
|
||||
Reference in New Issue
Block a user