1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Update config context display to reference data_format preference

This commit is contained in:
jeremystretch
2021-12-21 19:59:33 -05:00
parent 36d2422eef
commit 2c01e178c7
3 changed files with 12 additions and 10 deletions

View File

@ -4,8 +4,9 @@ The `users.UserConfig` model holds individual preferences for each user in the f
## Available Preferences ## Available Preferences
| Name | Description | | Name | Description |
| ---- | ----------- | |-------------------------|-------------|
| extras.configcontext.format | Preferred format when rendering config context data (JSON or YAML) | | 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 | | 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 | | tables.${table}.columns | The ordered list of columns to display when viewing the table |
| ui.colormode | Light or dark mode in the user interface |

View File

@ -296,9 +296,9 @@ class ConfigContextView(generic.ObjectView):
if request.GET.get('format') in ['json', 'yaml']: if request.GET.get('format') in ['json', 'yaml']:
format = request.GET.get('format') format = request.GET.get('format')
if request.user.is_authenticated: 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: elif request.user.is_authenticated:
format = request.user.config.get('extras.configcontext.format', 'json') format = request.user.config.get('data_format', 'json')
else: else:
format = 'json' format = 'json'
@ -341,9 +341,9 @@ class ObjectConfigContextView(generic.ObjectView):
if request.GET.get('format') in ['json', 'yaml']: if request.GET.get('format') in ['json', 'yaml']:
format = request.GET.get('format') format = request.GET.get('format')
if request.user.is_authenticated: 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: elif request.user.is_authenticated:
format = request.user.config.get('extras.configcontext.format', 'json') format = request.user.config.get('data_format', 'json')
else: else:
format = 'json' format = 'json'

View File

@ -1,7 +1,7 @@
from django import forms from django import forms
from django.contrib.auth.forms import AuthenticationForm, PasswordChangeForm as DjangoPasswordChangeForm 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 utilities.utils import flatten_dict
from .models import Token, UserConfig from .models import Token, UserConfig
from .preferences import PREFERENCES from .preferences import PREFERENCES
@ -28,6 +28,7 @@ class UserConfigFormMetaclass(forms.models.ModelFormMetaclass):
'help_text': preference.description, 'help_text': preference.description,
'coerce': preference.coerce, 'coerce': preference.coerce,
'required': False, 'required': False,
'widget': StaticSelect,
} }
preference_fields[field_name] = forms.TypedChoiceField(**field_kwargs) preference_fields[field_name] = forms.TypedChoiceField(**field_kwargs)
attrs.update(preference_fields) attrs.update(preference_fields)