]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/views/readers.py
Adds options to control the behaviour of urls.
[osqa.git] / forum / views / readers.py
index 4bdb58bc9a438e3d0722a4446f8011c45ec76bba..4a839b0be81ef3f073cbb5a4518cbc8a0608a2c3 100644 (file)
@@ -46,7 +46,7 @@ class AnswerPaginatorContext(pagination.PaginatorContext):
             (_('oldest'), pagination.SimpleSort(_('oldest answers'), ('-marked', 'added_at'), _("oldest answers will be shown first"))),
             (_('newest'), pagination.SimpleSort(_('newest answers'), ('-marked', '-added_at'), _("newest answers will be shown first"))),
             (_('votes'), pagination.SimpleSort(_('popular answers'), ('-marked', '-score', 'added_at'), _("most voted answers will be shown first"))),
             (_('oldest'), pagination.SimpleSort(_('oldest answers'), ('-marked', 'added_at'), _("oldest answers will be shown first"))),
             (_('newest'), pagination.SimpleSort(_('newest answers'), ('-marked', '-added_at'), _("newest answers will be shown first"))),
             (_('votes'), pagination.SimpleSort(_('popular answers'), ('-marked', '-score', 'added_at'), _("most voted answers will be shown first"))),
-        ), default_sort=_('votes'), sticky_sort = True, pagesizes=(5, 10, 20), default_pagesize=default_pagesize, prefix=prefix)
+        ), default_sort=_('votes'), pagesizes=(5, 10, 20), default_pagesize=default_pagesize, prefix=prefix)
 
 class TagPaginatorContext(pagination.PaginatorContext):
     def __init__(self):
 
 class TagPaginatorContext(pagination.PaginatorContext):
     def __init__(self):
@@ -58,19 +58,22 @@ class TagPaginatorContext(pagination.PaginatorContext):
 
 def feed(request):
     return RssQuestionFeed(
 
 def feed(request):
     return RssQuestionFeed(
+                request,
                 Question.objects.filter_state(deleted=False).order_by('-last_activity_at'),
                 settings.APP_TITLE + _(' - ')+ _('latest questions'),
                 Question.objects.filter_state(deleted=False).order_by('-last_activity_at'),
                 settings.APP_TITLE + _(' - ')+ _('latest questions'),
-                settings.APP_DESCRIPTION,
-                request)(request)
+                settings.APP_DESCRIPTION)(request)
 
 
 @decorators.render('index.html')
 def index(request):
 
 
 @decorators.render('index.html')
 def index(request):
+    paginator_context = QuestionListPaginatorContext()
+    paginator_context.base_path = reverse('questions')
     return question_list(request,
                          Question.objects.all(),
                          sort=request.utils.set_sort_method('active'),
                          base_path=reverse('questions'),
     return question_list(request,
                          Question.objects.all(),
                          sort=request.utils.set_sort_method('active'),
                          base_path=reverse('questions'),
-                         feed_url=reverse('latest_questions_feed'))
+                         feed_url=reverse('latest_questions_feed'),
+                         paginator_context=paginator_context)
 
 @decorators.render('questions.html', 'unanswered', _('unanswered'), weight=400)
 def unanswered(request):
 
 @decorators.render('questions.html', 'unanswered', _('unanswered'), weight=400)
 def unanswered(request):
@@ -302,7 +305,7 @@ def question(request, id, slug=None, answer=None):
 
         return answer_redirect(request, answer)
 
 
         return answer_redirect(request, answer)
 
-    if (not slug) or (slug != urlquote(slugify(question.title))):
+    if settings.FORCE_SINGLE_URL and ((not slug) or (slug != slugify(question.title))):
         return HttpResponsePermanentRedirect(question.get_absolute_url())
 
     if request.POST:
         return HttpResponsePermanentRedirect(question.get_absolute_url())
 
     if request.POST: