mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-16 10:26:16 +00:00
Merge pull request #86 from KiwiTechLLC/sprint3
jira-34 allocated points
This commit is contained in:
@ -433,11 +433,11 @@ class ProfileAPIViewSet(viewsets.ModelViewSet):
|
|||||||
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
|
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
|
||||||
|
|
||||||
class UploadImageAPIViewSet(viewsets.ModelViewSet):
|
class UploadImageAPIViewSet(viewsets.ModelViewSet):
|
||||||
"""Profile viewset"""
|
"""upload task image"""
|
||||||
queryset = DefaultTaskImages.objects.all()
|
queryset = DefaultTaskImages.objects.all()
|
||||||
serializer_class = DefaultTaskImagesSerializer
|
serializer_class = DefaultTaskImagesSerializer
|
||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
"""profile view"""
|
"""upload images"""
|
||||||
image_data = request.data['image_url']
|
image_data = request.data['image_url']
|
||||||
filename = f"default_task_images/{image_data.name}"
|
filename = f"default_task_images/{image_data.name}"
|
||||||
if image_data.size == NUMBER['zero']:
|
if image_data.size == NUMBER['zero']:
|
||||||
|
@ -324,8 +324,7 @@ class ApproveTaskSerializer(serializers.ModelSerializer):
|
|||||||
# update total task point
|
# update total task point
|
||||||
junior_data.total_task_points = junior_data.total_task_points + instance.points
|
junior_data.total_task_points = junior_data.total_task_points + instance.points
|
||||||
# update complete time of task
|
# update complete time of task
|
||||||
instance.completed_on = datetime.today()
|
instance.completed_on = real_time()
|
||||||
junior_data.save()
|
|
||||||
else:
|
else:
|
||||||
# reject the task
|
# reject the task
|
||||||
instance.task_status = str(NUMBER['three'])
|
instance.task_status = str(NUMBER['three'])
|
||||||
@ -333,8 +332,8 @@ class ApproveTaskSerializer(serializers.ModelSerializer):
|
|||||||
# update total task point
|
# update total task point
|
||||||
junior_data.total_task_points = junior_data.total_task_points - instance.points
|
junior_data.total_task_points = junior_data.total_task_points - instance.points
|
||||||
# update reject time of task
|
# update reject time of task
|
||||||
instance.rejected_on = datetime.today()
|
instance.rejected_on = real_time()
|
||||||
junior_data.save()
|
|
||||||
instance.save()
|
instance.save()
|
||||||
|
junior_data.save()
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@ from base.constants import PENDING, IN_PROGRESS, REJECTED, REQUESTED, COMPLETED,
|
|||||||
from guardian.models import Guardian, JuniorTask
|
from guardian.models import Guardian, JuniorTask
|
||||||
from account.models import UserEmailOtp
|
from account.models import UserEmailOtp
|
||||||
from junior.utils import junior_notification_email, junior_approval_mail
|
from junior.utils import junior_notification_email, junior_approval_mail
|
||||||
|
from guardian.utils import real_time
|
||||||
|
|
||||||
|
|
||||||
class ListCharField(serializers.ListField):
|
class ListCharField(serializers.ListField):
|
||||||
@ -315,7 +316,7 @@ class CompleteTaskSerializer(serializers.ModelSerializer):
|
|||||||
fields = ('id', 'image')
|
fields = ('id', 'image')
|
||||||
def update(self, instance, validated_data):
|
def update(self, instance, validated_data):
|
||||||
instance.image = validated_data.get('image', instance.image)
|
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.task_status = str(NUMBER['four'])
|
||||||
instance.is_approved = False
|
instance.is_approved = False
|
||||||
instance.save()
|
instance.save()
|
||||||
@ -323,7 +324,7 @@ class CompleteTaskSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class JuniorPointsSerializer(serializers.ModelSerializer):
|
class JuniorPointsSerializer(serializers.ModelSerializer):
|
||||||
"""Junior points serializer"""
|
"""Junior points serializer"""
|
||||||
|
junior_id = serializers.SerializerMethodField('get_junior_id')
|
||||||
total_points = serializers.SerializerMethodField('get_points')
|
total_points = serializers.SerializerMethodField('get_points')
|
||||||
in_progress_task = serializers.SerializerMethodField('get_in_progress_task')
|
in_progress_task = serializers.SerializerMethodField('get_in_progress_task')
|
||||||
completed_task = serializers.SerializerMethodField('get_completed_task')
|
completed_task = serializers.SerializerMethodField('get_completed_task')
|
||||||
@ -332,6 +333,10 @@ class JuniorPointsSerializer(serializers.ModelSerializer):
|
|||||||
pending_task = serializers.SerializerMethodField('get_pending_task')
|
pending_task = serializers.SerializerMethodField('get_pending_task')
|
||||||
position = serializers.SerializerMethodField('get_position')
|
position = serializers.SerializerMethodField('get_position')
|
||||||
|
|
||||||
|
def get_junior_id(self, obj):
|
||||||
|
"""junior id"""
|
||||||
|
return obj.junior.id
|
||||||
|
|
||||||
def get_position(self, obj):
|
def get_position(self, obj):
|
||||||
data = JuniorPoints.objects.filter(junior=obj.junior).last()
|
data = JuniorPoints.objects.filter(junior=obj.junior).last()
|
||||||
if data:
|
if data:
|
||||||
@ -364,5 +369,5 @@ class JuniorPointsSerializer(serializers.ModelSerializer):
|
|||||||
class Meta(object):
|
class Meta(object):
|
||||||
"""Meta info"""
|
"""Meta info"""
|
||||||
model = Junior
|
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']
|
'requested_task', 'rejected_task']
|
||||||
|
@ -232,6 +232,7 @@ class CompleteJuniorTaskAPIView(views.APIView):
|
|||||||
permission_classes = [IsAuthenticated]
|
permission_classes = [IsAuthenticated]
|
||||||
|
|
||||||
def put(self, request, format=None):
|
def put(self, request, format=None):
|
||||||
|
try:
|
||||||
task_id = self.request.data.get('task_id')
|
task_id = self.request.data.get('task_id')
|
||||||
image = request.data['image']
|
image = request.data['image']
|
||||||
if image and image.size == NUMBER['zero']:
|
if image and image.size == NUMBER['zero']:
|
||||||
@ -250,7 +251,8 @@ class CompleteJuniorTaskAPIView(views.APIView):
|
|||||||
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
|
return custom_error_response(serializer.errors, response_status=status.HTTP_400_BAD_REQUEST)
|
||||||
else:
|
else:
|
||||||
return custom_error_response(ERROR_CODE['2044'], response_status=status.HTTP_400_BAD_REQUEST)
|
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):
|
class JuniorPointsListAPIView(viewsets.ModelViewSet):
|
||||||
"""Junior Points viewset"""
|
"""Junior Points viewset"""
|
||||||
|
@ -117,8 +117,7 @@ REST_FRAMEWORK = {
|
|||||||
}
|
}
|
||||||
# define jwt token
|
# define jwt token
|
||||||
SIMPLE_JWT = {
|
SIMPLE_JWT = {
|
||||||
# 'ACCESS_TOKEN_LIFETIME': timedelta(hours=2, minutes=59, seconds=59, microseconds=999999),
|
'ACCESS_TOKEN_LIFETIME': timedelta(hours=2, minutes=59, seconds=59, microseconds=999999),
|
||||||
'ACCESS_TOKEN_LIFETIME': timedelta(minutes=5),
|
|
||||||
'REFRESH_TOKEN_LIFETIME': timedelta(hours=71, minutes=59, seconds=59, microseconds=999999),
|
'REFRESH_TOKEN_LIFETIME': timedelta(hours=71, minutes=59, seconds=59, microseconds=999999),
|
||||||
}
|
}
|
||||||
# Database
|
# Database
|
||||||
|
Reference in New Issue
Block a user