From 2c01e178c7ea43fc04e0b811ffd540325670a681 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 21 Dec 2021 19:59:33 -0500 Subject: [PATCH] Update config context display to reference data_format preference --- docs/development/user-preferences.md | 11 ++++++----- netbox/extras/views.py | 8 ++++---- netbox/users/forms.py | 3 ++- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/development/user-preferences.md b/docs/development/user-preferences.md index 0595bc358..a707eb6ad 100644 --- a/docs/development/user-preferences.md +++ b/docs/development/user-preferences.md @@ -4,8 +4,9 @@ The `users.UserConfig` model holds individual preferences for each user in the f ## Available Preferences -| Name | Description | -| ---- | ----------- | -| extras.configcontext.format | Preferred format when rendering config context data (JSON or YAML) | -| pagination.per_page | The number of items to display per page of a paginated table | -| tables.TABLE_NAME.columns | The ordered list of columns to display when viewing the table | +| Name | Description | +|-------------------------|-------------| +| data_format | Preferred format when rendering raw data (JSON or YAML) | +| pagination.per_page | The number of items to display per page of a paginated table | +| tables.${table}.columns | The ordered list of columns to display when viewing the table | +| ui.colormode | Light or dark mode in the user interface | diff --git a/netbox/extras/views.py b/netbox/extras/views.py index a2bc92f88..256709c6a 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -296,9 +296,9 @@ class ConfigContextView(generic.ObjectView): if request.GET.get('format') in ['json', 'yaml']: format = request.GET.get('format') if request.user.is_authenticated: - request.user.config.set('extras.configcontext.format', format, commit=True) + request.user.config.set('data_format', format, commit=True) elif request.user.is_authenticated: - format = request.user.config.get('extras.configcontext.format', 'json') + format = request.user.config.get('data_format', 'json') else: format = 'json' @@ -341,9 +341,9 @@ class ObjectConfigContextView(generic.ObjectView): if request.GET.get('format') in ['json', 'yaml']: format = request.GET.get('format') if request.user.is_authenticated: - request.user.config.set('extras.configcontext.format', format, commit=True) + request.user.config.set('data_format', format, commit=True) elif request.user.is_authenticated: - format = request.user.config.get('extras.configcontext.format', 'json') + format = request.user.config.get('data_format', 'json') else: format = 'json' diff --git a/netbox/users/forms.py b/netbox/users/forms.py index c4e55c5bc..5a4b1c2ff 100644 --- a/netbox/users/forms.py +++ b/netbox/users/forms.py @@ -1,7 +1,7 @@ from django import forms from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm as DjangoPasswordChangeForm -from utilities.forms import BootstrapMixin, DateTimePicker +from utilities.forms import BootstrapMixin, DateTimePicker, StaticSelect from utilities.utils import flatten_dict from .models import Token, UserConfig from .preferences import PREFERENCES @@ -28,6 +28,7 @@ class UserConfigFormMetaclass(forms.models.ModelFormMetaclass): 'help_text': preference.description, 'coerce': preference.coerce, 'required': False, + 'widget': StaticSelect, } preference_fields[field_name] = forms.TypedChoiceField(**field_kwargs) attrs.update(preference_fields)