mirror of
https://github.com/Dadechin/Dashboard-XRoom.git
synced 2025-07-04 09:14:34 +00:00
Compare commits
7 Commits
d8da0aa5c3
...
0c8cc5e4da
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0c8cc5e4da | ||
![]() |
36e0245817 | ||
![]() |
c0e8cfab8c | ||
![]() |
239b2c5a60 | ||
![]() |
dc7e84ccca | ||
![]() |
aa17f9dbdb | ||
![]() |
5dbf7314ca |
|
@ -1037,74 +1037,68 @@ def addSubscription(request):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@api_view(['POST'])
|
@api_view(['POST'])
|
||||||
@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 = request.data['mobile_number']
|
user.username = username
|
||||||
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'], # Ensure mobile number is provided
|
'mobile_number': request.data['mobile_number'],
|
||||||
'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
|
# Make a mutable copy of the request data for TeamMember
|
||||||
data = request.data.copy()
|
data = request.data.copy()
|
||||||
data['adminUser'] = request.user.id # Automatically assign the authenticated user as admin
|
data['adminUser'] = request.user.id # Automatically assign the authenticated user as admin
|
||||||
data['user'] = 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
|
# Pass the request object to the serializer context
|
||||||
serializer = TeamMemberSerializer(data=data, context={'request': request})
|
serializer = TeamMemberSerializer(data=data, context={'request': request})
|
||||||
|
|
||||||
if serializer.is_valid():
|
if serializer.is_valid():
|
||||||
# Save the team member using the validated data
|
# Save the team member and return success response
|
||||||
team_member = serializer.save() # This automatically saves the team member
|
team_member = serializer.save()
|
||||||
|
|
||||||
# Return the response with the team member data
|
|
||||||
return Response({
|
return Response({
|
||||||
"message": "Team member added successfully.",
|
"message": "Team member added successfully.",
|
||||||
"team_member": serializer.data # This gives you the serialized data of the saved team member
|
"team_member": serializer.data
|
||||||
}, status=status.HTTP_201_CREATED)
|
}, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# If validation fails, return the errors
|
|
||||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
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()
|
||||||
|
@ -1118,11 +1112,6 @@ def addTeamMember(request):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@api_view(['GET'])
|
@api_view(['GET'])
|
||||||
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
||||||
@permission_classes([IsAuthenticated])
|
@permission_classes([IsAuthenticated])
|
||||||
|
|
|
@ -91,7 +91,7 @@ Authorization: token d3f1b03996140c8f7561d67221953ff704b482cb
|
||||||
|
|
||||||
POST http://my.xroomapp.com:8000/add_teamMember
|
POST http://my.xroomapp.com:8000/add_teamMember
|
||||||
Content-Type: application/json
|
Content-Type: application/json
|
||||||
Authorization: token 8dcae0063521ca707a9d0ab6ce3d4794a90064ca
|
Authorization: token a6e1d5db61c4e8b2a0a4c0b623915e3b3a68df40
|
||||||
|
|
||||||
{ "mobile_number": "09140086608", "first_name":"mahdi", "last_name":"arabi", "semat":"modir", "password": "12345678", "isAdmin":"true" }
|
{ "mobile_number": "09140086608", "first_name":"mahdi", "last_name":"arabi", "semat":"modir", "password": "12345678", "isAdmin":"true" }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user