# HG changeset patch # User neko259 # Date 2014-01-28 12:37:31 # Node ID 057861526a7044a308cce656613045bae282b503 # Parent 5657c06f7fbe404a6ea3402f0c16a2300a25e44b Fixed posting from the tag page diff --git a/boards/views/tag_threads.py b/boards/views/tag_threads.py --- a/boards/views/tag_threads.py +++ b/boards/views/tag_threads.py @@ -2,6 +2,7 @@ from django.shortcuts import get_object_ from boards.models import Tag, Post from boards.views.all_threads import AllThreadsView, DEFAULT_PAGE from boards.views.mixins import DispatcherMixin, RedirectNextMixin +from boards.forms import ThreadForm, PlainErrorList __author__ = 'neko259' @@ -23,14 +24,27 @@ class TagView(AllThreadsView, Dispatcher return context - def get(self, request, tag_name, page=DEFAULT_PAGE): + def get(self, request, tag_name, page=DEFAULT_PAGE, form=None): self.tag_name = tag_name dispatch_result = self.dispatch_method(request) if dispatch_result: return dispatch_result else: - return super(TagView, self).get(request, page) + return super(TagView, self).get(request, page, form) + + def post(self, request, tag_name, page=DEFAULT_PAGE): + form = ThreadForm(request.POST, request.FILES, + error_class=PlainErrorList) + form.session = request.session + + if form.is_valid(): + return self._new_post(request, form) + if form.need_to_ban: + # Ban user because he is suspected to be a bot + self._ban_current_user(request) + + return self.get(request, tag_name, page, form) def subscribe(self, request): user = self._get_user(request)