##// END OF EJS Templates
Small updates to the tag model docstrings.
Small updates to the tag model docstrings.

File last commit:

r597:05786152 default
r623:da7c40d0 default
Show More
tag_threads.py
65 lines | 2.0 KiB | text/x-python | PythonLexer
neko259
Rewriting views to class-based
r542 from django.shortcuts import get_object_or_404
from boards.models import Tag, Post
from boards.views.all_threads import AllThreadsView, DEFAULT_PAGE
neko259
Moved tag subscribe and unsubscribe methods to the tag view. Added a...
r563 from boards.views.mixins import DispatcherMixin, RedirectNextMixin
neko259
Fixed posting from the tag page
r597 from boards.forms import ThreadForm, PlainErrorList
neko259
Rewriting views to class-based
r542
__author__ = 'neko259'
neko259
Moved tag subscribe and unsubscribe methods to the tag view. Added a...
r563 class TagView(AllThreadsView, DispatcherMixin, RedirectNextMixin):
neko259
Rewriting views to class-based
r542
tag_name = None
def get_threads(self):
tag = get_object_or_404(Tag, name=self.tag_name)
neko259
Minor fixes
r548 return tag.threads.filter(archived=False).order_by('-bump_time')
neko259
Rewriting views to class-based
r542
def get_context_data(self, **kwargs):
context = super(TagView, self).get_context_data(**kwargs)
tag = get_object_or_404(Tag, name=self.tag_name)
context['tag'] = tag
return context
neko259
Fixed posting from the tag page
r597 def get(self, request, tag_name, page=DEFAULT_PAGE, form=None):
neko259
Rewriting views to class-based
r542 self.tag_name = tag_name
neko259
Moved tag subscribe and unsubscribe methods to the tag view. Added a...
r563 dispatch_result = self.dispatch_method(request)
if dispatch_result:
return dispatch_result
else:
neko259
Fixed posting from the tag page
r597 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)
neko259
Moved tag subscribe and unsubscribe methods to the tag view. Added a...
r563
def subscribe(self, request):
user = self._get_user(request)
tag = get_object_or_404(Tag, name=self.tag_name)
if not tag in user.fav_tags.all():
user.add_tag(tag)
return self.redirect_to_next(request)
def unsubscribe(self, request):
user = self._get_user(request)
tag = get_object_or_404(Tag, name=self.tag_name)
if tag in user.fav_tags.all():
user.remove_tag(tag)
return self.redirect_to_next(request)