From ece17b829c609cc26a746ecbc8d9e9b5cab86d39 Mon Sep 17 00:00:00 2001 From: Alex Gittings Date: Fri, 15 Apr 2022 21:50:24 +0000 Subject: [PATCH 1/4] Closes #8894: Add first and last name to APISelect widget if set --- netbox/users/api/nested_serializers.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netbox/users/api/nested_serializers.py b/netbox/users/api/nested_serializers.py index df9af0f19..3b4959a1e 100644 --- a/netbox/users/api/nested_serializers.py +++ b/netbox/users/api/nested_serializers.py @@ -23,11 +23,17 @@ class NestedGroupSerializer(WritableNestedSerializer): class NestedUserSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail') + display = serializers.SerializerMethodField(read_only=True) class Meta: model = User fields = ['id', 'url', 'display', 'username'] + def get_display(self, obj): + if obj.first_name and obj.last_name: + return f"{obj.username} ({obj.first_name} {obj.last_name})" + return obj.username + class NestedTokenSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='users-api:token-detail') From e5f20dec8d44ada5b3fe16d15973a42a093c95c3 Mon Sep 17 00:00:00 2001 From: minitriga Date: Tue, 3 May 2022 09:00:52 +0100 Subject: [PATCH 2/4] Update netbox/users/api/nested_serializers.py Co-authored-by: Jeremy Stretch --- netbox/users/api/nested_serializers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/netbox/users/api/nested_serializers.py b/netbox/users/api/nested_serializers.py index 3b4959a1e..d1950bf2d 100644 --- a/netbox/users/api/nested_serializers.py +++ b/netbox/users/api/nested_serializers.py @@ -30,8 +30,8 @@ class NestedUserSerializer(WritableNestedSerializer): fields = ['id', 'url', 'display', 'username'] def get_display(self, obj): - if obj.first_name and obj.last_name: - return f"{obj.username} ({obj.first_name} {obj.last_name})" + if full_name := obj.get_full_name(): + return f"{obj.username} ({full_name})" return obj.username From f621bf739e445091d343395f17b721da75c1a9e1 Mon Sep 17 00:00:00 2001 From: minitriga Date: Tue, 3 May 2022 09:01:06 +0100 Subject: [PATCH 3/4] Update netbox/users/api/nested_serializers.py Co-authored-by: Jeremy Stretch --- netbox/users/api/nested_serializers.py | 1 - 1 file changed, 1 deletion(-) diff --git a/netbox/users/api/nested_serializers.py b/netbox/users/api/nested_serializers.py index d1950bf2d..51e0c5b26 100644 --- a/netbox/users/api/nested_serializers.py +++ b/netbox/users/api/nested_serializers.py @@ -23,7 +23,6 @@ class NestedGroupSerializer(WritableNestedSerializer): class NestedUserSerializer(WritableNestedSerializer): url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail') - display = serializers.SerializerMethodField(read_only=True) class Meta: model = User From fc4aff20186bd380f75812a39bd81b46fcd64ea9 Mon Sep 17 00:00:00 2001 From: Alex Gittings Date: Tue, 3 May 2022 10:45:08 +0000 Subject: [PATCH 4/4] add get_display to users serializer --- netbox/users/api/serializers.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/netbox/users/api/serializers.py b/netbox/users/api/serializers.py index d490e8fe9..8e2b01477 100644 --- a/netbox/users/api/serializers.py +++ b/netbox/users/api/serializers.py @@ -44,6 +44,11 @@ class UserSerializer(ValidatedModelSerializer): user.save() return user + + def get_display(self, obj): + if full_name := obj.get_full_name(): + return f"{obj.username} ({full_name})" + return obj.username class GroupSerializer(ValidatedModelSerializer):