X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/84d5a3bb4249743191431f1a3b42aa37eea641f2..9746b4b78fc11e4f9785cef86333723c8307c003:/forum/views/commands.py
diff --git a/forum/views/commands.py b/forum/views/commands.py
index 6220bc2..e09924b 100644
--- a/forum/views/commands.py
+++ b/forum/views/commands.py
@@ -2,7 +2,7 @@ import datetime
from forum import settings
from django.core.exceptions import ObjectDoesNotExist
from django.utils import simplejson
-from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden
+from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
from django.shortcuts import get_object_or_404, render_to_response
from django.utils.translation import ungettext, ugettext as _
from django.template import RequestContext
@@ -19,31 +19,31 @@ import logging
class NotEnoughRepPointsException(CommandException):
def __init__(self, action):
super(NotEnoughRepPointsException, self).__init__(
- _("""Sorry, but you don't have enough reputation points to %(action)s.
Please check the faq""" % {'action': action, 'faq_url': reverse('faq')})
+ _("""Sorry, but you don't have enough reputation points to %(action)s.
Please check the faq""") % {'action': action, 'faq_url': reverse('faq')}
)
class CannotDoOnOwnException(CommandException):
def __init__(self, action):
super(CannotDoOnOwnException, self).__init__(
- _("""Sorry but you cannot %(action)s your own post.
Please check the faq""" % {'action': action, 'faq_url': reverse('faq')})
+ _("""Sorry but you cannot %(action)s your own post.
Please check the faq""") % {'action': action, 'faq_url': reverse('faq')}
)
class AnonymousNotAllowedException(CommandException):
def __init__(self, action):
super(AnonymousNotAllowedException, self).__init__(
- _("""Sorry but anonymous users cannot %(action)s.
Please login or create an account here.""" % {'action': action, 'signin_url': reverse('auth_signin')})
+ _("""Sorry but anonymous users cannot %(action)s.
Please login or create an account here.""") % {'action': action, 'signin_url': reverse('auth_signin')}
)
class NotEnoughLeftException(CommandException):
def __init__(self, action, limit):
super(NotEnoughLeftException, self).__init__(
- _("""Sorry, but you don't have enough %(action)s left for today..
The limit is %(limit)s per day..
Please check the faq""" % {'action': action, 'limit': limit, 'faq_url': reverse('faq')})
+ _("""Sorry, but you don't have enough %(action)s left for today..
The limit is %(limit)s per day..
Please check the faq""") % {'action': action, 'limit': limit, 'faq_url': reverse('faq')}
)
class CannotDoubleActionException(CommandException):
def __init__(self, action):
super(CannotDoubleActionException, self).__init__(
- _("""Sorry, but you cannot %(action)s twice the same post.
Please check the faq""" % {'action': action, 'faq_url': reverse('faq')})
+ _("""Sorry, but you cannot %(action)s twice the same post.
Please check the faq""") % {'action': action, 'faq_url': reverse('faq')}
)
@@ -410,6 +410,14 @@ def matching_tags(request):
return HttpResponse(tag_output, mimetype="text/plain")
+def related_questions(request):
+ if request.POST and request.POST.get('title', None):
+ return HttpResponse(simplejson.dumps(
+ [dict(title=q.title, url=q.get_absolute_url(), score=q.score, summary=q.summary)
+ for q in Question.objects.search(request.POST['title'])[0:10]]), mimetype="application/json")
+ else:
+ raise Http404()
+