From 81a85e6de8d419e55baabc23a39f0feaa4402764 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Sat, 13 Dec 2014 05:03:15 -0400 Subject: [PATCH] Document type, folder and tags API serializer now return a numeric count of the documents contained instead of a link to the document list API endpoint --- mayan/apps/documents/serializers.py | 5 ++++- mayan/apps/folders/serializers.py | 5 ++++- mayan/apps/tags/serializers.py | 9 ++++++--- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/mayan/apps/documents/serializers.py b/mayan/apps/documents/serializers.py index 0669e29a76..35db2c7bba 100644 --- a/mayan/apps/documents/serializers.py +++ b/mayan/apps/documents/serializers.py @@ -25,12 +25,15 @@ class DocumentImageSerializer(serializers.Serializer): class DocumentTypeSerializer(serializers.ModelSerializer): - documents = serializers.HyperlinkedIdentityField(view_name='documenttype-document-list') + documents = serializers.SerializerMethodField('get_documents_count') class Meta: model = DocumentType fields = ('id', 'name', 'documents') + def get_documents_count(self, obj): + return obj.documents.count() + class DocumentSerializer(serializers.ModelSerializer): versions = DocumentVersionSerializer(many=True, read_only=True) diff --git a/mayan/apps/folders/serializers.py b/mayan/apps/folders/serializers.py index 415058f597..6f884d89fd 100644 --- a/mayan/apps/folders/serializers.py +++ b/mayan/apps/folders/serializers.py @@ -6,9 +6,12 @@ from .models import Folder class FolderSerializer(serializers.ModelSerializer): - documents = serializers.HyperlinkedIdentityField(view_name='folder-document-list') + documents = serializers.SerializerMethodField('get_documents_count') class Meta: fields = ('id', 'title', 'user', 'datetime_created', 'documents') model = Folder read_only_fields = ('user',) + + def get_documents_count(self, obj): + return obj.documents.count() diff --git a/mayan/apps/tags/serializers.py b/mayan/apps/tags/serializers.py index 1184a3a5e0..b0130b9287 100644 --- a/mayan/apps/tags/serializers.py +++ b/mayan/apps/tags/serializers.py @@ -5,9 +5,12 @@ from rest_framework import serializers from .models import Tag -class TagSerializer(serializers.HyperlinkedModelSerializer): - documents = serializers.HyperlinkedIdentityField(view_name='tag-document-list') +class TagSerializer(serializers.ModelSerializer): + documents = serializers.SerializerMethodField('get_documents_count') class Meta: - fields = ('id', 'url', 'label', 'color', 'documents') + fields = ('id', 'label', 'color', 'documents') model = Tag + + def get_documents_count(self, obj): + return obj.documents.count()