def retag_question(request, id): """retag question view """ question = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_question(question) if request.method == 'POST': form = forms.RetagQuestionForm(question, request.POST) if form.is_valid(): if form.has_changed(): text = question.get_text_content(tags=form.cleaned_data['tags']) if akismet_check_spam(text, request): message = _('Spam was detected on your post, sorry if it was a mistake') raise exceptions.PermissionDenied(message) request.user.retag_question(question=question, tags=form.cleaned_data['tags']) if request.is_ajax(): response_data = { 'success': True, 'new_tags': question.thread.tagnames } if request.user.message_set.count() > 0: #todo: here we will possibly junk messages message = request.user.get_and_delete_messages()[-1] response_data['message'] = message data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: return HttpResponseRedirect(question.get_absolute_url()) elif request.is_ajax(): response_data = { 'message': format_errors(form.errors['tags']), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: form = forms.RetagQuestionForm(question) data = { 'active_tab': 'questions', 'question': question, 'form' : form, } return render(request, 'question_retag.html', data) except exceptions.PermissionDenied as e: if request.is_ajax(): response_data = { 'message': unicode(e), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: request.user.message_set.create(message = unicode(e)) return HttpResponseRedirect(question.get_absolute_url())
def retag_question(request, id): """retag question view """ question = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_question(question) if request.method == 'POST': form = forms.RetagQuestionForm(question, request.POST) if form.is_valid(): if form.has_changed(): if akismet_check_spam(form.cleaned_data['tags'], request): raise exceptions.PermissionDenied(_( 'Spam was detected on your post, sorry ' 'for if this is a mistake' )) request.user.retag_question(question=question, tags=form.cleaned_data['tags']) if request.is_ajax(): response_data = { 'success': True, 'new_tags': question.thread.tagnames } if request.user.message_set.count() > 0: #todo: here we will possibly junk messages message = request.user.get_and_delete_messages()[-1] response_data['message'] = message data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: return HttpResponseRedirect(question.get_absolute_url()) elif request.is_ajax(): response_data = { 'message': format_errors(form.errors['tags']), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: form = forms.RetagQuestionForm(question) data = { 'active_tab': 'questions', 'question': question, 'form' : form, } return render(request, 'question_retag.html', data) except exceptions.PermissionDenied as e: if request.is_ajax(): response_data = { 'message': unicode(e), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: request.user.message_set.create(message = unicode(e)) return HttpResponseRedirect(question.get_absolute_url())
def retag_question(request, id): """retag question view """ question = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_question(question) if request.method == 'POST': form = forms.RetagQuestionForm(question, request.POST) if form.is_valid(): if form.has_changed(): request.user.retag_question(question=question, tags=form.cleaned_data['tags']) if request.is_ajax(): response_data = { 'success': True, 'new_tags': question.thread.tagnames } #todo: here we will possibly junk messages message = request.user.get_and_delete_messages() if message: response_data['message'] = unicode(message[-1]) data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: return HttpResponseRedirect(question.get_absolute_url()) elif request.is_ajax(): response_data = { 'message': format_errors(form.errors['tags']), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: form = forms.RetagQuestionForm(question) data = { 'active_tab': 'questions', 'question': question, 'form' : form, } return render(request, 'question_retag.html', data) except exceptions.PermissionDenied, e: if request.is_ajax(): response_data = { 'message': unicode(e), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: request.user.message_set.create(message = unicode(e)) return HttpResponseRedirect(question.get_absolute_url())
def retag_exercise(request, id): """retag exercise view """ exercise = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_exercise(exercise) if request.method == 'POST': form = forms.RetagExerciseForm(exercise, request.POST) if form.is_valid(): if form.has_changed(): request.user.retag_exercise(exercise=exercise, tags=form.cleaned_data['tags']) if request.is_ajax(): response_data = { 'success': True, 'new_tags': exercise.thread.tagnames } if request.user.message_set.count() > 0: #todo: here we will possibly junk messages message = request.user.get_and_delete_messages()[-1] response_data['message'] = message data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: return HttpResponseRedirect(exercise.get_absolute_url()) elif request.is_ajax(): response_data = { 'message': format_errors(form.errors['tags']), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: form = forms.RetagExerciseForm(exercise) data = { 'active_tab': 'exercises', 'exercise': exercise, 'form' : form, } return render_into_skin('exercise_retag.html', data, request) except exceptions.PermissionDenied, e: if request.is_ajax(): response_data = { 'message': unicode(e), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: request.user.message_set.create(message = unicode(e)) return HttpResponseRedirect(exercise.get_absolute_url())
def retag_question(request, id): """retag question view """ question = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_question(question) if request.method == 'POST': form = forms.RetagQuestionForm(question, request.POST) if form.is_valid(): if form.has_changed(): request.user.retag_question(question=question, tags=form.cleaned_data['tags']) if request.is_ajax(): response_data = { 'success': True, 'new_tags': question.thread.tagnames } if request.user.message_set.count() > 0: # TODO: here we will possibly junk messages message = request.user.get_and_delete_messages()[-1] response_data['message'] = message return JsonResponse(response_data) else: return redirect(question) elif request.is_ajax(): return JsonResponse({ 'message': format_errors(form.errors['tags']), 'success': False }) else: form = forms.RetagQuestionForm(question) data = { 'active_tab': 'questions', 'question': question, 'form': form, } return render(request, 'question_retag.jinja', data) except exceptions.PermissionDenied as e: traceback.print_exc() if request.is_ajax(): return JsonResponse({ 'message': force_text(e), 'success': False, }) else: # request.user.message_set.create(message=force_text(e)) django_messages.info(request, force_text(e)) return redirect(question)
def retag_exercise(request, id): """retag exercise view """ exercise = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_exercise(exercise) if request.method == 'POST': form = forms.RetagExerciseForm(exercise, request.POST) if form.is_valid(): if form.has_changed(): request.user.retag_exercise(exercise=exercise, tags=form.cleaned_data['tags']) if request.is_ajax(): response_data = { 'success': True, 'new_tags': exercise.thread.tagnames } if request.user.message_set.count() > 0: #todo: here we will possibly junk messages message = request.user.get_and_delete_messages()[-1] response_data['message'] = message data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: return HttpResponseRedirect(exercise.get_absolute_url()) elif request.is_ajax(): response_data = { 'message': format_errors(form.errors['tags']), 'success': False } data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: form = forms.RetagExerciseForm(exercise) data = { 'active_tab': 'exercises', 'exercise': exercise, 'form': form, } return render_into_skin('exercise_retag.html', data, request) except exceptions.PermissionDenied, e: if request.is_ajax(): response_data = {'message': unicode(e), 'success': False} data = simplejson.dumps(response_data) return HttpResponse(data, mimetype="application/json") else: request.user.message_set.create(message=unicode(e)) return HttpResponseRedirect(exercise.get_absolute_url())
def retag_question(request, id): """retag question view """ question = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_question(question) if request.method == 'POST': form = forms.RetagQuestionForm(question, request.POST) if form.is_valid(): if form.has_changed(): request.user.retag_question(question=question, tags=form.cleaned_data['tags']) if request.is_ajax(): response_data = { 'success': True, 'new_tags': question.thread.tagnames } if request.user.message_set.count() > 0: # TODO: here we will possibly junk messages message = request.user.get_and_delete_messages()[-1] response_data['message'] = message return JsonResponse(response_data) else: return redirect(question) elif request.is_ajax(): return JsonResponse({ 'message': format_errors(form.errors['tags']), 'success': False }) else: form = forms.RetagQuestionForm(question) data = { 'active_tab': 'questions', 'question': question, 'form': form, } return render(request, 'question_retag.jinja', data) except exceptions.PermissionDenied as e: traceback.print_exc() if request.is_ajax(): return JsonResponse({ 'message': force_text(e), 'success': False, }) else: # request.user.message_set.create(message=force_text(e)) django_messages.info(request, force_text(e)) return redirect(question)
def retag_question(request, id): """retag question view """ question = get_object_or_404(models.Post, id=id) try: request.user.assert_can_retag_question(question) if request.method == "POST": form = forms.RetagQuestionForm(question, request.POST) if form.is_valid(): if form.has_changed(): request.user.retag_question(question=question, tags=form.cleaned_data["tags"]) if request.is_ajax(): response_data = {"success": True, "new_tags": question.thread.tagnames} if request.user.message_set.count() > 0: # todo: here we will possibly junk messages message = request.user.get_and_delete_messages()[-1] response_data["message"] = message data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: return HttpResponseRedirect(question.get_absolute_url()) elif request.is_ajax(): response_data = {"message": format_errors(form.errors["tags"]), "success": False} data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: form = forms.RetagQuestionForm(question) data = {"active_tab": "questions", "question": question, "form": form} return render(request, "question_retag.html", data) except exceptions.PermissionDenied, e: if request.is_ajax(): response_data = {"message": unicode(e), "success": False} data = simplejson.dumps(response_data) return HttpResponse(data, content_type="application/json") else: request.user.message_set.create(message=unicode(e)) return HttpResponseRedirect(question.get_absolute_url())