From ca48841cebaf73a53bc4750244b0f94bbd4eaf7d Mon Sep 17 00:00:00 2001
From: Erwan Rouchet <rouchet@teklia.com>
Date: Thu, 3 May 2018 12:55:23 +0200
Subject: [PATCH] Update SearchResultSerializer

---
 src/documents/serializers.py | 56 +++++++++++-------------------------
 1 file changed, 16 insertions(+), 40 deletions(-)

diff --git a/src/documents/serializers.py b/src/documents/serializers.py
index 193f349952..49a95a2ad5 100644
--- a/src/documents/serializers.py
+++ b/src/documents/serializers.py
@@ -34,28 +34,6 @@ class TranscriptionSerializer(serializers.ModelSerializer):
         )
 
 
-class SearchResultSerializer(serializers.ModelSerializer):
-    """
-    Link between objects & their search indexation
-    """
-    zones = ZoneSerializer(many=True)
-    parents = serializers.SerializerMethodField()
-
-    class Meta:
-        model = Transcription
-        fields = (
-            'id',
-            'text',
-            'line',
-            'score',
-            'zones',
-            'parents',
-        )
-
-    def get_parents(self, obj):
-        return DocumentLightSerializer(Document.objects.get_ascending(obj.id), many=True).data
-
-
 class DocumentLightSerializer(serializers.ModelSerializer):
     """
     Serialises a Document
@@ -90,39 +68,37 @@ class PageLightSerializer(serializers.ModelSerializer):
         )
 
 
-class PageSerializer(serializers.ModelSerializer):
+class DocumentSerializer(serializers.ModelSerializer):
     """
-    Serialises a Page, for search results
+    Fully Serialises a document
     """
-    indexes = SearchResultSerializer(many=True)
-    page_type = EnumField()
-    direction = EnumField()
-    images = ImageSerializer(many=True)
+    type = EnumField()
 
     class Meta:
-        model = Page
+        model = Document
         fields = (
             'id',
-            'page_type',
-            'nb',
-            'direction',
-            'images',
-            'indexes',
+            'type',
+            'name',
         )
 
 
-class DocumentSerializer(serializers.ModelSerializer):
+class SearchResultSerializer(serializers.ModelSerializer):
     """
-    Fully Serialises a document
+    Link between objects & their search indexation
     """
-    type = EnumField()
+    zones = ZoneSerializer(many=True)
+    parents = DocumentLightSerializer(source='parent_docs', many=True)
 
     class Meta:
-        model = Document
+        model = Transcription
         fields = (
             'id',
-            'type',
-            'name',
+            'text',
+            'line',
+            'score',
+            'zones',
+            'parents',
         )
 
 
-- 
GitLab