mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-11-27 09:04:54 +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))
|
code = ''.join(secrets.choice(alphabet) for _ in range(length))
|
||||||
return code
|
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",
|
"3019": "Support Email sent successfully",
|
||||||
"3020": "Logged out successfully.",
|
"3020": "Logged out successfully.",
|
||||||
"3021": "Add junior 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 = {
|
STATUS_CODE_ERROR = {
|
||||||
|
|||||||
@ -241,3 +241,19 @@ class GuardianProfileSerializer(serializers.ModelSerializer):
|
|||||||
'guardian_code', 'notification_count', 'total_count', 'complete_field_count', 'referral_code',
|
'guardian_code', 'notification_count', 'total_count', 'complete_field_count', 'referral_code',
|
||||||
'is_active', 'is_complete_profile', 'created_at', 'image', 'signup_method',
|
'is_active', 'is_complete_profile', 'created_at', 'image', 'signup_method',
|
||||||
'updated_at', 'passcode']
|
'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"""
|
"""Django import"""
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from .views import (SignupViewset, UpdateGuardianProfile, AllTaskListAPIView, CreateTaskAPIView, TaskListAPIView,
|
from .views import (SignupViewset, UpdateGuardianProfile, AllTaskListAPIView, CreateTaskAPIView, TaskListAPIView,
|
||||||
SearchTaskListAPIView, TopJuniorListAPIView)
|
SearchTaskListAPIView, TopJuniorListAPIView, ApproveJuniorAPIView)
|
||||||
"""Third party import"""
|
"""Third party import"""
|
||||||
from rest_framework import routers
|
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')
|
router.register('top-junior', TopJuniorListAPIView, basename='top-junior')
|
||||||
"""Search Task list on the bases of status, due date, and task title API"""
|
"""Search Task list on the bases of status, due date, and task title API"""
|
||||||
router.register('filter-task', SearchTaskListAPIView, basename='filter-task')
|
router.register('filter-task', SearchTaskListAPIView, basename='filter-task')
|
||||||
|
"""Approve junior API"""
|
||||||
|
router.register('approve-junior', ApproveJuniorAPIView, basename='approve-junior')
|
||||||
"""Define Url pattern"""
|
"""Define Url pattern"""
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('api/v1/', include(router.urls)),
|
path('api/v1/', include(router.urls)),
|
||||||
|
|||||||
@ -9,7 +9,7 @@ from PIL import Image
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
"""Import Django app"""
|
"""Import Django app"""
|
||||||
from .serializers import (UserSerializer, CreateGuardianSerializer, TaskSerializer, TaskDetailsSerializer,
|
from .serializers import (UserSerializer, CreateGuardianSerializer, TaskSerializer, TaskDetailsSerializer,
|
||||||
TopJuniorSerializer)
|
TopJuniorSerializer, ApproveJuniorSerializer)
|
||||||
from .models import Guardian, JuniorTask
|
from .models import Guardian, JuniorTask
|
||||||
from junior.models import Junior, JuniorPoints
|
from junior.models import Junior, JuniorPoints
|
||||||
from junior.serializers import JuniorDetailSerializer
|
from junior.serializers import JuniorDetailSerializer
|
||||||
@ -114,6 +114,7 @@ class CreateTaskAPIView(viewsets.ModelViewSet):
|
|||||||
def create(self, request, *args, **kwargs):
|
def create(self, request, *args, **kwargs):
|
||||||
image = request.data['default_image']
|
image = request.data['default_image']
|
||||||
data = request.data
|
data = request.data
|
||||||
|
print("data===>",data,'==>',type(data))
|
||||||
if 'https' in str(image):
|
if 'https' in str(image):
|
||||||
image_data = image
|
image_data = image
|
||||||
else:
|
else:
|
||||||
@ -178,3 +179,26 @@ class TopJuniorListAPIView(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 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