public-health-ch/publichealth/home/util.py

19 lines
618 B
Python
Raw Normal View History

from django.utils import translation
class TranslatedField(object):
2018-05-25 13:17:53 +00:00
def __init__(self, de_field, fr_field, en_field):
self.de_field = de_field
self.fr_field = fr_field
2018-05-16 13:08:59 +00:00
self.en_field = en_field
def __get__(self, instance, owner):
if translation.get_language() == 'fr':
2018-06-22 13:06:59 +00:00
val = getattr(instance, self.fr_field)
2018-05-16 13:08:59 +00:00
elif translation.get_language() == 'en':
2018-06-22 13:06:59 +00:00
val = getattr(instance, self.en_field)
else:
return getattr(instance, self.de_field)
2018-06-22 13:06:59 +00:00
if not val:
return getattr(instance, self.de_field)
return val