##// END OF EJS Templates
Removed much of the word "search" all over the search page
Removed much of the word "search" all over the search page

File last commit:

r1064:da5d56ec default
r1072:8518d258 default
Show More
tag_threads.py
107 lines | 3.3 KiB | text/x-python | PythonLexer
neko259
Rewriting views to class-based
r542 from django.shortcuts import get_object_or_404
neko259
Divided settings manager into base settings manager class and session-based settings manager. This allowes to add other backends to the settings manager
r730
neko259
More 'proper' way to get status of the tag
r998 from boards.abstracts.settingsmanager import get_settings_manager, \
SETTING_FAVORITE_TAGS, SETTING_HIDDEN_TAGS
neko259
If we are trying to open a hidden tag page, show its threads
r1064 from boards.models import Tag
neko259
Rewriting views to class-based
r542 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
neko259
Views refactoring
r900 PARAM_HIDDEN_TAGS = 'hidden_tags'
PARAM_TAG = 'tag'
neko259
More 'proper' way to get status of the tag
r998 PARAM_IS_FAVORITE = 'is_favorite'
PARAM_IS_HIDDEN = 'is_hidden'
neko259
Divided settings manager into base settings manager class and session-based settings manager. This allowes to add other backends to the settings manager
r730
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
If we are trying to open a hidden tag page, show its threads
r1064 hidden_tags = self.settings_manager.get_hidden_tags()
try:
hidden_tags.remove(tag)
except ValueError:
pass
neko259
Fixed notifications for multi-thread posts. Fixed hiding hidden tag threads when viewing tag page
r1062 return tag.get_threads().exclude(
neko259
If we are trying to open a hidden tag page, show its threads
r1064 tags__in=hidden_tags)
neko259
Rewriting views to class-based
r542
def get_context_data(self, **kwargs):
neko259
Fixed tag threads view
r919 params = super(TagView, self).get_context_data(**kwargs)
neko259
Rewriting views to class-based
r542
neko259
Divided settings manager into base settings manager class and session-based settings manager. This allowes to add other backends to the settings manager
r730 settings_manager = get_settings_manager(kwargs['request'])
neko259
Removed user and settings mode. Added settings manager to manage settings and keep them in the session (or any other backend like cookie in the future
r728
neko259
Rewriting views to class-based
r542 tag = get_object_or_404(Tag, name=self.tag_name)
neko259
Fixed tag threads view
r919 params[PARAM_TAG] = tag
neko259
Rewriting views to class-based
r542
neko259
More 'proper' way to get status of the tag
r998 fav_tag_names = settings_manager.get_setting(SETTING_FAVORITE_TAGS)
hidden_tag_names = settings_manager.get_setting(SETTING_HIDDEN_TAGS)
params[PARAM_IS_FAVORITE] = fav_tag_names is not None and tag.name in fav_tag_names
params[PARAM_IS_HIDDEN] = hidden_tag_names is not None and tag.name in hidden_tag_names
neko259
Removed user and settings mode. Added settings manager to manage settings and keep them in the session (or any other backend like cookie in the future
r728
neko259
Fixed tag threads view
r919 return params
neko259
Rewriting views to class-based
r542
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
Made "subscribe" and "hide" in tags as buttons with forms.
r1037 return super(TagView, self).get(request, page, form)
neko259
Fixed posting from the tag page
r597
def post(self, request, tag_name, page=DEFAULT_PAGE):
neko259
Made "subscribe" and "hide" in tags as buttons with forms.
r1037 self.tag_name = tag_name
neko259
Fixed posting from the tag page
r597
neko259
Made "subscribe" and "hide" in tags as buttons with forms.
r1037 if 'method' in request.POST:
self.dispatch_method(request)
form = None
else:
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)
neko259
Fixed posting from the tag page
r597
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):
tag = get_object_or_404(Tag, name=self.tag_name)
neko259
Divided settings manager into base settings manager class and session-based settings manager. This allowes to add other backends to the settings manager
r730 settings_manager = get_settings_manager(request)
neko259
Removed user and settings mode. Added settings manager to manage settings and keep them in the session (or any other backend like cookie in the future
r728 settings_manager.add_fav_tag(tag)
neko259
Moved tag subscribe and unsubscribe methods to the tag view. Added a...
r563
def unsubscribe(self, request):
tag = get_object_or_404(Tag, name=self.tag_name)
neko259
Divided settings manager into base settings manager class and session-based settings manager. This allowes to add other backends to the settings manager
r730 settings_manager = get_settings_manager(request)
neko259
Removed user and settings mode. Added settings manager to manage settings and keep them in the session (or any other backend like cookie in the future
r728 settings_manager.del_fav_tag(tag)
neko259
Moved tag subscribe and unsubscribe methods to the tag view. Added a...
r563
neko259
Added hidden tags functionality
r635 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)
neko259
Divided settings manager into base settings manager class and session-based settings manager. This allowes to add other backends to the settings manager
r730 settings_manager = get_settings_manager(request)
neko259
Removed user and settings mode. Added settings manager to manage settings and keep them in the session (or any other backend like cookie in the future
r728 settings_manager.add_hidden_tag(tag)
neko259
Added hidden tags functionality
r635
def unhide(self, request):
"""
Removed tag from user's hidden tags.
"""
tag = get_object_or_404(Tag, name=self.tag_name)
neko259
Divided settings manager into base settings manager class and session-based settings manager. This allowes to add other backends to the settings manager
r730 settings_manager = get_settings_manager(request)
neko259
Removed user and settings mode. Added settings manager to manage settings and keep them in the session (or any other backend like cookie in the future
r728 settings_manager.del_hidden_tag(tag)