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() +