##// END OF EJS Templates
Moved signatures block to the model block. All the signed content is in the 'content' block now. Removed edit time, previous and next posts links from the XML sync output because they can be computed from the post itself and can be changed locally for foreign posts (which breaks the signature)
Moved signatures block to the model block. All the signed content is in the 'content' block now. Removed edit time, previous and next posts links from the XML sync output because they can be computed from the post itself and can be changed locally for foreign posts (which breaks the signature)

File last commit:

r730:447bb8d7 2.0-dev
r838:2b96b9e7 decentral
Show More
tag_threads.py
92 lines | 2.8 KiB | text/x-python | PythonLexer
from django.shortcuts import get_object_or_404
from boards.abstracts.settingsmanager import get_settings_manager
from boards.models import Tag
from boards.views.all_threads import AllThreadsView, DEFAULT_PAGE
from boards.views.mixins import DispatcherMixin, RedirectNextMixin
from boards.forms import ThreadForm, PlainErrorList
__author__ = 'neko259'
class TagView(AllThreadsView, DispatcherMixin, RedirectNextMixin):
tag_name = None
def get_threads(self):
tag = get_object_or_404(Tag, name=self.tag_name)
return tag.threads.all().order_by('-bump_time')
def get_context_data(self, **kwargs):
context = super(TagView, self).get_context_data(**kwargs)
settings_manager = get_settings_manager(kwargs['request'])
tag = get_object_or_404(Tag, name=self.tag_name)
context['tag'] = tag
context['fav_tags'] = settings_manager.get_fav_tags()
context['hidden_tags'] = settings_manager.get_hidden_tags()
return context
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, 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.create_thread(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):
tag = get_object_or_404(Tag, name=self.tag_name)
settings_manager = get_settings_manager(request)
settings_manager.add_fav_tag(tag)
return self.redirect_to_next(request)
def unsubscribe(self, request):
tag = get_object_or_404(Tag, name=self.tag_name)
settings_manager = get_settings_manager(request)
settings_manager.del_fav_tag(tag)
return self.redirect_to_next(request)
def hide(self, request):
"""
Adds tag to user's hidden tags. Threads with this tag will not be
shown.
"""
tag = get_object_or_404(Tag, name=self.tag_name)
settings_manager = get_settings_manager(request)
settings_manager.add_hidden_tag(tag)
def unhide(self, request):
"""
Removed tag from user's hidden tags.
"""
tag = get_object_or_404(Tag, name=self.tag_name)
settings_manager = get_settings_manager(request)
settings_manager.del_hidden_tag(tag)