# 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 django.contrib import messages
+
+from forum import settings as django_settings
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
except Exception, e:
result = xml_template % ('', _('Error uploading file. Please contact the site administrator. Thank you. %s' % e), '')
- return HttpResponse(result, mimetype="application/xml")
+ return HttpResponse(result, content_type="application/xml")
def ask(request):
form = None
}
if request.user.is_authenticated():
- request.user.message_set.create(message=_("Your question is pending until you %s.") % html.hyperlink(
- reverse('send_validation_email'), _("validate your email")
+ messages.info(request, _("Your question is pending until you %s.") % html.hyperlink(
+ django_settings.APP_URL + reverse('send_validation_email', prefix='/'), _("validate your email")
))
return HttpResponseRedirect(reverse('index'))
else:
#'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):
}
if request.user.is_authenticated():
- request.user.message_set.create(message=_("Your answer is pending until you %s.") % html.hyperlink(
- reverse('send_validation_email'), _("validate your email")
+ messages.info(request, _("Your answer is pending until you %s.") % html.hyperlink(
+ django_settings.APP_URL + reverse('send_validation_email', prefix='/'), _("validate your email")
))
return HttpResponseRedirect(question.get_absolute_url())
else: