From a43361170cb1a7818a5748351f8017095a9b3cfa Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 29 Oct 2020 14:15:38 -0400 Subject: [PATCH] Fix overwriting of existing preferences --- netbox/users/api/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/netbox/users/api/views.py b/netbox/users/api/views.py index ef6e94fff..7773e54f4 100644 --- a/netbox/users/api/views.py +++ b/netbox/users/api/views.py @@ -1,7 +1,5 @@ -from django.contrib.auth.decorators import login_required from django.contrib.auth.models import Group, User from django.db.models import Count -from django.utils.decorators import method_decorator from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.routers import APIRootView @@ -11,6 +9,7 @@ from netbox.api.views import ModelViewSet from users import filters from users.models import ObjectPermission, UserConfig from utilities.querysets import RestrictedQuerySet +from utilities.utils import deepmerge from . import serializers @@ -75,7 +74,7 @@ class UserConfigViewSet(ViewSet): """ # TODO: How can we validate this data? userconfig = self.get_queryset().first() - userconfig.data.update(request.data) + userconfig.data = deepmerge(userconfig.data, request.data) userconfig.save() return Response(userconfig.data)