Source code for shuup.admin.browser_config

from django.conf import settings
from django.templatetags.static import static

from shuup.admin.utils.permissions import has_permission
from shuup.utils.i18n import get_current_babel_locale


[docs] class BaseBrowserConfigProvider:
[docs] @classmethod def get_browser_urls(cls, request, **kwargs): return {}
[docs] @classmethod def get_gettings(cls, request, **kwargs): return {}
[docs] class DefaultBrowserConfigProvider(BaseBrowserConfigProvider):
[docs] @classmethod def get_browser_urls(cls, request, **kwargs): return { "edit": "shuup_admin:edit", "select": "shuup_admin:select", "object_selector": "shuup_admin:object_selector", "media": ("shuup_admin:media.browse" if has_permission(request.user, "media.browse") else None), "upload": ("shuup_admin:media.upload" if has_permission(request.user, "media.upload") else None), "product": "shuup_admin:shop_product.list", "contact": "shuup_admin:contact.list", "setLanguage": "shuup_admin:set-language", "tour": "shuup_admin:tour", "menu_toggle": "shuup_admin:menu_toggle", "add_media": ( ("shuup_admin:shop_product.add_media", (), {"pk": 99999}) if has_permission(request.user, "shop_product.add_media") else None ), }
[docs] @classmethod def get_gettings(cls, request, **kwargs): return { "minSearchInputLength": settings.SHUUP_ADMIN_MINIMUM_INPUT_LENGTH_SEARCH or 1, "dateInputFormat": settings.SHUUP_ADMIN_DATE_INPUT_FORMAT, "datetimeInputFormat": settings.SHUUP_ADMIN_DATETIME_INPUT_FORMAT, "timeInputFormat": settings.SHUUP_ADMIN_TIME_INPUT_FORMAT, "datetimeInputStep": settings.SHUUP_ADMIN_DATETIME_INPUT_STEP, "dateInputLocale": get_current_babel_locale().language, "staticPrefix": static(""), }