mycreole/context.py

36 lines
1.2 KiB
Python

from django.utils.translation import gettext as _
import logging
from mycreole import url_upload
from users.context import menubar as user_menubar
from patt.context import navigationbar
from themes import color_icon_url
try:
from config import APP_NAME as ROOT_LOGGER_NAME
except ImportError:
ROOT_LOGGER_NAME = 'root'
logger = logging.getLogger(ROOT_LOGGER_NAME).getChild(__name__)
NEW_ATTACHMENT_UID = 'new_attachment'
def context_adaption(context, request, title, rel_path, **kwargs):
context.set_additional_title(title)
user_menubar(context[context.MENUBAR], request)
navigationbar(context, request)
add_new(request, context[context.ACTIONBAR], rel_path, kwargs.get('next'))
for key in kwargs:
context[key] = kwargs[key]
logger.debug("context adapted: %s", repr(context))
def add_new(request, bar, rel_path, nxt):
bar.append_entry(
NEW_ATTACHMENT_UID, # uid
_('New Attachment'), # name
color_icon_url(request, 'plus.png'), # icon
url_upload(request, rel_path, nxt), # url
True, # left
False # active
)