def get_queryset(self, obj): if not is_multilingual() or self.any_language : qs = Entry.published.order_by('-pub_date') else: kw = get_translation_filter_language(Entry, self.language_code) qs = Entry.published.filter(**kw).order_by('-pub_date').distinct() return qs
def description(self, obj): if self.any_language or not is_multilingual(): return _(u"%(site)s blog entries") % {'site': self.site.name} return _(u"%(site)s blog entries in %(lang)s") % { 'site': self.site.name, 'lang': get_lang_name(self.language_code) }
def get_queryset(self, obj): if not is_multilingual() or self.any_language: qs = Entry.published.order_by('-pub_date') else: kw = get_translation_filter_language(Entry, self.language_code) qs = Entry.published.filter(**kw).order_by('-pub_date').distinct() return qs
def get_object(self, request, **kwargs): self.language_code = get_language_from_request(request) self.site = get_current_site(request) self.any_language = kwargs.get('any_language', None) self.language_namespace = '' if is_multilingual(): self.language_namespace = '%s:' % self.language_code return None
def get_object(self): try: obj = super(EntryDateDetailView, self).get_object() except Http404, e: # No entry has been found for a given language, we fallback to search for an entry in any language # Could find multiple entries, in this way we cannot decide which one is the right one, so we let # exception be propagated FIXME later if is_multilingual(): try: queryset = self.get_unfiltered_queryset() obj = super(EntryDateDetailView, self).get_object(queryset=queryset) except Entry.MultipleObjectsReturned, s: raise e # We know there is only one title for this entry, so we can simply use get() raise Redirect(obj.entrytitle_set.get().get_absolute_url())
def get_object(self): try: obj = super(LanguageFallbackEntryDateDetailView, self).get_object() except Http404, e: # No entry has been found for a given language, we fallback to # search for an entry in any language. if is_multilingual(): try: queryset = self.get_unfiltered_queryset() obj = super(LanguageFallbackEntryDateDetailView, self).get_object(queryset=queryset) except (TypeError, Entry.MultipleObjectsReturned): # Could find multiple entries, in this way we cannot decide # which one is the right one, so we let exception be # propagated. raise e # Returning here without Redirect! This is the part that # differs from EntryDateDetailView. return obj else: raise e