diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index a3af143f92..a4a4d21807 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -43,7 +43,7 @@ from .views import CurrencySettingsView, CurrencyRefreshView from .views import AppearanceSelectView, SettingCategorySelectView from .views import DynamicJsView -from common.views import SettingEdit +from common.views import SettingEdit, UserSettingEdit from .api import InfoView, NotFoundView from .api import ActionPluginView @@ -94,6 +94,7 @@ settings_urls = [ url(r'^currencies/', CurrencySettingsView.as_view(), name='settings-currencies'), url(r'^currencies-refresh/', CurrencyRefreshView.as_view(), name='settings-currencies-refresh'), + url(r'^(?P\d+)/edit/user', UserSettingEdit.as_view(), name='user-setting-edit'), url(r'^(?P\d+)/edit/', SettingEdit.as_view(), name='setting-edit'), # Catch any other urls diff --git a/InvenTree/common/views.py b/InvenTree/common/views.py index f182b03e0d..75fc78b4e3 100644 --- a/InvenTree/common/views.py +++ b/InvenTree/common/views.py @@ -111,6 +111,18 @@ class SettingEdit(AjaxUpdateView): form.add_error('value', _('Supplied value must be a boolean')) +class UserSettingEdit(SettingEdit): + """ + View for editing an InvenTree key:value user settings object, + (or creating it if the key does not already exist) + """ + + model = models.InvenTreeUserSetting + ajax_form_title = _('Change User Setting') + form_class = forms.SettingEditForm + ajax_template_name = "common/edit_setting.html" + + class MultiStepFormView(SessionWizardView): """ Setup basic methods of multi-step form