diff --git a/apps/hadis/docs.py b/apps/hadis/docs.py index 0135e91..1568d8d 100644 --- a/apps/hadis/docs.py +++ b/apps/hadis/docs.py @@ -182,9 +182,7 @@ hadis_sync_swagger = swagger_auto_schema( "title": "The Reward of Intentions", "title_narrator": "Imam Sadiq (as)", "text": "إنما الأعمال بالنیات...", - "translations": { - "en": "Actions are but by intentions..." - }, + "translation": "hadis translation", "detail": {"address": 'null', "hadis_status": { @@ -920,18 +918,14 @@ transmitter_sync_swagger = swagger_auto_schema( "id": 1, "title": "text title", "text": "", - "translation": { - "en": "translate" - }, + "translation":"text translation", "share_link": "http/exmaokns.com" }, { "id": 2, "title": "text2 title", "text": "", - "translation": { - "en": "translate" - }, + "translation":"text translation", "share_link": "http/exmaokns.com" } ] diff --git a/apps/hadis/serializers/hadis.py b/apps/hadis/serializers/hadis.py index f74c4a4..14171f4 100644 --- a/apps/hadis/serializers/hadis.py +++ b/apps/hadis/serializers/hadis.py @@ -4,6 +4,7 @@ from rest_framework.fields import SerializerMethodField from urllib3 import request from .category import LocalizedField from .category import get_localized_text +from .category import get_localized_text from ..models import ( Hadis, HadisStatus, HadisTag, HadisTransmitter, @@ -283,6 +284,8 @@ class TransmitterSyncSerializer(serializers.ModelSerializer): # Original texts group original_texts = serializers.SerializerMethodField() + full_name =LocalizedField() + class Meta: model = Transmitters fields = [ @@ -291,14 +294,15 @@ class TransmitterSyncSerializer(serializers.ModelSerializer): def get_biographical(self, obj): """Get biographical information (flattened)""" + request = self.context.get('request') 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, 'death_year_hijri': obj.death_year_hijri, 'age_at_death': obj.age_at_death, @@ -307,18 +311,19 @@ class TransmitterSyncSerializer(serializers.ModelSerializer): 'madhhab': obj.madhhab, 'in_sahih_muslim': obj.in_sahih_muslim, '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, } def get_scholars_opinions(self, obj): """Get all scholarly opinions about this transmitter""" + request = self.context.get('request') opinions = [] for opinion in obj.opinions.all(): opinions.append({ '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, 'created_at': opinion.created_at.isoformat() if opinion.created_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): """Get original texts of the transmitter""" + request = self.context.get('request') texts = [] for t in obj.originaltexts.all(): texts.append({ '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, }) return texts