jira-18 approval API

This commit is contained in:
jain
2023-07-13 19:24:33 +05:30
parent 52a0f4b590
commit 5d528b885a
5 changed files with 53 additions and 3 deletions

View File

@ -187,3 +187,9 @@ def generate_alphanumeric_code(length):
code = ''.join(secrets.choice(alphabet) for _ in range(length))
return code
def generate_code(value, user_id):
alphabet = value + user_id.zfill(3)
return alphabet

View File

@ -93,7 +93,9 @@ SUCCESS_CODE = {
"3019": "Support Email sent successfully",
"3020": "Logged out successfully.",
"3021": "Add junior successfully",
"3022": "Remove junior successfully"
"3022": "Remove junior successfully",
"3023": "Approved junior successfully",
"3024": "Reject junior request successfully"
}
STATUS_CODE_ERROR = {

View File

@ -241,3 +241,19 @@ class GuardianProfileSerializer(serializers.ModelSerializer):
'guardian_code', 'notification_count', 'total_count', 'complete_field_count', 'referral_code',
'is_active', 'is_complete_profile', 'created_at', 'image', 'signup_method',
'updated_at', 'passcode']
class ApproveJuniorSerializer(serializers.ModelSerializer):
"""approve junior serializer"""
class Meta(object):
"""Meta info"""
model = Junior
fields = ['id', 'guardian_code']
def create(self, validated_data):
"""update guardian code"""
instance = self.context['junior']
instance.guardian_code = [self.context['guardian_code']]
instance.save()
return instance

View File

@ -2,7 +2,7 @@
"""Django import"""
from django.urls import path, include
from .views import (SignupViewset, UpdateGuardianProfile, AllTaskListAPIView, CreateTaskAPIView, TaskListAPIView,
SearchTaskListAPIView, TopJuniorListAPIView)
SearchTaskListAPIView, TopJuniorListAPIView, ApproveJuniorAPIView)
"""Third party import"""
from rest_framework import routers
@ -24,6 +24,8 @@ router.register('task-list', TaskListAPIView, basename='task-list')
router.register('top-junior', TopJuniorListAPIView, basename='top-junior')
"""Search Task list on the bases of status, due date, and task title API"""
router.register('filter-task', SearchTaskListAPIView, basename='filter-task')
"""Approve junior API"""
router.register('approve-junior', ApproveJuniorAPIView, basename='approve-junior')
"""Define Url pattern"""
urlpatterns = [
path('api/v1/', include(router.urls)),

View File

@ -9,7 +9,7 @@ from PIL import Image
from datetime import datetime, timedelta
"""Import Django app"""
from .serializers import (UserSerializer, CreateGuardianSerializer, TaskSerializer, TaskDetailsSerializer,
TopJuniorSerializer)
TopJuniorSerializer, ApproveJuniorSerializer)
from .models import Guardian, JuniorTask
from junior.models import Junior, JuniorPoints
from junior.serializers import JuniorDetailSerializer
@ -114,6 +114,7 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
def create(self, request, *args, **kwargs):
image = request.data['default_image']
data = request.data
print("data===>",data,'==>',type(data))
if 'https' in str(image):
image_data = image
else:
@ -178,3 +179,26 @@ class TopJuniorListAPIView(viewsets.ModelViewSet):
return custom_response(None, serializer.data, response_status=status.HTTP_200_OK)
class ApproveJuniorAPIView(viewsets.ViewSet):
"""approve junior by guardian"""
serializer_class = ApproveJuniorSerializer
permission_classes = [IsAuthenticated]
def get_queryset(self):
"""Get the queryset for the view"""
guardian = Guardian.objects.filter(user__email=self.request.user).last()
junior_queryset = Junior.objects.filter(id=self.request.data.get('junior_id')).last()
return guardian, junior_queryset
def create(self, request, *args, **kwargs):
""" junior list"""
queryset = self.get_queryset()
if request.data['action'] == '1':
serializer = ApproveJuniorSerializer(context={"guardian_code": queryset[0].guardian_code,
"junior": queryset[1], "action": request.data['action']},
data=request.data)
if serializer.is_valid():
serializer.save()
return custom_response(SUCCESS_CODE['3023'], serializer.data, response_status=status.HTTP_200_OK)
else:
return custom_response(SUCCESS_CODE['3024'], response_status=status.HTTP_200_OK)