Skip to content

Commit

Permalink
Merge pull request #48 from xavfernandez/xfernandez/safe_translation_…
Browse files Browse the repository at this point in the history
…getter

Fix safe_translation_getter not fallbacking
  • Loading branch information
vdboor committed Dec 30, 2014
2 parents 67a6a9c + 4759b0e commit 32fd754
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion parler/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,7 @@ def safe_translation_getter(self, field, default=None, language_code=None, any_l
# Extra feature: query a single field from a other translation.
if language_code and language_code != self._current_language:
try:
tr_model = self._get_translated_model(language_code, meta=meta)
tr_model = self._get_translated_model(language_code, meta=meta, use_fallback=True)
return getattr(tr_model, field)
except TranslationDoesNotExist:
pass
Expand Down
12 changes: 12 additions & 0 deletions parler/tests/model_attributes.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,18 @@ def test_fallback_language(self):
x = SimpleModel.objects.get(pk=x.pk)
self.assertEqual(x.tr_title, 'TITLE_FALLBACK')

def test_fallback_language_no_current(self):
"""
Test whether the fallback language will be returned,
even when the current language does not have a translation.
"""
x = SimpleModel()
x.set_current_language(self.conf_fallback)
x.tr_title = "TITLE_FALLBACK"

self.assertEqual(
x.safe_translation_getter('tr_title', language_code=self.other_lang1),
'TITLE_FALLBACK')

def test_any_fallback_model(self):
"""
Expand Down

0 comments on commit 32fd754

Please sign in to comment.