Merge remote-tracking branch 'origin/master' into merge

This commit is contained in:
Roberto Rosario
2017-02-11 00:35:21 -04:00
2 changed files with 13 additions and 6 deletions

View File

@@ -266,7 +266,7 @@ class APIDocumentTypeMetadataTypeOptionalListView(generics.ListCreateAPIView):
document_type
)
serializer = self.get_serializer(data=self.request.POST)
serializer = self.get_serializer(data=self.request.data)
if serializer.is_valid():
metadata_type = get_object_or_404(

View File

@@ -1,8 +1,10 @@
from __future__ import unicode_literals
from django.db import IntegrityError
from django.utils.translation import ugettext_lazy as _
from rest_framework import serializers
from rest_framework.exceptions import ValidationError
from .models import DocumentMetadata, MetadataType, DocumentTypeMetadataType
@@ -26,7 +28,7 @@ class DocumentMetadataSerializer(serializers.ModelSerializer):
class DocumentTypeMetadataTypeSerializer(serializers.ModelSerializer):
class Meta:
fields = ('metadata_type', )
fields = ('metadata_type',)
model = DocumentTypeMetadataType
@@ -52,10 +54,15 @@ class DocumentNewMetadataSerializer(serializers.Serializer):
metadata_type = MetadataType.objects.get(
pk=validated_data['metadata_type_pk']
)
instance = self.document.metadata.create(
metadata_type=metadata_type, value=validated_data['value']
)
return instance
try:
instance = self.document.metadata.create(
metadata_type=metadata_type, value=validated_data['value']
)
return instance
except IntegrityError:
detail = 'Metadata type with pk {} is already defined for Document with pk {}'.format(metadata_type.pk,
self.document.pk)
raise ValidationError(detail)
class DocumentTypeNewMetadataTypeSerializer(serializers.Serializer):