From eaaf98f9d45c075e7615c926c48c67f97c43a8ae Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Fri, 2 Sep 2022 08:51:16 +0200 Subject: [PATCH] out-of-scope:update settings value lookup to include typ (#3636) --- InvenTree/common/models.py | 4 ++++ InvenTree/common/serializers.py | 3 +++ InvenTree/plugin/models.py | 4 ++++ InvenTree/templates/InvenTree/settings/setting.html | 4 ++-- InvenTree/templates/js/dynamic/settings.js | 7 ++++--- 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index e1383dc74d..e09a08a0bb 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1329,6 +1329,8 @@ class InvenTreeSetting(BaseInvenTreeSetting): }, } + typ = 'inventree' + class Meta: """Meta options for InvenTreeSetting.""" @@ -1642,6 +1644,8 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): }, } + typ = 'user' + class Meta: """Meta options for InvenTreeUserSetting.""" diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index 3ff2fc803a..4ff04de738 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -70,6 +70,7 @@ class GlobalSettingsSerializer(SettingsSerializer): 'choices', 'model_name', 'api_url', + 'typ', ] @@ -93,6 +94,7 @@ class UserSettingsSerializer(SettingsSerializer): 'choices', 'model_name', 'api_url', + 'typ', ] @@ -122,6 +124,7 @@ class GenericReferencedSettingSerializer(SettingsSerializer): 'choices', 'model_name', 'api_url', + 'typ', ] # set Meta class diff --git a/InvenTree/plugin/models.py b/InvenTree/plugin/models.py index 16e51513da..7eca4e1354 100644 --- a/InvenTree/plugin/models.py +++ b/InvenTree/plugin/models.py @@ -173,6 +173,8 @@ class PluginConfig(models.Model): class PluginSetting(common.models.BaseInvenTreeSetting): """This model represents settings for individual plugins.""" + typ = 'plugin' + class Meta: """Meta for PluginSetting.""" unique_together = [ @@ -222,6 +224,8 @@ class PluginSetting(common.models.BaseInvenTreeSetting): class NotificationUserSetting(common.models.BaseInvenTreeSetting): """This model represents notification settings for a user.""" + typ = 'notification' + class Meta: """Meta for NotificationUserSetting.""" unique_together = [ diff --git a/InvenTree/templates/InvenTree/settings/setting.html b/InvenTree/templates/InvenTree/settings/setting.html index 0bc099f8a2..35aeb97cdf 100644 --- a/InvenTree/templates/InvenTree/settings/setting.html +++ b/InvenTree/templates/InvenTree/settings/setting.html @@ -24,11 +24,11 @@ {% if setting.is_bool %}
- +
{% else %}
- + {% if setting.value %} {% if setting.is_choice %} {{ setting.as_choice }} diff --git a/InvenTree/templates/js/dynamic/settings.js b/InvenTree/templates/js/dynamic/settings.js index 4d4434c0c5..ab9ac30397 100644 --- a/InvenTree/templates/js/dynamic/settings.js +++ b/InvenTree/templates/js/dynamic/settings.js @@ -118,15 +118,16 @@ function editSetting(key, options={}) { }, onSuccess: function(response) { - var setting = response.key; + var setting_pk = response.pk; + var setting_typ = response.typ; if (reload_required) { location.reload(); } else if (response.type == 'boolean') { var enabled = response.value.toString().toLowerCase() == 'true'; - $(`#setting-value-${setting}`).prop('checked', enabled); + $(`#setting-value-${setting_pk}-${setting_typ}`).prop('checked', enabled); } else { - $(`#setting-value-${setting}`).html(response.value); + $(`#setting-value-${setting_pk}-${setting_typ}`).html(response.value); } } });