##// END OF EJS Templates
Init autoupdate in archived threads
Init autoupdate in archived threads

File last commit:

r1008:bbb4d5fd default
r1024:26e889af default
Show More
notifications.py
44 lines | 1.5 KiB | text/x-python | PythonLexer
neko259
User notifications (BB-59)
r990 from django.shortcuts import render
from boards.abstracts.paginator import get_paginator
from boards.abstracts.settingsmanager import get_settings_manager, \
SETTING_USERNAME, SETTING_LAST_NOTIFICATION_ID
from boards.models import Post
from boards.models.user import Notification
from boards.views.base import BaseBoardView
TEMPLATE = 'boards/notifications.html'
PARAM_PAGE = 'page'
PARAM_USERNAME = 'notification_username'
REQUEST_PAGE = 'page'
RESULTS_PER_PAGE = 10
class NotificationView(BaseBoardView):
def get(self, request, username):
params = self.get_context_data()
settings_manager = get_settings_manager(request)
# If we open our notifications, reset the "new" count
my_username = settings_manager.get_setting(SETTING_USERNAME)
neko259
Added notification API
r994
neko259
Use only lowercase name in notifications. Refactored post manager and refmap...
r1008 notification_username = username.lower()
posts = Notification.objects.get_notification_posts(
username=notification_username)
if notification_username == my_username:
neko259
Added notification API
r994 last = posts.first()
neko259
User notifications (BB-59)
r990 if last is not None:
last_id = last.id
settings_manager.set_setting(SETTING_LAST_NOTIFICATION_ID,
last_id)
paginator = get_paginator(posts, RESULTS_PER_PAGE)
page = int(request.GET.get(REQUEST_PAGE, '1'))
params[PARAM_PAGE] = paginator.page(page)
neko259
Use only lowercase name in notifications. Refactored post manager and refmap...
r1008 params[PARAM_USERNAME] = notification_username
neko259
User notifications (BB-59)
r990
return render(request, TEMPLATE, params)