]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Return user first & last name from backend 3579/head
authorshamoon <4887959+shamoon@users.noreply.github.com>
Mon, 12 Jun 2023 15:15:25 +0000 (08:15 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Mon, 12 Jun 2023 15:15:59 +0000 (08:15 -0700)
src/documents/tests/test_api.py
src/documents/views.py

index 82f5b219a89b4ed8df7030da2ff0720077da3db3..90684b338f74b07219306d55e9d6f02cb9f3729e 100644 (file)
@@ -2594,11 +2594,25 @@ class TestApiUiSettings(DirectoriesMixin, APITestCase):
     def setUp(self):
         super().setUp()
         self.test_user = User.objects.create_superuser(username="test")
+        self.test_user.first_name = "Test"
+        self.test_user.last_name = "User"
+        self.test_user.save()
         self.client.force_authenticate(user=self.test_user)
 
     def test_api_get_ui_settings(self):
         response = self.client.get(self.ENDPOINT, format="json")
         self.assertEqual(response.status_code, status.HTTP_200_OK)
+        self.assertDictEqual(
+            response.data["user"],
+            {
+                "id": self.test_user.id,
+                "username": self.test_user.username,
+                "is_superuser": True,
+                "groups": [],
+                "first_name": self.test_user.first_name,
+                "last_name": self.test_user.last_name,
+            },
+        )
         self.assertDictEqual(
             response.data["settings"],
             {
index db25e69344039da1edc7e4a4afe2bf866dae6a78..d60cf459d1ebe269b833e1bbfc7af4ac8348b346 100644 (file)
@@ -1028,16 +1028,23 @@ class UiSettingsView(GenericAPIView):
             ui_settings["update_checking"] = {
                 "backend_setting": settings.ENABLE_UPDATE_CHECK,
             }
+        user_resp = {
+            "id": user.id,
+            "username": user.username,
+            "is_superuser": user.is_superuser,
+            "groups": list(user.groups.values_list("id", flat=True)),
+        }
+
+        if len(user.first_name) > 0:
+            user_resp["first_name"] = user.first_name
+        if len(user.last_name) > 0:
+            user_resp["last_name"] = user.last_name
+
         # strip <app_label>.
         roles = map(lambda perm: re.sub(r"^\w+.", "", perm), user.get_all_permissions())
         return Response(
             {
-                "user": {
-                    "id": user.id,
-                    "username": user.username,
-                    "is_superuser": user.is_superuser,
-                    "groups": user.groups.values_list("id", flat=True),
-                },
+                "user": user_resp,
                 "settings": ui_settings,
                 "permissions": roles,
             },