from forum import settings
from django.core.exceptions import ObjectDoesNotExist
from django.utils import simplejson
-from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404
+from django.http import HttpResponse, HttpResponseRedirect, 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
from django.core.urlresolvers import reverse
from django.contrib.auth.decorators import login_required
from forum.utils.decorators import ajax_method, ajax_login_required
-from forum.modules.decorators import decoratable
from decorators import command, CommandException, RefreshPageCommand
+from forum.modules import decorate
from forum import settings
import logging
)
-@command
+@decorate.withfn(command)
def vote_post(request, id, vote_type):
post = get_object_or_404(Node, id=id).leaf
user = request.user
return response
-@command
+@decorate.withfn(command)
def flag_post(request, id):
if not request.POST:
return render_to_response('node/report.html', {'types': settings.FLAG_TYPES})
return {'message': _("Thank you for your report. A moderator will review your submission shortly.")}
-@command
+@decorate.withfn(command)
def like_comment(request, id):
comment = get_object_or_404(Comment, id=id)
user = request.user
}
}
-@command
+@decorate.withfn(command)
def delete_comment(request, id):
comment = get_object_or_404(Comment, id=id)
user = request.user
}
}
-@command
+@decorate.withfn(command)
def mark_favorite(request, id):
question = get_object_or_404(Question, id=id)
}
}
-@decoratable
-@command
+@decorate.withfn(command)
def comment(request, id):
post = get_object_or_404(Node, id=id)
user = request.user
return {
'commands': {
'insert_comment': [
- id, comment.id, comment.comment, user.username, user.get_profile_url(),
+ id, comment.id, comment.comment, user.decorated_name, user.get_profile_url(),
reverse('delete_comment', kwargs={'id': comment.id}),
reverse('node_markdown', kwargs={'id': comment.id})
]
}
}
-@command
+@decorate.withfn(command)
def node_markdown(request, id):
user = request.user
return HttpResponse(node.body, mimetype="text/plain")
-@command
+@decorate.withfn(command)
def accept_answer(request, id):
user = request.user
return {'commands': commands}
-@command
+@decorate.withfn(command)
def delete_post(request, id):
post = get_object_or_404(Node, id=id)
user = request.user
return ret
-@command
+@decorate.withfn(command)
def close(request, id, close):
if close and not request.POST:
return render_to_response('node/report.html', {'types': settings.CLOSE_TYPES})
return RefreshPageCommand()
-@command
+@decorate.withfn(command)
def wikify(request, id):
node = get_object_or_404(Node, id=id)
user = request.user
return RefreshPageCommand()
-@command
+@decorate.withfn(command)
def convert_to_comment(request, id):
user = request.user
answer = get_object_or_404(Answer, id=id)
return RefreshPageCommand()
-@command
+@decorate.withfn(command)
def subscribe(request, id):
question = get_object_or_404(Question, id=id)
def related_questions(request):
if request.POST and request.POST.get('title', None):
+ can_rank, questions = Question.objects.search(request.POST['title'])
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']).filter_state(deleted=False)[0:10]]),
- mimetype="application/json")
+ for q in questions.filter_state(deleted=False)[0:10]]), mimetype="application/json")
else:
raise Http404()