Browse Source

Closes #8894: Add first and last name to APISelect widget if set

Alex Gittings 3 years ago
parent
commit
bc2491e6b7
1 changed files with 6 additions and 0 deletions
  1. 6 0
      netbox/users/api/nested_serializers.py

+ 6 - 0
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')