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'])
|
||||
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
||||
@permission_classes([IsAuthenticated])
|
||||
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
|
||||
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)
|
||||
|
||||
# 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
|
||||
user_serializer = UserSerializer(data=request.data)
|
||||
if user_serializer.is_valid():
|
||||
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.username = request.data['mobile_number']
|
||||
user.username = username
|
||||
user.first_name = request.data['first_name']
|
||||
user.last_name = request.data['last_name']
|
||||
|
||||
user.save()
|
||||
|
||||
|
||||
# Proceed with customer data creation
|
||||
customer_data = {
|
||||
'user': user.id,
|
||||
'mobile_number': request.data['mobile_number'], # Ensure mobile number is provided
|
||||
'semat': request.data['semat'],
|
||||
|
||||
'user': user.id,
|
||||
'mobile_number': request.data['mobile_number'],
|
||||
'semat': request.data['semat'],
|
||||
}
|
||||
|
||||
customer_serializer = CustomerSerializer(data=customer_data)
|
||||
if customer_serializer.is_valid():
|
||||
customer_serializer.save()
|
||||
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['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
|
||||
serializer = TeamMemberSerializer(data=data, context={'request': request})
|
||||
|
||||
if serializer.is_valid():
|
||||
# Save the team member using the validated data
|
||||
team_member = serializer.save() # This automatically saves the team member
|
||||
# Save the team member and return success response
|
||||
team_member = serializer.save()
|
||||
|
||||
# Return the response with the team member data
|
||||
return Response({
|
||||
"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)
|
||||
|
||||
else:
|
||||
# If validation fails, return the errors
|
||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
else:
|
||||
# If customer data is invalid, delete the created user
|
||||
user.delete()
|
||||
|
@ -1118,11 +1112,6 @@ def addTeamMember(request):
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
@authentication_classes([SessionAuthentication, TokenAuthentication])
|
||||
@permission_classes([IsAuthenticated])
|
||||
|
|
|
@ -91,7 +91,7 @@ Authorization: token d3f1b03996140c8f7561d67221953ff704b482cb
|
|||
|
||||
POST http://my.xroomapp.com:8000/add_teamMember
|
||||
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" }
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user