Merge pull request #86 from KiwiTechLLC/sprint3

jira-34 allocated points
This commit is contained in:
dilipshrivastwa-kiwi
2023-07-19 15:04:41 +05:30
committed by GitHub
5 changed files with 35 additions and 30 deletions

View File

@ -433,11 +433,11 @@ class ProfileAPIViewSet(viewsets.ModelViewSet):
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
class UploadImageAPIViewSet(viewsets.ModelViewSet):
"""Profile viewset"""
"""upload task image"""
queryset = DefaultTaskImages.objects.all()
serializer_class = DefaultTaskImagesSerializer
def create(self, request, *args, **kwargs):
"""profile view"""
"""upload images"""
image_data = request.data['image_url']
filename = f"default_task_images/{image_data.name}"
if image_data.size == NUMBER['zero']:

View File

@ -324,8 +324,7 @@ class ApproveTaskSerializer(serializers.ModelSerializer):
# update total task point
junior_data.total_task_points = junior_data.total_task_points + instance.points
# update complete time of task
instance.completed_on = datetime.today()
junior_data.save()
instance.completed_on = real_time()
else:
# reject the task
instance.task_status = str(NUMBER['three'])
@ -333,8 +332,8 @@ class ApproveTaskSerializer(serializers.ModelSerializer):
# update total task point
junior_data.total_task_points = junior_data.total_task_points - instance.points
# update reject time of task
instance.rejected_on = datetime.today()
junior_data.save()
instance.rejected_on = real_time()
instance.save()
junior_data.save()
return instance

View File

@ -16,6 +16,7 @@ from base.constants import PENDING, IN_PROGRESS, REJECTED, REQUESTED, COMPLETED,
from guardian.models import Guardian, JuniorTask
from account.models import UserEmailOtp
from junior.utils import junior_notification_email, junior_approval_mail
from guardian.utils import real_time
class ListCharField(serializers.ListField):
@ -315,7 +316,7 @@ class CompleteTaskSerializer(serializers.ModelSerializer):
fields = ('id', 'image')
def update(self, instance, validated_data):
instance.image = validated_data.get('image', instance.image)
instance.requested_on = datetime.today()
instance.requested_on = real_time()
instance.task_status = str(NUMBER['four'])
instance.is_approved = False
instance.save()
@ -323,7 +324,7 @@ class CompleteTaskSerializer(serializers.ModelSerializer):
class JuniorPointsSerializer(serializers.ModelSerializer):
"""Junior points serializer"""
junior_id = serializers.SerializerMethodField('get_junior_id')
total_points = serializers.SerializerMethodField('get_points')
in_progress_task = serializers.SerializerMethodField('get_in_progress_task')
completed_task = serializers.SerializerMethodField('get_completed_task')
@ -332,6 +333,10 @@ class JuniorPointsSerializer(serializers.ModelSerializer):
pending_task = serializers.SerializerMethodField('get_pending_task')
position = serializers.SerializerMethodField('get_position')
def get_junior_id(self, obj):
"""junior id"""
return obj.junior.id
def get_position(self, obj):
data = JuniorPoints.objects.filter(junior=obj.junior).last()
if data:
@ -364,5 +369,5 @@ class JuniorPointsSerializer(serializers.ModelSerializer):
class Meta(object):
"""Meta info"""
model = Junior
fields = ['id', 'total_points', 'position', 'pending_task', 'in_progress_task', 'completed_task',
fields = ['junior_id', 'total_points', 'position', 'pending_task', 'in_progress_task', 'completed_task',
'requested_task', 'rejected_task']

View File

@ -232,25 +232,27 @@ class CompleteJuniorTaskAPIView(views.APIView):
permission_classes = [IsAuthenticated]
def put(self, request, format=None):
task_id = self.request.data.get('task_id')
image = request.data['image']
if image and image.size == NUMBER['zero']:
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
filename = f"images/{image.name}"
image_url = upload_image_to_alibaba(image, filename)
# fetch junior query
task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user).last()
if task_queryset:
# use RemoveJuniorSerializer serializer
serializer = CompleteTaskSerializer(task_queryset, data={'image': image_url}, partial=True)
if serializer.is_valid():
# save serializer
serializer.save()
return custom_response(SUCCESS_CODE['3032'], 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['2044'], response_status=status.HTTP_400_BAD_REQUEST)
try:
task_id = self.request.data.get('task_id')
image = request.data['image']
if image and image.size == NUMBER['zero']:
return custom_error_response(ERROR_CODE['2035'], response_status=status.HTTP_400_BAD_REQUEST)
filename = f"images/{image.name}"
image_url = upload_image_to_alibaba(image, filename)
# fetch junior query
task_queryset = JuniorTask.objects.filter(id=task_id, junior__auth__email=self.request.user).last()
if task_queryset:
# use RemoveJuniorSerializer serializer
serializer = CompleteTaskSerializer(task_queryset, data={'image': image_url}, partial=True)
if serializer.is_valid():
# save serializer
serializer.save()
return custom_response(SUCCESS_CODE['3032'], 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['2044'], response_status=status.HTTP_400_BAD_REQUEST)
except Exception as e:
return custom_error_response(str(e), response_status=status.HTTP_400_BAD_REQUEST)
class JuniorPointsListAPIView(viewsets.ModelViewSet):
"""Junior Points viewset"""

View File

@ -117,8 +117,7 @@ REST_FRAMEWORK = {
}
# define jwt token
SIMPLE_JWT = {
# 'ACCESS_TOKEN_LIFETIME': timedelta(hours=2, minutes=59, seconds=59, microseconds=999999),
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),
'ACCESS_TOKEN_LIFETIME': timedelta(hours=2, minutes=59, seconds=59, microseconds=999999),
'REFRESH_TOKEN_LIFETIME': timedelta(hours=71, minutes=59, seconds=59, microseconds=999999),
}
# Database