handle scenerio for task after disassociate

This commit is contained in:
jain
2023-09-04 16:49:18 +05:30
parent 116fb00358
commit 9b14eedb18
6 changed files with 17 additions and 9 deletions

View File

@ -1,7 +1,7 @@
{% extends "templated_email/email_base.email" %} {% extends "templated_email/email_base.email" %}
{% block subject %} {% block subject %}
{{subject}} Support Mail
{% endblock %} {% endblock %}
{% block plain %} {% block plain %}

View File

@ -167,7 +167,7 @@ def user_device_details(user, device_id):
return False return False
def send_support_email(name, sender, subject, message): def send_support_email(name, sender, message):
"""Send otp on email with template""" """Send otp on email with template"""
to_email = [settings.EMAIL_FROM_ADDRESS] to_email = [settings.EMAIL_FROM_ADDRESS]
from_email = settings.DEFAULT_ADDRESS from_email = settings.DEFAULT_ADDRESS
@ -179,7 +179,6 @@ def send_support_email(name, sender, subject, message):
context={ context={
'name': name.title(), 'name': name.title(),
'sender': sender, 'sender': sender,
'subject': subject,
'message': message 'message': message
} }
) )

View File

@ -689,11 +689,10 @@ class SendSupportEmail(views.APIView):
def post(self, request): def post(self, request):
name = request.data.get('name') name = request.data.get('name')
sender = request.data.get('email') sender = request.data.get('email')
subject = request.data.get('subject')
message = request.data.get('message') message = request.data.get('message')
if name and sender and subject and message: if name and sender and message:
try: try:
send_support_email(name, sender, subject, message) send_support_email(name, sender, message)
return custom_response(SUCCESS_CODE['3019'], response_status=status.HTTP_200_OK) return custom_response(SUCCESS_CODE['3019'], response_status=status.HTTP_200_OK)
except Exception as e: except Exception as e:
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)

View File

@ -111,7 +111,10 @@ ERROR_CODE = {
"2080": "Can not add App version", "2080": "Can not add App version",
"2081": "A junior can only be associated with a maximum of 3 guardian", "2081": "A junior can only be associated with a maximum of 3 guardian",
# guardian code not exist # guardian code not exist
"2082": "Guardian code does not exist" "2082": "Guardian code does not exist",
"2083": "You can not start this task because guardian is not associate with you",
"2084": "You can not complete this task because guardian is not associate with you",
"2085": "You can not take action on this task because junior is not associate with you"
} }
"""Success message code""" """Success message code"""

View File

@ -357,6 +357,8 @@ class ApproveTaskAPIView(viewsets.ModelViewSet):
task_queryset = JuniorTask.objects.filter(id=self.request.data.get('task_id'), task_queryset = JuniorTask.objects.filter(id=self.request.data.get('task_id'),
guardian=guardian, guardian=guardian,
junior=self.request.data.get('junior_id')).last() junior=self.request.data.get('junior_id')).last()
if task_queryset and guardian.guardian_code not in task_queryset.junior.guardian_code:
return custom_error_response(ERROR_CODE['2084'], response_status=status.HTTP_400_BAD_REQUEST)
if task_queryset and (task_queryset.junior.is_deleted or not task_queryset.junior.is_active): if task_queryset and (task_queryset.junior.is_deleted or not task_queryset.junior.is_active):
return custom_error_response(ERROR_CODE['2072'], response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(ERROR_CODE['2072'], response_status=status.HTTP_400_BAD_REQUEST)
# use ApproveJuniorSerializer serializer # use ApproveJuniorSerializer serializer

View File

@ -409,10 +409,12 @@ class CompleteJuniorTaskAPIView(views.APIView):
task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user
).select_related('guardian', 'junior').last() ).select_related('guardian', 'junior').last()
if task_queryset: if task_queryset:
if task_queryset.junior.is_deleted or not task_queryset.junior.is_active: if task_queryset.guardian.guardian_code not in task_queryset.junior.guardian_code:
return custom_error_response(ERROR_CODE['2085'], response_status=status.HTTP_400_BAD_REQUEST)
elif task_queryset.junior.is_deleted or not task_queryset.junior.is_active:
return custom_error_response(ERROR_CODE['2074'], response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(ERROR_CODE['2074'], response_status=status.HTTP_400_BAD_REQUEST)
# use CompleteTaskSerializer serializer # use CompleteTaskSerializer serializer
if task_queryset.task_status in [str(NUMBER['four']), str(NUMBER['five'])]: elif task_queryset.task_status in [str(NUMBER['four']), str(NUMBER['five'])]:
"""Already request send """ """Already request send """
return custom_error_response(ERROR_CODE['2049'], response_status=status.HTTP_400_BAD_REQUEST) return custom_error_response(ERROR_CODE['2049'], response_status=status.HTTP_400_BAD_REQUEST)
serializer = CompleteTaskSerializer(task_queryset, data={'image': image_url}, partial=True) serializer = CompleteTaskSerializer(task_queryset, data={'image': image_url}, partial=True)
@ -517,7 +519,10 @@ class StartTaskAPIView(views.APIView):
try: try:
task_id = self.request.data.get('task_id') task_id = self.request.data.get('task_id')
task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user).last() task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user).last()
print("task_queryset==>",task_queryset)
if task_queryset and task_queryset.task_status == str(NUMBER['one']): if task_queryset and task_queryset.task_status == str(NUMBER['one']):
if task_queryset.guardian.guardian_code not in task_queryset.junior.guardian_code:
return custom_error_response(ERROR_CODE['2083'], response_status=status.HTTP_400_BAD_REQUEST)
# use StartTaskSerializer serializer # use StartTaskSerializer serializer
serializer = StartTaskSerializer(task_queryset, data=request.data, partial=True) serializer = StartTaskSerializer(task_queryset, data=request.data, partial=True)
if serializer.is_valid(): if serializer.is_valid():