Add proper document creation API endpoint
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
from .literals import LANGUAGE_CHOICES
|
||||
from .models import Document, DocumentVersion, DocumentPage, DocumentType
|
||||
|
||||
|
||||
@@ -25,6 +28,7 @@ class DocumentImageSerializer(serializers.Serializer):
|
||||
|
||||
class DocumentSerializer(serializers.HyperlinkedModelSerializer):
|
||||
versions = DocumentVersionSerializer(many=True, read_only=True)
|
||||
# TODO: Deprecate, move this as an entry point of DocumentVersion's pages
|
||||
image = serializers.HyperlinkedIdentityField(view_name='document-image')
|
||||
new_version = serializers.HyperlinkedIdentityField(view_name='document-new-version')
|
||||
|
||||
@@ -33,9 +37,20 @@ class DocumentSerializer(serializers.HyperlinkedModelSerializer):
|
||||
model = Document
|
||||
|
||||
|
||||
class DocumentTypeSerializer(serializers.HyperlinkedModelSerializer):
|
||||
class DocumentTypeSerializer(serializers.ModelSerializer):
|
||||
documents = serializers.HyperlinkedIdentityField(view_name='documenttype-document-list')
|
||||
|
||||
class Meta:
|
||||
model = DocumentType
|
||||
fields = ('id', 'url', 'name', 'documents')
|
||||
fields = ('id', 'name', 'documents')
|
||||
|
||||
|
||||
class NewDocumentSerializer(serializers.Serializer):
|
||||
description = serializers.CharField(required=False)
|
||||
document_type = DocumentTypeSerializer()
|
||||
document_type = serializers.ChoiceField(choices=[(document_type.pk, document_type) for document_type in DocumentType.objects.all()])
|
||||
expand = serializers.BooleanField(default=False)
|
||||
file = serializers.FileField()
|
||||
label = serializers.CharField()
|
||||
language = serializers.ChoiceField(choices=LANGUAGE_CHOICES, blank_display_value=None, required=False)
|
||||
user = serializers.ChoiceField(required=False, choices=[(user.pk, user) for user in User.objects.all()])
|
||||
|
||||
Reference in New Issue
Block a user