Просмотр исходного кода

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

Alex Gittings 3 лет назад
Родитель
Сommit
bc2491e6b7
1 измененных файлов с 6 добавлено и 0 удалено
  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):
 class NestedUserSerializer(WritableNestedSerializer):
     url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail')
     url = serializers.HyperlinkedIdentityField(view_name='users-api:user-detail')
+    display = serializers.SerializerMethodField(read_only=True)
 
 
     class Meta:
     class Meta:
         model = User
         model = User
         fields = ['id', 'url', 'display', 'username']
         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):
 class NestedTokenSerializer(WritableNestedSerializer):
     url = serializers.HyperlinkedIdentityField(view_name='users-api:token-detail')
     url = serializers.HyperlinkedIdentityField(view_name='users-api:token-detail')