Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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)
         }
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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)
     }
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 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())
Ejemplo n.º 8
0
 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())
Ejemplo n.º 9
0
    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
Ejemplo n.º 10
0
    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