mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-16 18:36:18 +00:00
jira-18 approval API
This commit is contained in:
@ -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
|
||||
|
||||
|
||||
|
@ -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 = {
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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)),
|
||||
|
@ -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)
|
||||
|
Reference in New Issue
Block a user