# 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, 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
#'tags' : _get_tags_cache_json(),
}, context_instance=RequestContext(request))
-def _edit_question(request, question, template='question_edit.html', summary='', action_class=ReviseAction, allow_rollback=True, url_getter=lambda q: q.get_absolute_url()):
+def _edit_question(request, question, template='question_edit.html', summary='', action_class=ReviseAction,
+ allow_rollback=True, url_getter=lambda q: q.get_absolute_url(), additional_context=None):
if request.method == 'POST':
revision_form = RevisionForm(question, data=request.POST)
revision_form.is_valid()
revision_form = RevisionForm(question)
form = EditQuestionForm(question, request.user, initial={'summary': summary})
- return render_to_response(template, {
+ context = {
'question': question,
'revision_form': revision_form,
'form' : form,
- }, context_instance=RequestContext(request))
+ }
+
+ if not (additional_context is None):
+ context.update(additional_context)
+
+ return render_to_response(template, context, context_instance=RequestContext(request))
def edit_answer(request, id):