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

Closes #4421: Retain user's preference for config context format

This commit is contained in:
Jeremy Stretch
2020-04-24 12:01:41 -04:00
parent f019c8d2ce
commit bdbf21b3e2
7 changed files with 26 additions and 32 deletions

View File

@@ -119,11 +119,18 @@ class ConfigContextView(PermissionRequiredMixin, View):
permission_required = 'extras.view_configcontext'
def get(self, request, pk):
configcontext = get_object_or_404(ConfigContext, pk=pk)
# Determine user's preferred output format
if request.GET.get('format') in ['json', 'yaml']:
format = request.GET.get('format')
request.user.config.set('extras.configcontext.format', format, commit=True)
else:
format = request.user.config.get('extras.configcontext.format', 'json')
return render(request, 'extras/configcontext.html', {
'configcontext': configcontext,
'format': format,
})
@@ -171,11 +178,19 @@ class ObjectConfigContextView(View):
source_contexts = ConfigContext.objects.get_for_object(obj)
model_name = self.object_class._meta.model_name
# Determine user's preferred output format
if request.GET.get('format') in ['json', 'yaml']:
format = request.GET.get('format')
request.user.config.set('extras.configcontext.format', format, commit=True)
else:
format = request.user.config.get('extras.configcontext.format', 'json')
return render(request, 'extras/object_configcontext.html', {
model_name: obj,
'obj': obj,
'rendered_context': obj.get_config_context(),
'source_contexts': source_contexts,
'format': format,
'base_template': self.base_template,
'active_tab': 'config-context',
})