X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/44a7a70655e9baca5545d7e5debb7965523a32a2..9694fb0873b055992c5d2d00ff12f946b2f26c08:/forum/views/writers.py?ds=sidebyside diff --git a/forum/views/writers.py b/forum/views/writers.py index 5064757..c669f90 100644 --- a/forum/views/writers.py +++ b/forum/views/writers.py @@ -1,26 +1,26 @@ # encoding:utf-8 import os.path -import time, datetime, random -import logging + +import datetime + +from django.core.urlresolvers import reverse from django.core.files.storage import FileSystemStorage +from django.views.decorators.csrf import csrf_exempt from django.shortcuts import render_to_response, get_object_or_404 -from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.template import RequestContext +from django.http import HttpResponseRedirect, HttpResponse, Http404 from django.utils.html import * -from django.utils import simplejson from django.utils.translation import ugettext as _ -from django.core.urlresolvers import reverse -from django.core.exceptions import PermissionDenied -from forum.actions import AskAction, AnswerAction, ReviseAction, RollbackAction, RetagAction, AnswerToQuestionAction +from forum.actions import AskAction, AnswerAction, ReviseAction, RollbackAction, RetagAction, AnswerToQuestionAction, CommentToQuestionAction from forum.forms import * from forum.models import * -from forum.forms import get_next_url from forum.utils import html from forum.http_responses import HttpResponseUnauthorized from vars import PENDING_SUBMISSION_SESSION_ATTR +@csrf_exempt def upload(request):#ajax upload file to a question or answer class FileTypeNotAllow(Exception): pass @@ -114,13 +114,20 @@ def ask(request): def convert_to_question(request, id): user = request.user - answer = get_object_or_404(Answer, id=id) - if not user.can_convert_to_question(answer): + node_type = request.GET.get('node_type', 'answer') + if node_type == 'comment': + node = get_object_or_404(Comment, id=id) + action_class = CommentToQuestionAction + else: + node = get_object_or_404(Answer, id=id) + action_class = AnswerToQuestionAction + + if not user.can_convert_to_question(node): return HttpResponseUnauthorized(request) - return _edit_question(request, answer, template='node/convert_to_question.html', summary=_("Converted to question"), - action_class=AnswerToQuestionAction, allow_rollback=False, url_getter=lambda a: Question.objects.get(id=a.id).get_absolute_url()) + return _edit_question(request, node, template='node/convert_to_question.html', summary=_("Converted to question"), + action_class =action_class, allow_rollback=False, url_getter=lambda a: Question.objects.get(id=a.id).get_absolute_url()) def edit_question(request, id): question = get_object_or_404(Question, id=id)