From cef09acd543e5f3fc637d4648f6955dddea3d465 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 15 Aug 2021 12:05:53 +1000 Subject: [PATCH] Partial reversion of some stuff --- InvenTree/InvenTree/context.py | 20 ------------------- InvenTree/InvenTree/settings.py | 1 - .../part/templatetags/inventree_extras.py | 18 +++++++++++++++++ InvenTree/templates/js/dynamic/settings.js | 8 ++++++-- 4 files changed, 24 insertions(+), 23 deletions(-) diff --git a/InvenTree/InvenTree/context.py b/InvenTree/InvenTree/context.py index 6f59840967..85a320afb4 100644 --- a/InvenTree/InvenTree/context.py +++ b/InvenTree/InvenTree/context.py @@ -72,26 +72,6 @@ def status_codes(request): } -def inventree_settings(request): - """ - Adds two context objects to the request: - - user_settings - A key:value dict of all user InvenTree settings for the current user - global_settings - A key:value dict of all global InvenTree settings - - Providing a single context object for all settings should reduce the number of db hits - """ - - ctx = {} - - if request.user: - ctx["user_settings"] = common.models.InvenTreeUserSetting.allValues(user=request.user) - - ctx["global_settings"] = common.models.InvenTreeSetting.allValues() - - return ctx - - def user_roles(request): """ Return a map of the current roles assigned to the user. diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 1ea4815f65..96b7da140d 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -324,7 +324,6 @@ TEMPLATES = [ 'InvenTree.context.health_status', 'InvenTree.context.status_codes', 'InvenTree.context.user_roles', - 'InvenTree.context.inventree_settings', ], }, }, diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index 054cd0be95..f36746e7a2 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -209,6 +209,24 @@ def settings_value(key, *args, **kwargs): return InvenTreeSetting.get_setting(key) +@register.simple_tag() +def user_settings(user, *args, **kwargs): + """ + Return all USER settings as a key:value dict + """ + + return InvenTreeUserSetting.allValues(user=user) + + +@register.simple_tag() +def global_settings(*args, **kwargs): + """ + Return all GLOBAL InvenTree settings as a key:value dict + """ + + return InvenTreeSetting.allValues() + + @register.simple_tag() def get_color_theme_css(username): try: diff --git a/InvenTree/templates/js/dynamic/settings.js b/InvenTree/templates/js/dynamic/settings.js index 3f96e9d988..60172ead64 100644 --- a/InvenTree/templates/js/dynamic/settings.js +++ b/InvenTree/templates/js/dynamic/settings.js @@ -1,14 +1,18 @@ {% load inventree_extras %} // InvenTree settings +{% user_settings request.user as USER_SETTINGS %} + var user_settings = { - {% for key, value in user_settings.items %} + {% for key, value in USER_SETTINGS.items %} {{ key }}: {% primitive_to_javascript value %}, {% endfor %} }; +{% global_settings as GLOBAL_SETTINGS %} + var global_settings = { - {% for key, value in global_settings.items %} + {% for key, value in GLOBAL_SETTINGS.items %} {{ key }}: {% primitive_to_javascript value %}, {% endfor %} }; \ No newline at end of file