fix(user-management): pagination, duplicate profile creation, type fixes

This commit is contained in:
Andrej Spielmann
2026-03-26 17:03:38 +01:00
parent 9c8acfd30e
commit b3a005f3bf
3 changed files with 6 additions and 3 deletions
+2 -1
View File
@@ -88,7 +88,8 @@ class UserCreateSerializer(serializers.ModelSerializer):
def create(self, validated_data):
role = validated_data.pop('role', 'trainer')
user = User.objects.create_user(**validated_data)
UserProfile.objects.create(user=user, role=role)
user.profile.role = role
user.profile.save(update_fields=['role'])
return user
+2
View File
@@ -12,6 +12,7 @@ from .serializers import (
UserListSerializer, UserCreateSerializer, UserUpdateSerializer, PasswordChangeSerializer
)
from .permissions import HasUserManagementAccess
from wrestleDesk.pagination import StandardResultsSetPagination
class AuthRateThrottle(AnonRateThrottle):
@@ -106,6 +107,7 @@ def user_preferences(request):
class UserManagementViewSet(viewsets.ModelViewSet):
queryset = User.objects.all().select_related('profile')
permission_classes = [HasUserManagementAccess]
pagination_class = StandardResultsSetPagination
def get_serializer_class(self):
if self.action == 'create':
@@ -41,8 +41,8 @@ export default function UsersPage() {
const fetchUsers = async () => {
try {
const data = await apiFetch<IUser[]>('/auth/users/', { token: token! })
setUsers(data)
const data = await apiFetch<{ results: IUser[] }>('/auth/users/', { token: token! })
setUsers(data.results || [])
} catch {
toast.error('Fehler beim Laden der Benutzer')
} finally {