Skip to content

Commit

Permalink
Only load approved Word-by-Word translations
Browse files Browse the repository at this point in the history
  • Loading branch information
osamasayed committed Jun 13, 2024
1 parent 9c723b9 commit a98fbab
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 5 deletions.
5 changes: 3 additions & 2 deletions app/finders/qdc/verse_finder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -239,13 +239,14 @@ def load_words(word_translation_lang, mushaf)
language = Language.find_with_id_or_iso_code(word_translation_lang)

@results = @results.where(mushaf_words: { mushaf_id: mushaf.id })
words_with_default_translation = @results.where(word_translations: { language_id: Language.default.id })
approved_word_by_word_translations = ResourceContent.approved.one_word.translations
words_with_default_translation = @results.where(word_translations: { language_id: Language.default.id, resource_content_id: approved_word_by_word_translations })

if language.nil? || language.default?
@results = words_with_default_translation.eager_load(mushaf_words: eager_load_words)
else
@results = @results
.where(word_translations: { language_id: language.id })
.where(word_translations: { language_id: language.id, resource_content_id: approved_word_by_word_translations })
.or(words_with_default_translation)
.eager_load(mushaf_words: eager_load_words)
end
Expand Down
3 changes: 2 additions & 1 deletion app/finders/v4/verse_finder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -185,11 +185,12 @@ def verse_pagination_end(start, total_verses)
def load_words(word_translation_lang)
language = Language.find_with_id_or_iso_code(word_translation_lang)

approved_word_by_word_translations = ResourceContent.approved.one_word.translations
words_with_default_translation = @results.where(word_translations: { language_id: Language.default.id })

if language
@results = @results
.where(word_translations: { language_id: language.id })
.where(word_translations: { language_id: language.id, resource_content_id: approved_word_by_word_translations })
.or(words_with_default_translation)
.eager_load(words: eager_load_words)
else
Expand Down
5 changes: 3 additions & 2 deletions app/finders/verse_finder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,12 @@ def fetch_verses_range
def load_words(word_translation_lang)
language = Language.find_with_id_or_iso_code(word_translation_lang)

words_with_default_translation = results.where(word_translations: { language_id: Language.default.id })
approved_word_by_word_translations = ResourceContent.approved.one_word.translations
words_with_default_translation = results.where(word_translations: { language_id: Language.default.id, resource_content_id: approved_word_by_word_translations })

if language
@results = @results
.where(word_translations: { language_id: language.id })
.where(word_translations: { language_id: language.id, resource_content_id: approved_word_by_word_translations })
.or(words_with_default_translation)
.eager_load(words: eager_load_words)
else
Expand Down
2 changes: 2 additions & 0 deletions app/models/resource_content.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,12 @@ class ResourceContent < ApplicationRecord

scope :translations, -> { where sub_type: [SubType::Translation, SubType::Transliteration] }
scope :media, -> { where sub_type: SubType::Video }
scope :translations, -> { where sub_type: SubType::Translation }
scope :tafsirs, -> { where sub_type: SubType::Tafsir }
scope :chapter_info, -> { where sub_type: SubType::Info }
scope :one_verse, -> { where cardinality_type: CardinalityType::OneVerse }
scope :one_chapter, -> { where cardinality_type: CardinalityType::OneChapter }
scope :one_word, -> { where cardinality_type: CardinalityType::OneWord }
scope :approved, -> { where approved: true }
scope :recitations, -> { where sub_type: SubType::Audio }

Expand Down

0 comments on commit a98fbab

Please sign in to comment.