def real_dispatch(self, request, *args, **kwargs): mode_context = self.find_mode(request, *args, **kwargs) self.allow_mode(request.user, *mode_context) mode, forum, thread, post = mode_context if not request.is_ajax(): response = render(request, 'misago/errorpages/wrong_way.html') response.status_code = 405 return response forum.labels = Label.objects.get_forum_labels(forum) formset = EditorFormset(request=request, mode=mode, user=request.user, forum=forum, thread=thread, post=post) if request.method == 'POST': if 'submit' in request.POST: if formset.is_valid(): try: formset.save() if mode == START: message = _("New thread was posted.") if mode == REPLY: message = _("Your reply was posted.") if mode == EDIT: message = _("Message was edited.") messages.success(request, message) return JsonResponse({ 'post_url': goto.post(request.user, thread, post) }) except PostingInterrupt as e: return JsonResponse({'interrupt': e.message}) else: return JsonResponse({'errors': formset.errors}) if 'preview' in request.POST: formset.update() return JsonResponse({'preview': formset.post.parsed}) return self.render( request, { 'mode': mode, 'formset': formset, 'forms': formset.get_forms_list(), 'main_forms': formset.get_main_forms(), 'supporting_forms': formset.get_supporting_forms(), 'forum': forum, 'path': get_forum_path(forum), 'thread': thread, 'post': post, 'api_url': request.path })
def real_dispatch(self, request, *args, **kwargs): mode_context = self.find_mode(request, *args, **kwargs) self.allow_mode(request.user, *mode_context) mode, forum, thread, post = mode_context if not request.is_ajax(): response = render(request, 'misago/errorpages/wrong_way.html') response.status_code = 405 return response forum.labels = Label.objects.get_forum_labels(forum) formset = EditorFormset(request=request, mode=mode, user=request.user, forum=forum, thread=thread, post=post) if request.method == 'POST': if 'submit' in request.POST: if formset.is_valid(): try: formset.save() messages.success(request, _("New thread was posted.")) return JsonResponse({ 'thread_url': thread.get_absolute_url() }) except PostingInterrupt as e: return JsonResponse({'interrupt': e.message}) else: return JsonResponse({'errors': formset.errors}) if 'preview' in request.POST: formset.update() return JsonResponse({'preview': formset.post.parsed}) return self.render(request, { 'mode': mode, 'formset': formset, 'forms': formset.get_forms_list(), 'main_forms': formset.get_main_forms(), 'supporting_forms': formset.get_supporting_forms(), 'forum': forum, 'path': get_forum_path(forum), 'thread': thread, 'post': post, 'api_url': request.path })
def real_dispatch(self, request, *args, **kwargs): mode_context = self.find_mode(request, *args, **kwargs) self.allow_mode(request.user, *mode_context) mode, forum, thread, post = mode_context forum.labels = Label.objects.get_forum_labels(forum) formset = EditorFormset(request=request, mode=mode, user=request.user, forum=forum, thread=thread, post=post) if request.method == 'POST': if 'submit' in request.POST: if formset.is_valid(): try: formset.save() return self.handle_submit(request, formset) except PostingInterrupt as e: return JsonResponse({'interrupt': e.message}) else: return JsonResponse({'errors': formset.errors}) if 'preview' in request.POST: formset.update() return JsonResponse({'preview': formset.post.parsed}) return self.render( request, { 'mode': mode, 'formset': formset, 'forms': formset.get_forms_list(), 'main_forms': formset.get_main_forms(), 'supporting_forms': formset.get_supporting_forms(), 'forum': forum, 'path': get_forum_path(forum), 'thread': thread, 'post': post, 'api_url': request.path })
def real_dispatch(self, request, *args, **kwargs): mode_context = self.find_mode(request, *args, **kwargs) self.allow_mode(request.user, *mode_context) mode, forum, thread, post = mode_context forum.labels = Label.objects.get_forum_labels(forum) formset = EditorFormset(request=request, mode=mode, user=request.user, forum=forum, thread=thread, post=post) if request.method == 'POST': if 'submit' in request.POST: if formset.is_valid(): try: formset.save() return self.handle_submit(request, formset) except PostingInterrupt as e: return JsonResponse({'interrupt': e.message}) else: return JsonResponse({'errors': formset.errors}) if 'preview' in request.POST: formset.update() return JsonResponse({'preview': formset.post.parsed}) return self.render(request, { 'mode': mode, 'formset': formset, 'forms': formset.get_forms_list(), 'main_forms': formset.get_main_forms(), 'supporting_forms': formset.get_supporting_forms(), 'forum': forum, 'path': get_forum_path(forum), 'thread': thread, 'post': post, 'api_url': request.path })
def real_dispatch(self, request, *args, **kwargs): mode_context = self.find_mode(request, *args, **kwargs) self.allow_mode(request.user, *mode_context) mode, forum, thread, post, quote = mode_context forum.labels = Label.objects.get_forum_labels(forum) formset = EditorFormset(request=request, mode=mode, user=request.user, forum=forum, thread=thread, post=post, quote=quote) if request.method == 'POST': if 'submit' in request.POST and formset.is_valid(): try: formset.save() return redirect(thread.get_absolute_url()) except PostingInterrupt as e: messages.error(request, e.message) else: formset.update() return self.render( request, { 'mode': mode, 'formset': formset, 'forms': formset.get_forms_list(), 'main_forms': formset.get_main_forms(), 'supporting_forms': formset.get_supporting_forms(), 'forum': forum, 'path': get_forum_path(forum), 'thread': thread, 'post': post, 'quote': quote, })
def real_dispatch(self, request, *args, **kwargs): mode_context = self.find_mode(request, *args, **kwargs) self.allow_mode(request.user, *mode_context) mode, forum, thread, post, quote = mode_context forum.labels = Label.objects.get_forum_labels(forum) formset = EditorFormset(request=request, mode=mode, user=request.user, forum=forum, thread=thread, post=post, quote=quote) if request.method == 'POST': if 'submit' in request.POST and formset.is_valid(): try: formset.save() return redirect(thread.get_absolute_url()) except PostingInterrupt as e: messages.error(request, e.message) else: formset.update() return self.render(request, { 'mode': mode, 'formset': formset, 'forms': formset.get_forms_list(), 'main_forms': formset.get_main_forms(), 'supporting_forms': formset.get_supporting_forms(), 'forum': forum, 'path': get_forum_path(forum), 'thread': thread, 'post': post, 'quote': quote, })