##// END OF EJS Templates
Don't run time conversion if Intl not available in browser. Also convert...
Don't run time conversion if Intl not available in browser. Also convert thread death time in archived threads

File last commit:

r998:4c4d649f default
r1023:0040ea34 default
Show More
tag_threads.py
100 lines | 3.1 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
Use threads' tags list to aggregate threads by tag
r908 from boards.models import Tag, Thread
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
Use threads' tags list to aggregate threads by tag
r908 return tag.get_threads()
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
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():
neko259
Refactoring in all threads view
r634 return self.create_thread(request, form)
neko259
Fixed posting from the tag page
r597 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):
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
return self.redirect_to_next(request)
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
return self.redirect_to_next(request)
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)