mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-08-26 06:09:41 +00:00
list of guardian code status
This commit is contained in:
@ -402,9 +402,13 @@ class ApproveJuniorSerializer(serializers.ModelSerializer):
|
||||
def create(self, validated_data):
|
||||
"""update guardian code"""
|
||||
instance = self.context['junior']
|
||||
instance.guardian_code = [self.context['guardian_code']]
|
||||
instance.guardian_code_approved = True
|
||||
instance.guardian_code_status = str(NUMBER['two'])
|
||||
guardian_code = self.context['guardian_code']
|
||||
print("guardian_code==>", guardian_code, '==>', type(guardian_code))
|
||||
print("instance.guardian_code==>", instance.guardian_code, '==>',
|
||||
type(instance.guardian_code))
|
||||
index = instance.guardian_code.index(guardian_code)
|
||||
print("index==>", index, '==>', type(index))
|
||||
instance.guardian_code_status[index] = str(NUMBER['two'])
|
||||
instance.save()
|
||||
return instance
|
||||
|
||||
@ -512,4 +516,11 @@ class GuardianDetailListSerializer(serializers.ModelSerializer):
|
||||
|
||||
def get_guardian_code_status(self,obj):
|
||||
"""guardian code status"""
|
||||
return obj.junior.guardian_code_status
|
||||
print("obj.guardian.guardian_code===>",obj.guardian.guardian_code,'===>',type(obj.guardian.guardian_code))
|
||||
print("obj.junior.guardian_code===>", obj.junior.guardian_code, '===>', type(obj.junior.guardian_code))
|
||||
if obj.guardian.guardian_code in obj.junior.guardian_code:
|
||||
index = obj.junior.guardian_code.index(obj.guardian.guardian_code)
|
||||
print("index===>", index, '===>', type(index))
|
||||
data = obj.junior.guardian_code_status[index]
|
||||
print("data===>", data, '===>', type(data))
|
||||
return obj.junior.guardian_code_status
|
||||
|
@ -179,36 +179,42 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
|
||||
image = request.data['default_image']
|
||||
junior = request.data['junior']
|
||||
junior_id = Junior.objects.filter(id=junior).last()
|
||||
guardian_data = Guardian.objects.filter(user=request.user).last()
|
||||
if (guardian_data.guardian_code not in junior_id.guardian_code or
|
||||
junior_id.guardian_code_status in guardian_code_tuple):
|
||||
return custom_error_response(ERROR_CODE['2078'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
allowed_extensions = ['.jpg', '.jpeg', '.png']
|
||||
if not any(extension in str(image) for extension in allowed_extensions):
|
||||
return custom_error_response(ERROR_CODE['2048'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
if not junior.isnumeric():
|
||||
"""junior value must be integer"""
|
||||
return custom_error_response(ERROR_CODE['2047'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
data = request.data
|
||||
if 'https' in str(image):
|
||||
image_data = image
|
||||
else:
|
||||
filename = f"images/{image}"
|
||||
if image and image.size == NUMBER['zero']:
|
||||
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
image_url = upload_image_to_alibaba(image, filename)
|
||||
image_data = image_url
|
||||
data.pop('default_image')
|
||||
# use TaskSerializer serializer
|
||||
serializer = TaskSerializer(context={"user":request.user, "image":image_data}, data=data)
|
||||
if serializer.is_valid():
|
||||
# save serializer
|
||||
task = serializer.save()
|
||||
if junior_id:
|
||||
guardian_data = Guardian.objects.filter(user=request.user).last()
|
||||
index = junior_id.guardian_code.index(guardian_data.guardian_code)
|
||||
print("index===>", index, '===>', type(index))
|
||||
status_index = junior_id.guardian_code_status[index]
|
||||
print("status_index===>", status_index, '===>', type(status_index))
|
||||
if status_index == str(NUMBER['three']):
|
||||
return custom_error_response(ERROR_CODE['2078'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
allowed_extensions = ['.jpg', '.jpeg', '.png']
|
||||
if not any(extension in str(image) for extension in allowed_extensions):
|
||||
return custom_error_response(ERROR_CODE['2048'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
if not junior.isnumeric():
|
||||
"""junior value must be integer"""
|
||||
return custom_error_response(ERROR_CODE['2047'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
data = request.data
|
||||
if 'https' in str(image):
|
||||
image_data = image
|
||||
else:
|
||||
filename = f"images/{image}"
|
||||
if image and image.size == NUMBER['zero']:
|
||||
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
image_url = upload_image_to_alibaba(image, filename)
|
||||
image_data = image_url
|
||||
data.pop('default_image')
|
||||
# use TaskSerializer serializer
|
||||
serializer = TaskSerializer(context={"user":request.user, "image":image_data}, data=data)
|
||||
if serializer.is_valid():
|
||||
# save serializer
|
||||
task = serializer.save()
|
||||
|
||||
send_notification.delay(TASK_ASSIGNED, request.auth.payload['user_id'], GUARDIAN,
|
||||
junior_id.auth.id, {'task_id': task.id})
|
||||
return custom_response(SUCCESS_CODE['3018'], serializer.data, response_status=status.HTTP_200_OK)
|
||||
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
|
||||
send_notification.delay(TASK_ASSIGNED, request.auth.payload['user_id'], GUARDIAN,
|
||||
junior_id.auth.id, {'task_id': task.id})
|
||||
return custom_response(SUCCESS_CODE['3018'], serializer.data, response_status=status.HTTP_200_OK)
|
||||
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
|
||||
else:
|
||||
return custom_error_response(ERROR_CODE['2047'], response_status=status.HTTP_400_BAD_REQUEST)
|
||||
except Exception as e:
|
||||
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
@ -302,8 +308,20 @@ class ApproveJuniorAPIView(viewsets.ModelViewSet):
|
||||
junior_queryset.auth.id)
|
||||
return custom_response(SUCCESS_CODE['3023'], serializer.data, response_status=status.HTTP_200_OK)
|
||||
else:
|
||||
junior_queryset.guardian_code = None
|
||||
junior_queryset.guardian_code_status = str(NUMBER['one'])
|
||||
print("#############################################")
|
||||
if junior_queryset.guardian_code and ('-' in junior_queryset.guardian_code):
|
||||
print("777777777777777")
|
||||
junior_queryset.guardian_code.remove('-')
|
||||
if junior_queryset.guardian_code_status and ('-' in junior_queryset.guardian_code_status):
|
||||
print("666666666666666666666666")
|
||||
junior_queryset.guardian_code_status.remove('-')
|
||||
print("guardian.guardian_code==>", guardian.guardian_code, '==>', type(guardian.guardian_code))
|
||||
print("junior_queryset.guardian_code==>", junior_queryset.guardian_code, '==>', type(junior_queryset.guardian_code))
|
||||
index = junior_queryset.guardian_code.index(guardian.guardian_code)
|
||||
print("index==>", index, '==>', type(index))
|
||||
junior_queryset.guardian_code.remove(guardian.guardian_code)
|
||||
data = junior_queryset.guardian_code_status.pop(index)
|
||||
print("data==>", data, '==>', type(data))
|
||||
junior_queryset.save()
|
||||
send_notification.delay(ASSOCIATE_REJECTED, guardian.user.id, GUARDIAN, junior_queryset.auth.id)
|
||||
return custom_response(SUCCESS_CODE['3024'], response_status=status.HTTP_200_OK)
|
||||
|
Reference in New Issue
Block a user