|
|
|
@ -554,51 +554,46 @@ class HadisReferenceSerializer(serializers.ModelSerializer): |
|
|
|
book_title = serializers.SerializerMethodField() |
|
|
|
book_authors = serializers.SerializerMethodField() |
|
|
|
book_description = serializers.SerializerMethodField() |
|
|
|
book_english_name = serializers.SerializerMethodField() |
|
|
|
book_language = serializers.SerializerMethodField() |
|
|
|
type_name = serializers.SerializerMethodField() |
|
|
|
subject_area = serializers.SerializerMethodField() |
|
|
|
class Meta: |
|
|
|
model = HadisReference |
|
|
|
fields = [ |
|
|
|
'id', 'book_title', 'book_description', 'book_english_name', |
|
|
|
'book_language', 'type_name', 'subject_area','book_authors' |
|
|
|
'id', 'book_title', 'book_description','book_authors' |
|
|
|
] |
|
|
|
|
|
|
|
def get_type_name(self, obj): |
|
|
|
"""Get localized type name from book_reference.type""" |
|
|
|
if obj.book_reference and obj.book_reference.type: |
|
|
|
field = LocalizedField() |
|
|
|
field._context = self.context |
|
|
|
return field.to_representation(obj.book_reference.type.title) |
|
|
|
return None |
|
|
|
# def get_type_name(self, obj): |
|
|
|
# """Get localized type name from book_reference.type""" |
|
|
|
# if obj.book_reference and obj.book_reference.type: |
|
|
|
# field = LocalizedField() |
|
|
|
# field._context = self.context |
|
|
|
# return field.to_representation(obj.book_reference.type.title) |
|
|
|
# return None |
|
|
|
|
|
|
|
def get_subject_area(self, obj): |
|
|
|
"""Get list of localized subject area names""" |
|
|
|
if obj.book_reference and obj.book_reference.subject_area.exists(): |
|
|
|
subject_areas = [] |
|
|
|
field = LocalizedField() |
|
|
|
field._context = self.context |
|
|
|
# def get_subject_area(self, obj): |
|
|
|
# """Get list of localized subject area names""" |
|
|
|
# if obj.book_reference and obj.book_reference.subject_area.exists(): |
|
|
|
# subject_areas = [] |
|
|
|
# field = LocalizedField() |
|
|
|
# field._context = self.context |
|
|
|
|
|
|
|
for subject in obj.book_reference.subject_area.all(): |
|
|
|
subject_areas.append(field.to_representation(subject.title)) |
|
|
|
# for subject in obj.book_reference.subject_area.all(): |
|
|
|
# subject_areas.append(field.to_representation(subject.title)) |
|
|
|
|
|
|
|
return subject_areas |
|
|
|
return [] |
|
|
|
# return subject_areas |
|
|
|
# return [] |
|
|
|
|
|
|
|
def get_book_english_name(self,obj): |
|
|
|
english_name_data = obj.book_reference.title |
|
|
|
for item in english_name_data: |
|
|
|
if item.get('language_code') == 'en': |
|
|
|
return item.get('text') |
|
|
|
return None |
|
|
|
# def get_book_english_name(self,obj): |
|
|
|
# english_name_data = obj.book_reference.title |
|
|
|
# for item in english_name_data: |
|
|
|
# if item.get('language_code') == 'en': |
|
|
|
# return item.get('text') |
|
|
|
# return None |
|
|
|
|
|
|
|
def get_book_language(self,obj): |
|
|
|
language_data = obj.book_reference.language |
|
|
|
field = LocalizedField() |
|
|
|
field._context = self.context |
|
|
|
# def get_book_language(self,obj): |
|
|
|
# language_data = obj.book_reference.language |
|
|
|
# field = LocalizedField() |
|
|
|
# field._context = self.context |
|
|
|
|
|
|
|
return field.to_representation(language_data) |
|
|
|
# return field.to_representation(language_data) |
|
|
|
|
|
|
|
def get_book_title(self, obj): |
|
|
|
title_data = obj.book_reference.title |
|
|
|
|