diff --git a/src/backend/core/admin.py b/src/backend/core/admin.py index e7dc04c0..201ae3d0 100644 --- a/src/backend/core/admin.py +++ b/src/backend/core/admin.py @@ -22,7 +22,19 @@ class UserAdmin(auth_admin.UserAdmin): ) }, ), - (_("Personal info"), {"fields": ("sub", "email", "language", "timezone")}), + ( + _("Personal info"), + { + "fields": ( + "sub", + "email", + "full_name", + "short_name", + "language", + "timezone", + ) + }, + ), ( _("Permissions"), { @@ -52,6 +64,8 @@ class UserAdmin(auth_admin.UserAdmin): "sub", "admin_email", "email", + "full_name", + "short_name", "is_active", "is_staff", "is_superuser", @@ -60,9 +74,24 @@ class UserAdmin(auth_admin.UserAdmin): "updated_at", ) list_filter = ("is_staff", "is_superuser", "is_device", "is_active") - ordering = ("is_active", "-is_superuser", "-is_staff", "-is_device", "-updated_at") - readonly_fields = ("id", "sub", "email", "created_at", "updated_at") - search_fields = ("id", "sub", "admin_email", "email") + ordering = ( + "is_active", + "-is_superuser", + "-is_staff", + "-is_device", + "-updated_at", + "full_name", + ) + readonly_fields = ( + "id", + "sub", + "email", + "full_name", + "short_name", + "created_at", + "updated_at", + ) + search_fields = ("id", "sub", "admin_email", "email", "full_name") class ResourceAccessInline(admin.TabularInline): diff --git a/src/backend/core/api/serializers.py b/src/backend/core/api/serializers.py index ff3b268f..51b37fbb 100644 --- a/src/backend/core/api/serializers.py +++ b/src/backend/core/api/serializers.py @@ -14,8 +14,8 @@ class UserSerializer(serializers.ModelSerializer): class Meta: model = models.User - fields = ["id", "email"] - read_only_fields = ["id", "email"] + fields = ["id", "email", "full_name", "short_name"] + read_only_fields = ["id", "email", "full_name", "short_name"] class ResourceAccessSerializerMixin: diff --git a/src/backend/core/tests/rooms/test_api_rooms_retrieve.py b/src/backend/core/tests/rooms/test_api_rooms_retrieve.py index 4762a4d6..6fd09000 100644 --- a/src/backend/core/tests/rooms/test_api_rooms_retrieve.py +++ b/src/backend/core/tests/rooms/test_api_rooms_retrieve.py @@ -301,6 +301,8 @@ def test_api_rooms_retrieve_members(mock_token, django_assert_num_queries): "user": { "id": str(user_access.user.id), "email": user_access.user.email, + "full_name": user_access.user.full_name, + "short_name": user_access.user.short_name, }, "resource": str(room.id), "role": user_access.role, @@ -310,6 +312,8 @@ def test_api_rooms_retrieve_members(mock_token, django_assert_num_queries): "user": { "id": str(other_user_access.user.id), "email": other_user_access.user.email, + "full_name": other_user_access.user.full_name, + "short_name": other_user_access.user.short_name, }, "resource": str(room.id), "role": other_user_access.role, @@ -374,6 +378,8 @@ def test_api_rooms_retrieve_administrators(mock_token, django_assert_num_queries "user": { "id": str(other_user_access.user.id), "email": other_user_access.user.email, + "full_name": other_user_access.user.full_name, + "short_name": other_user_access.user.short_name, }, "resource": str(room.id), "role": other_user_access.role, @@ -383,6 +389,8 @@ def test_api_rooms_retrieve_administrators(mock_token, django_assert_num_queries "user": { "id": str(user_access.user.id), "email": user_access.user.email, + "full_name": user_access.user.full_name, + "short_name": user_access.user.short_name, }, "resource": str(room.id), "role": user_access.role, diff --git a/src/backend/core/tests/test_api_users.py b/src/backend/core/tests/test_api_users.py index da2c12a6..f57d5aa2 100644 --- a/src/backend/core/tests/test_api_users.py +++ b/src/backend/core/tests/test_api_users.py @@ -96,6 +96,8 @@ def test_api_users_retrieve_me_authenticated(): assert response.json() == { "id": str(user.id), "email": user.email, + "full_name": user.full_name, + "short_name": user.short_name, }