]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/utils/pagination.py
OSQA-497, adding a new settings that allows to specify whether the permissions to...
[osqa.git] / forum / utils / pagination.py
index 2b71dbd4fefa3fc433e4e230f2ad38a4486c09ed..d605d5f0788b4a43f67537a0414c45d8d8e8f3c5 100644 (file)
@@ -5,6 +5,7 @@ from django.core.paginator import Paginator, EmptyPage
 from django.utils.translation import ugettext as _
 from django.utils.html import escape
 from django.http import Http404
+from django.utils.encoding import smart_unicode
 from django.utils.http import urlquote
 from django.utils.safestring import mark_safe
 from django.utils.html import strip_tags, escape
@@ -34,7 +35,10 @@ class SimpleSort(SortBase):
         return isinstance(self.order_by, (list, tuple)) and self.order_by or [self.order_by]
 
     def apply(self, objects):
-        return objects.order_by(*self._get_order_by())
+        if self.order_by:
+            return objects.order_by(*self._get_order_by())
+
+        return objects
 
 class PaginatorContext(object):
     visible_page_range = 5
@@ -295,7 +299,7 @@ def _paginated(request, objects, context):
             sorts = [(n, s.label, url_builder(n), strip_tags(s.description)) for n, s in context.sort_methods.items()]
 
             for name, label, url, descr in sorts:
-                paginator.__dict__['%s_sort_link' % name] = url
+                paginator.__dict__['%s_sort_link' % name] = smart_unicode(url)
 
             return sort_tabs_template.render(template.Context({
                 'current': sort,