|
|
@ -5,6 +5,7 @@ from urllib3 import request |
|
|
from .category import LocalizedField |
|
|
from .category import LocalizedField |
|
|
from .category import get_localized_text |
|
|
from .category import get_localized_text |
|
|
from .category import get_localized_text |
|
|
from .category import get_localized_text |
|
|
|
|
|
from apps.bookmark.serializers.bookmark import BookmarkStatusSerializer |
|
|
|
|
|
|
|
|
from ..models import ( |
|
|
from ..models import ( |
|
|
Hadis, HadisStatus, HadisTag, HadisTransmitter, |
|
|
Hadis, HadisStatus, HadisTag, HadisTransmitter, |
|
|
@ -156,6 +157,7 @@ class HadisListSerializer(serializers.ModelSerializer): |
|
|
"""Serializer for Hadis list""" |
|
|
"""Serializer for Hadis list""" |
|
|
category = serializers.SerializerMethodField() |
|
|
category = serializers.SerializerMethodField() |
|
|
status = serializers.SerializerMethodField() |
|
|
status = serializers.SerializerMethodField() |
|
|
|
|
|
bookmark = serializers.SerializerMethodField() |
|
|
translation = LocalizedField() |
|
|
translation = LocalizedField() |
|
|
title = LocalizedField() |
|
|
title = LocalizedField() |
|
|
title_narrator = LocalizedField() |
|
|
title_narrator = LocalizedField() |
|
|
@ -163,7 +165,7 @@ class HadisListSerializer(serializers.ModelSerializer): |
|
|
class Meta: |
|
|
class Meta: |
|
|
model = Hadis |
|
|
model = Hadis |
|
|
fields = ['id', 'number', 'slug', 'title', 'title_narrator', 'text', |
|
|
fields = ['id', 'number', 'slug', 'title', 'title_narrator', 'text', |
|
|
'translation', 'category', 'status', 'share_link'] |
|
|
|
|
|
|
|
|
'translation', 'category', 'status', 'bookmark', 'share_link'] |
|
|
|
|
|
|
|
|
def get_category(self, obj): |
|
|
def get_category(self, obj): |
|
|
"""Get category id and title""" |
|
|
"""Get category id and title""" |
|
|
@ -203,6 +205,17 @@ class HadisListSerializer(serializers.ModelSerializer): |
|
|
'color': obj.hadis_status.color |
|
|
'color': obj.hadis_status.color |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
def get_bookmark(self, obj): |
|
|
|
|
|
"""Get bookmark information for this playlist.""" |
|
|
|
|
|
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) |
|
|
|
|
|
|
|
|
class HadisStatusSerializer(serializers.ModelSerializer): |
|
|
class HadisStatusSerializer(serializers.ModelSerializer): |
|
|
"""Serializer for HadisStatus""" |
|
|
"""Serializer for HadisStatus""" |
|
|
title = LocalizedField() |
|
|
title = LocalizedField() |
|
|
@ -573,6 +586,7 @@ class HadisBasicSerializer(serializers.ModelSerializer): |
|
|
"""Basic serializer for Hadis with minimal information""" |
|
|
"""Basic serializer for Hadis with minimal information""" |
|
|
translation = LocalizedField() |
|
|
translation = LocalizedField() |
|
|
category = serializers.SerializerMethodField() |
|
|
category = serializers.SerializerMethodField() |
|
|
|
|
|
bookmark= serializers.SerializerMethodField() |
|
|
|
|
|
|
|
|
title = LocalizedField() |
|
|
title = LocalizedField() |
|
|
title_narrator = LocalizedField() |
|
|
title_narrator = LocalizedField() |
|
|
@ -581,7 +595,7 @@ class HadisBasicSerializer(serializers.ModelSerializer): |
|
|
class Meta: |
|
|
class Meta: |
|
|
model = Hadis |
|
|
model = Hadis |
|
|
fields = [ |
|
|
fields = [ |
|
|
'id', 'slug', 'title', 'title_narrator', 'text', |
|
|
|
|
|
|
|
|
'id', 'slug', 'title','bookmark', 'title_narrator', 'text', |
|
|
'translation', 'share_link','explanation','category' |
|
|
'translation', 'share_link','explanation','category' |
|
|
] |
|
|
] |
|
|
|
|
|
|
|
|
@ -599,6 +613,17 @@ class HadisBasicSerializer(serializers.ModelSerializer): |
|
|
'sect_type':obj.category.sect.sect_type |
|
|
'sect_type':obj.category.sect.sect_type |
|
|
} |
|
|
} |
|
|
return None |
|
|
return None |
|
|
|
|
|
def get_bookmark(self, obj): |
|
|
|
|
|
"""Get bookmark information for this playlist.""" |
|
|
|
|
|
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) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class HadisShortSerializer(serializers.ModelSerializer): |
|
|
class HadisShortSerializer(serializers.ModelSerializer): |
|
|
"""Basic serializer for Hadis with minimal information""" |
|
|
"""Basic serializer for Hadis with minimal information""" |
|
|
|