2 Commits

  1. 4
      apps/hadis/serializers/category.py
  2. 6
      apps/hadis/serializers/hadis.py

4
apps/hadis/serializers/category.py

@ -8,14 +8,14 @@ from django.utils.translation import get_language
def _get_localized_item_value(item): def _get_localized_item_value(item):
""" """
Prefer `title`, but fall back to `text` or `name` for older/mis-shaped localized entries.
Prefer `title`, but fall back to `text`, `name`, or `description` for localized entries.
""" """
if not item: if not item:
return None return None
if isinstance(item, str): if isinstance(item, str):
return item return item
if isinstance(item, dict): if isinstance(item, dict):
return item.get("title") or item.get("text") or item.get("name")
return item.get("title") or item.get("text") or item.get("name") or item.get("description")
return str(item) return str(item)
def get_localized_text(json_list, request=None, fallback_lang="en", language_code=None): def get_localized_text(json_list, request=None, fallback_lang="en", language_code=None):

6
apps/hadis/serializers/hadis.py

@ -1318,6 +1318,7 @@ class HadisShortSerializer(serializers.ModelSerializer):
class HadisDetailSerializer(serializers.ModelSerializer): class HadisDetailSerializer(serializers.ModelSerializer):
"""Detailed serializer for Hadis with core information (transmitters and corrections moved to separate endpoints)""" """Detailed serializer for Hadis with core information (transmitters and corrections moved to separate endpoints)"""
hadis_status = HadisStatusSerializer(read_only=True) hadis_status = HadisStatusSerializer(read_only=True)
status_text = LocalizedField(source='hadis_status_text')
tags = HadisTagSerializer(many=True, read_only=True) tags = HadisTagSerializer(many=True, read_only=True)
references = HadisReferenceSerializer( references = HadisReferenceSerializer(
many=True, many=True,
@ -1326,13 +1327,12 @@ class HadisDetailSerializer(serializers.ModelSerializer):
reference_images = SerializerMethodField() reference_images = SerializerMethodField()
address = LocalizedField() address = LocalizedField()
category_slug = serializers.CharField(source='category.slug', read_only=True) category_slug = serializers.CharField(source='category.slug', read_only=True)
# address_details = serializers.SerializerMethodField()
class Meta: class Meta:
model = Hadis model = Hadis
fields = [ fields = [
'id', 'number', 'slug', 'category_id', 'category_slug', 'hadis_status','links','share_link',
'tags','references','reference_images','address'
'id', 'number', 'slug', 'category_id', 'category_slug', 'hadis_status', 'status_text', 'links', 'share_link',
'tags', 'references', 'reference_images', 'address'
] ]
# def get_address_details(self, obj): # def get_address_details(self, obj):

Loading…
Cancel
Save