##// END OF EJS Templates
Added tag 2.5.0 for changeset 97eb184637e5
Added tag 2.5.0 for changeset 97eb184637e5

File last commit:

r990:28175b48 default
r992:7452f4a8 default
Show More
context_processors.py
69 lines | 2.2 KiB | text/x-python | PythonLexer
/ boards / context_processors.py
neko259
User notifications (BB-59)
r990 from boards.abstracts.settingsmanager import get_settings_manager, \
SETTING_USERNAME, SETTING_LAST_NOTIFICATION_ID
from boards.models.user import Notification
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
Small code cleanups
r721 __author__ = 'neko259'
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 from boards import settings
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690 from boards.models import Post
neko259
Small code cleanups
r721 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'
neko259
User notifications (BB-59)
r990 CONTEXT_NEW_NOTIFICATIONS_COUNT = 'new_notifications_count'
CONTEXT_USERNAME = 'username'
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
neko259
Use native django auth for moderation
r811 PERMISSION_MODERATE = 'moderation'
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
neko259
User notifications (BB-59)
r990 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)
if last_notification_id is not None:
new_notifications_count = Notification.objects.filter(
id__gt=last_notification_id).filter(
name=username).count()
else:
new_notifications_count = Notification.objects.filter(
name=username).count()
context[CONTEXT_NEW_NOTIFICATIONS_COUNT] = new_notifications_count
context[CONTEXT_USERNAME] = username
def get_moderator_permissions(context, request):
try:
moderate = request.user.has_perm(PERMISSION_MODERATE)
except AttributeError:
moderate = False
context[CONTEXT_MODERATOR] = moderate
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690 def user_and_ui_processor(request):
neko259
Cleaned up some code
r905 context = dict()
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
neko259
Small code cleanups
r721 context[CONTEXT_PPD] = float(Post.objects.get_posts_per_day())
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
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 context[CONTEXT_TAGS] = settings_manager.get_fav_tags()
theme = settings_manager.get_theme()
neko259
Small code cleanups
r721 context[CONTEXT_THEME] = theme
context[CONTEXT_THEME_CSS] = 'css/' + theme + '/base_page.css'
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
# This shows the moderator panel
neko259
User notifications (BB-59)
r990 get_moderator_permissions(context, request)
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
neko259
Small code cleanups
r721 context[CONTEXT_VERSION] = settings.VERSION
context[CONTEXT_SITE_NAME] = settings.SITE_NAME
neko259
Implemented search over posts. Moved get_user and get_theme to utils module. Use context processors instead of creating context in the base view. Removed unused imports in some modules
r690
neko259
User notifications (BB-59)
r990 get_notifications(context, request)
neko259
Use native django auth for moderation
r811 return context