mirror of
https://github.com/Dadechin/Dashboard-XRoom.git
synced 2025-07-03 08:44:34 +00:00
add member
This commit is contained in:
parent
c0e8cfab8c
commit
36e0245817
|
@ -1042,63 +1042,37 @@ def addSubscription(request):
|
||||||
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
||||||
@permission_classes([IsAuthenticated])
|
@permission_classes([IsAuthenticated])
|
||||||
def addTeamMember(request):
|
def addTeamMember(request):
|
||||||
# Print the incoming data for debugging purposes
|
|
||||||
print("Received data:", request.data)
|
|
||||||
|
|
||||||
# Ensure mobile number is provided and not empty
|
|
||||||
if 'mobile_number' not in request.data or not request.data['mobile_number'].strip():
|
|
||||||
return Response({'mobile_number': ['This field is required and cannot be empty.']}, status=status.HTTP_400_BAD_REQUEST)
|
|
||||||
|
|
||||||
# Check if username already exists
|
# Check if username already exists
|
||||||
if User.objects.filter(username=request.data['mobile_number']).exists():
|
if User.objects.filter(username=request.data['mobile_number']).exists():
|
||||||
return Response({'username': ['A user with that username already exists.']}, status=status.HTTP_400_BAD_REQUEST)
|
return Response({'username': ['A user with that username already exists.']}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
# Ensure mobile number is provided
|
||||||
|
if 'mobile_number' not in request.data:
|
||||||
|
return Response({'mobile_number': ['This field is required.']}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
|
||||||
# Proceed with user creation
|
# Proceed with user creation
|
||||||
user_serializer = UserSerializer(data=request.data)
|
user_serializer = UserSerializer(data=request.data)
|
||||||
if user_serializer.is_valid():
|
if user_serializer.is_valid():
|
||||||
user = user_serializer.save()
|
user = user_serializer.save()
|
||||||
|
|
||||||
# Ensure the mobile_number is set as the username
|
|
||||||
username = request.data['mobile_number']
|
|
||||||
if not username.strip(): # Ensure the username is not empty
|
|
||||||
return Response({'username': ['Username cannot be empty.']}, status=status.HTTP_400_BAD_REQUEST)
|
|
||||||
|
|
||||||
user.set_password(request.data['password'])
|
user.set_password(request.data['password'])
|
||||||
user.username = username
|
user.username = request.data['mobile_number']
|
||||||
user.first_name = request.data['first_name']
|
user.first_name = request.data['first_name']
|
||||||
user.last_name = request.data['last_name']
|
user.last_name = request.data['last_name']
|
||||||
|
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
# Proceed with customer data creation
|
|
||||||
customer_data = {
|
customer_data = {
|
||||||
'user': user.id,
|
'user': user.id,
|
||||||
'mobile_number': request.data['mobile_number'],
|
'mobile_number': request.data['mobile_number'], # Ensure mobile number is provided
|
||||||
'semat': request.data['semat'],
|
'semat': request.data['semat'],
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
customer_serializer = CustomerSerializer(data=customer_data)
|
customer_serializer = CustomerSerializer(data=customer_data)
|
||||||
if customer_serializer.is_valid():
|
if customer_serializer.is_valid():
|
||||||
customer_serializer.save()
|
customer_serializer.save()
|
||||||
token = Token.objects.create(user=user)
|
token = Token.objects.create(user=user)
|
||||||
|
return Response({'token': token.key, 'customer': customer_serializer.data, 'user': user_serializer.data}, status=status.HTTP_201_CREATED)
|
||||||
# Make a mutable copy of the request data for TeamMember
|
|
||||||
data = request.data.copy()
|
|
||||||
data['adminUser'] = request.user.id # Automatically assign the authenticated user as admin
|
|
||||||
data['user'] = user.id # Automatically assign the user as team member
|
|
||||||
|
|
||||||
# Pass the request object to the serializer context
|
|
||||||
serializer = TeamMemberSerializer(data=data, context={'request': request})
|
|
||||||
|
|
||||||
if serializer.is_valid():
|
|
||||||
# Save the team member and return success response
|
|
||||||
team_member = serializer.save()
|
|
||||||
|
|
||||||
return Response({
|
|
||||||
"message": "Team member added successfully.",
|
|
||||||
"team_member": serializer.data
|
|
||||||
}, status=status.HTTP_201_CREATED)
|
|
||||||
else:
|
|
||||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
|
||||||
else:
|
else:
|
||||||
# If customer data is invalid, delete the created user
|
# If customer data is invalid, delete the created user
|
||||||
user.delete()
|
user.delete()
|
||||||
|
@ -1110,8 +1084,6 @@ def addTeamMember(request):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@api_view(['GET'])
|
@api_view(['GET'])
|
||||||
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
||||||
@permission_classes([IsAuthenticated])
|
@permission_classes([IsAuthenticated])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user