##// END OF EJS Templates
Store each post URL in the database instead of computing it every time
Store each post URL in the database instead of computing it every time

File last commit:

r1109:d995bcab default
r1112:ae5d52b8 default
Show More
context_processors.py
59 lines | 1.9 KiB | text/x-python | PythonLexer
/ boards / context_processors.py
from boards.abstracts.settingsmanager import get_settings_manager, \
SETTING_USERNAME, SETTING_LAST_NOTIFICATION_ID
from boards.models.user import Notification
__author__ = 'neko259'
from boards import settings, utils
from boards.models import Post, Tag
CONTEXT_SITE_NAME = 'site_name'
CONTEXT_VERSION = 'version'
CONTEXT_MODERATOR = 'moderator'
CONTEXT_THEME_CSS = 'theme_css'
CONTEXT_THEME = 'theme'
CONTEXT_PPD = 'posts_per_day'
CONTEXT_TAGS = 'tags'
CONTEXT_USER = 'user'
CONTEXT_NEW_NOTIFICATIONS_COUNT = 'new_notifications_count'
CONTEXT_USERNAME = 'username'
CONTEXT_TAGS_STR = 'tags_str'
def get_notifications(context, request):
settings_manager = get_settings_manager(request)
username = settings_manager.get_setting(SETTING_USERNAME)
new_notifications_count = 0
if username is not None and len(username) > 0:
last_notification_id = settings_manager.get_setting(
SETTING_LAST_NOTIFICATION_ID)
new_notifications_count = Notification.objects.get_notification_posts(
username=username, last=last_notification_id).count()
context[CONTEXT_NEW_NOTIFICATIONS_COUNT] = new_notifications_count
context[CONTEXT_USERNAME] = username
def user_and_ui_processor(request):
context = dict()
context[CONTEXT_PPD] = float(Post.objects.get_posts_per_day())
settings_manager = get_settings_manager(request)
fav_tags = settings_manager.get_fav_tags()
context[CONTEXT_TAGS] = fav_tags
context[CONTEXT_TAGS_STR] = Tag.objects.get_tag_url_list(fav_tags)
theme = settings_manager.get_theme()
context[CONTEXT_THEME] = theme
context[CONTEXT_THEME_CSS] = 'css/' + theme + '/base_page.css'
# This shows the moderator panel
context[CONTEXT_MODERATOR] = utils.is_moderator(request)
context[CONTEXT_VERSION] = settings.VERSION
context[CONTEXT_SITE_NAME] = settings.SITE_NAME
get_notifications(context, request)
return context