|
|
@ -4,6 +4,7 @@ from rest_framework.fields import SerializerMethodField |
|
|
from urllib3 import request |
|
|
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 ..models import ( |
|
|
from ..models import ( |
|
|
Hadis, HadisStatus, HadisTag, HadisTransmitter, |
|
|
Hadis, HadisStatus, HadisTag, HadisTransmitter, |
|
|
@ -283,6 +284,8 @@ class TransmitterSyncSerializer(serializers.ModelSerializer): |
|
|
# Original texts group |
|
|
# Original texts group |
|
|
original_texts = serializers.SerializerMethodField() |
|
|
original_texts = serializers.SerializerMethodField() |
|
|
|
|
|
|
|
|
|
|
|
full_name =LocalizedField() |
|
|
|
|
|
|
|
|
class Meta: |
|
|
class Meta: |
|
|
model = Transmitters |
|
|
model = Transmitters |
|
|
fields = [ |
|
|
fields = [ |
|
|
@ -291,14 +294,15 @@ class TransmitterSyncSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
|
def get_biographical(self, obj): |
|
|
def get_biographical(self, obj): |
|
|
"""Get biographical information (flattened)""" |
|
|
"""Get biographical information (flattened)""" |
|
|
|
|
|
request = self.context.get('request') |
|
|
return { |
|
|
return { |
|
|
'full_name': obj.full_name, |
|
|
|
|
|
'kunya': obj.kunya, |
|
|
|
|
|
'known_as': obj.known_as, |
|
|
|
|
|
'nickname': obj.nickname, |
|
|
|
|
|
'origin': obj.origin, |
|
|
|
|
|
'lived_in': obj.lived_in, |
|
|
|
|
|
'died_in': obj.died_in, |
|
|
|
|
|
|
|
|
'full_name': get_localized_text(obj.full_name,request), |
|
|
|
|
|
'kunya': get_localized_text(obj.kunya,request), |
|
|
|
|
|
'known_as':get_localized_text(obj.known_as,request) , |
|
|
|
|
|
'nickname':get_localized_text( obj.nickname,request), |
|
|
|
|
|
'origin': get_localized_text(obj.origin,request), |
|
|
|
|
|
'lived_in':get_localized_text(obj.lived_in,request) , |
|
|
|
|
|
'died_in': get_localized_text(obj.died_in,request), |
|
|
'birth_year_hijri': obj.birth_year_hijri, |
|
|
'birth_year_hijri': obj.birth_year_hijri, |
|
|
'death_year_hijri': obj.death_year_hijri, |
|
|
'death_year_hijri': obj.death_year_hijri, |
|
|
'age_at_death': obj.age_at_death, |
|
|
'age_at_death': obj.age_at_death, |
|
|
@ -307,18 +311,19 @@ class TransmitterSyncSerializer(serializers.ModelSerializer): |
|
|
'madhhab': obj.madhhab, |
|
|
'madhhab': obj.madhhab, |
|
|
'in_sahih_muslim': obj.in_sahih_muslim, |
|
|
'in_sahih_muslim': obj.in_sahih_muslim, |
|
|
'in_sahih_bukhari': obj.in_sahih_bukhari, |
|
|
'in_sahih_bukhari': obj.in_sahih_bukhari, |
|
|
'description': obj.description, |
|
|
|
|
|
|
|
|
'description': get_localized_text(obj.description,request), |
|
|
'thumbnail': obj.thumbnail.url if obj.thumbnail else None, |
|
|
'thumbnail': obj.thumbnail.url if obj.thumbnail else None, |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
def get_scholars_opinions(self, obj): |
|
|
def get_scholars_opinions(self, obj): |
|
|
"""Get all scholarly opinions about this transmitter""" |
|
|
"""Get all scholarly opinions about this transmitter""" |
|
|
|
|
|
request = self.context.get('request') |
|
|
opinions = [] |
|
|
opinions = [] |
|
|
for opinion in obj.opinions.all(): |
|
|
for opinion in obj.opinions.all(): |
|
|
opinions.append({ |
|
|
opinions.append({ |
|
|
'id': opinion.id, |
|
|
'id': opinion.id, |
|
|
'scholar_name': opinion.scholar_name, |
|
|
|
|
|
'opinion_text': opinion.opinion_text, |
|
|
|
|
|
|
|
|
'scholar_name': get_localized_text(opinion.scholar_name,request), |
|
|
|
|
|
'opinion_text': get_localized_text(opinion.opinion_text,request), |
|
|
'status': opinion.status, |
|
|
'status': opinion.status, |
|
|
'created_at': opinion.created_at.isoformat() if opinion.created_at else None, |
|
|
'created_at': opinion.created_at.isoformat() if opinion.created_at else None, |
|
|
'updated_at': opinion.updated_at.isoformat() if opinion.updated_at else None, |
|
|
'updated_at': opinion.updated_at.isoformat() if opinion.updated_at else None, |
|
|
@ -327,13 +332,14 @@ class TransmitterSyncSerializer(serializers.ModelSerializer): |
|
|
|
|
|
|
|
|
def get_original_texts(self, obj): |
|
|
def get_original_texts(self, obj): |
|
|
"""Get original texts of the transmitter""" |
|
|
"""Get original texts of the transmitter""" |
|
|
|
|
|
request = self.context.get('request') |
|
|
texts = [] |
|
|
texts = [] |
|
|
for t in obj.originaltexts.all(): |
|
|
for t in obj.originaltexts.all(): |
|
|
texts.append({ |
|
|
texts.append({ |
|
|
'id': t.id, |
|
|
'id': t.id, |
|
|
'title': t.title, |
|
|
|
|
|
'text': t.text, |
|
|
|
|
|
'translation': t.translation, |
|
|
|
|
|
|
|
|
'title': get_localized_text(t.title,request), |
|
|
|
|
|
'text': get_localized_text(t.text,request), |
|
|
|
|
|
'translation': get_localized_text(t.translation,request), |
|
|
'share_link': t.share_link, |
|
|
'share_link': t.share_link, |
|
|
}) |
|
|
}) |
|
|
return texts |
|
|
return texts |
|
|
|