Beispiel #1
0
 def available_translations(self):
     if is_primary_language(self.language):
         return self.translations.all()
     elif self.translation_of:
         return [self.translation_of] + list(self.translation_of.translations.exclude(language=self.language))
     else:
         return []
Beispiel #2
0
 def get_original_translation(self, *args, **kwargs):
     if is_primary_language(self.language):
         return self
     if self.translation_of:
         return self.translation_of
     logger.debug(
         "Page pk=%d (%s) has no primary language translation (%s)",
         self.pk, self.language, django_settings.LANGUAGES[0][0])
     return self
Beispiel #3
0
 def available_translations(self):
     if not self.id:  # New, unsaved pages have no translations
         return []
     if is_primary_language(self.language):
         return self.translations.all()
     elif self.translation_of:
         return [self.translation_of] + list(self.translation_of.translations.exclude(language=self.language))
     else:
         return []
Beispiel #4
0
 def get_original_translation(self, *args, **kwargs):
     if is_primary_language(self.language):
         return self
     if self.translation_of:
         return self.translation_of
     logger.debug(
         "Page pk=%d (%s) has no primary language translation (%s)",
         self.pk, self.language, django_settings.LANGUAGES[0][0])
     return self
Beispiel #5
0
 def available_translations(self):
     if not self.id:  # New, unsaved pages have no translations
         return []
     if is_primary_language(self.language):
         return self.translations.all()
     elif self.translation_of:
         return [self.translation_of] + list(
             self.translation_of.translations.exclude(
                 language=self.language))
     else:
         return []
Beispiel #6
0
 def available_translations(self):
     if not self.id: # New, unsaved pages have no translations
         return []
     if is_primary_language(self.language):
         return self.translations.all()
     elif self.translation_of:
         # reuse prefetched queryset, do not filter it
         res = [t for t in list(self.translation_of.translations.all())
                if t.language != self.language]
         res.insert(0, self.translation_of)
         return res
     else:
         return []
Beispiel #7
0
 def available_translations(self):
     if not self.id:  # New, unsaved pages have no translations
         return []
     if is_primary_language(self.language):
         return self.translations.all()
     elif self.translation_of:
         # reuse prefetched queryset, do not filter it
         res = [
             t for t in list(self.translation_of.translations.all())
             if t.language != self.language
         ]
         res.insert(0, self.translation_of)
         return res
     else:
         return []
Beispiel #8
0
        def available_translations(self):
            if not self.id:  # New, unsaved pages have no translations
                return []

            filter_active = lambda queryset: queryset
            if hasattr(cls.objects, 'apply_active_filters'):
                filter_active = cls.objects.apply_active_filters

            if is_primary_language(self.language):
                return filter_active(self.translations.all())
            elif self.translation_of:
                # reuse prefetched queryset, do not filter it
                res = [
                    t for t
                    in filter_active(self.translation_of.translations.all())
                    if t.language != self.language]
                res.insert(0, self.translation_of)
                return res
            else:
                return []
Beispiel #9
0
        def available_translations(self):
            if not self.id:  # New, unsaved pages have no translations
                return []

            filter_active = lambda queryset: queryset
            if hasattr(cls.objects, 'apply_active_filters'):
                filter_active = cls.objects.apply_active_filters

            if is_primary_language(self.language):
                return filter_active(self.translations.all())
            elif self.translation_of:
                # reuse prefetched queryset, do not filter it
                res = [
                    t for t in filter_active(
                        self.translation_of.translations.all())
                    if t.language != self.language
                ]
                res.insert(0, self.translation_of)
                return res
            else:
                return []
Beispiel #10
0
 def get_original_translation(self, *args, **kwargs):
     if is_primary_language(self.language):
         return self
     return self.translation_of
Beispiel #11
0
 def get_original_translation(self, *args, **kwargs):
     if is_primary_language(self.language):
         return self
     if self.translation_of:
         return self.translation_of
     raise self.DoesNotExist
Beispiel #12
0
 def get_original_translation(self, *args, **kwargs):
     if is_primary_language(self.language):
         return self
     return self.translation_of
Beispiel #13
0
 def get_original_translation(self, *args, **kwargs):
     if is_primary_language(self.language):
         return self
     if self.translation_of:
         return self.translation_of
     raise self.DoesNotExist
Beispiel #14
0
 def original_translation(self):
     if is_primary_language(self.language):
         return self
     return self.translation_of