Files
mayan-edms/mayan/apps/document_indexing/serializers.py
2015-01-19 04:06:40 -04:00

35 lines
1.1 KiB
Python

from __future__ import unicode_literals
from rest_framework import serializers
from .models import Index, IndexInstanceNode, IndexTemplateNode
class IndexInstanceNodeSerializer(serializers.ModelSerializer):
documents = serializers.SerializerMethodField('get_documents_count')
class Meta:
fields = ('id', 'parent', 'value', 'level', 'documents', 'children')
model = IndexInstanceNode
def get_documents_count(self, obj):
return obj.documents.count()
IndexInstanceNodeSerializer.base_fields['children'] = IndexInstanceNodeSerializer(many=True)
class IndexTemplateNodeSerializer(serializers.ModelSerializer):
class Meta:
fields = ('id', 'parent', 'index', 'expression', 'enabled', 'link_documents', 'level')
model = IndexTemplateNode
class IndexSerializer(serializers.ModelSerializer):
node_templates = IndexTemplateNodeSerializer(read_only=True, many=True)
instance_root = IndexInstanceNodeSerializer(read_only=True)
class Meta:
fields = ('id', 'name', 'title', 'enabled', 'document_types', 'node_templates', 'instance_root')
model = Index