X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/8058fe3f8e019699a3032c1e8e7d02015c7e2612..f73c15a3bd47e9f7fe3a29645f968528fb6415e4:/forum/views/commands.py diff --git a/forum/views/commands.py b/forum/views/commands.py index f7d91ae..175b6d1 100644 --- a/forum/views/commands.py +++ b/forum/views/commands.py @@ -6,6 +6,7 @@ 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.template.loader import render_to_string from forum.models import * from forum.models.node import NodeMetaClass from forum.actions import * @@ -90,13 +91,11 @@ def vote_post(request, id, vote_type): ) old_vote.cancel(ip=request.META['REMOTE_ADDR']) - score_inc += (old_vote.__class__ == VoteDownAction) and 1 or -1 - - if old_vote.__class__ != new_vote_cls: - new_vote_cls(user=user, node=post, ip=request.META['REMOTE_ADDR']).save() - score_inc += (new_vote_cls == VoteUpAction) and 1 or -1 - else: + score_inc = (old_vote.__class__ == VoteDownAction) and 1 or -1 vote_type = "none" + else: + new_vote_cls(user=user, node=post, ip=request.META['REMOTE_ADDR']).save() + score_inc = (new_vote_cls == VoteUpAction) and 1 or -1 response = { 'commands': { @@ -548,8 +547,16 @@ def answer_permanent_link(request, id): # Getting the current object URL -- the Application URL + the object relative URL url = '%s%s' % (settings.APP_BASE_URL, answer.get_absolute_url()) - # Display the template - return render_to_response('node/permanent_link.html', { 'url' : url, }) + if not request.POST: + # Display the template + return render_to_response('node/permanent_link.html', { 'url' : url, }) + + return { + 'commands' : { + 'copy_url' : [request.POST['permanent_link_url'],], + }, + 'message' : _("The permanent URL to the answer has been copied to your clipboard."), + } @decorate.withfn(command) def award_points(request, user_id, answer_id): @@ -577,9 +584,6 @@ def award_points(request, user_id, answer_id): extra = dict(message=request.POST.get('message', ''), awarding_user=request.user.id, value=points) # We take points from the awarding user - BonusRepAction(user=request.user, extra=extra).save(data=dict(value=-points, affected=user)) - - # And give them to the awarded one - BonusRepAction(user=request.user, extra=extra).save(data=dict(value=points, affected=awarded_user)) + AwardPointsAction(user=request.user, node=answer, extra=extra).save(data=dict(value=points, affected=awarded_user)) - return { 'message' : _("You have awarded %s with %d points") % (awarded_user, points) } + return { 'message' : _("You have awarded %(awarded_user)s with %(points)d points") % {'awarded_user' : awarded_user, 'points' : points} }