Browse Source

excerpts serializers got shorter

master
Mohsen Taba 2 weeks ago
parent
commit
76407934a4
  1. 14
      apps/hadis/serializers/hadis.py
  2. 4
      apps/hadis/serializers/reference_v2.py

14
apps/hadis/serializers/hadis.py

@ -978,12 +978,24 @@ class HadisShortSerializer(serializers.ModelSerializer):
title = LocalizedField() title = LocalizedField()
title_narrator = LocalizedField() title_narrator = LocalizedField()
bookmark = serializers.SerializerMethodField()
class Meta: class Meta:
model = Hadis model = Hadis
fields = [ fields = [
'id', 'slug', 'title', 'title_narrator', 'text', 'id', 'slug', 'title', 'title_narrator', 'text',
'translation', 'share_link']
'translation', 'share_link', 'bookmark']
def get_bookmark(self, obj):
"""Get bookmark status for this Hadis."""
request = self.context.get('request')
user = request.user if request else None
book_mark = BookmarkStatusSerializer.get_bookmark_info(
obj=obj,
user=user,
service='hadith'
)
return book_mark.get('is_bookmarked', False)

4
apps/hadis/serializers/reference_v2.py

@ -145,7 +145,7 @@ class BookReferenceV2DetailSerializer(serializers.ModelSerializer):
paginated_hadis = paginator.paginate_queryset(hadis_qs, request) paginated_hadis = paginator.paginate_queryset(hadis_qs, request)
if paginated_hadis is not None: if paginated_hadis is not None:
serializer = HadisListSerializer(paginated_hadis, many=True, context=self.context)
serializer = HadisShortSerializer(paginated_hadis, many=True, context=self.context)
return { return {
'count': paginator.page.paginator.count, 'count': paginator.page.paginator.count,
'next': paginator.get_next_link(), 'next': paginator.get_next_link(),
@ -157,7 +157,7 @@ class BookReferenceV2DetailSerializer(serializers.ModelSerializer):
'count': hadis_qs.count(), 'count': hadis_qs.count(),
'next': None, 'next': None,
'previous': None, 'previous': None,
'results': HadisListSerializer(hadis_qs, many=True, context=self.context).data
'results': HadisShortSerializer(hadis_qs, many=True, context=self.context).data
} }
def get_volumes(self, obj): def get_volumes(self, obj):

Loading…
Cancel
Save