##// END OF EJS Templates
Optimized post caching a little
Optimized post caching a little

File last commit:

r563:7e01fcf5 1.7-dev
r581:63c411a6 default
Show More
tag_threads.py
51 lines | 1.5 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
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
def get(self, request, tag_name, page=DEFAULT_PAGE):
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:
return super(TagView, self).get(request, page)
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)