mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-11-26 16:44:54 +00:00
jira-15 top leadership API
This commit is contained in:
@ -183,10 +183,16 @@ class TaskDetailsSerializer(serializers.ModelSerializer):
|
||||
|
||||
class TopJuniorSerializer(serializers.ModelSerializer):
|
||||
junior = JuniorDetailSerializer()
|
||||
position = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = JuniorPoints
|
||||
fields = ['id', 'junior', 'total_task_points', 'created_at', 'updated_at']
|
||||
fields = ['id', 'junior', 'total_task_points', 'position', 'created_at', 'updated_at']
|
||||
|
||||
def get_position(self, obj):
|
||||
queryset = self.context['view'].get_queryset()
|
||||
position = list(queryset).index(obj) + 1
|
||||
return position
|
||||
|
||||
|
||||
class GuardianProfileSerializer(serializers.ModelSerializer):
|
||||
|
||||
@ -143,11 +143,18 @@ class SearchTaskListAPIView(viewsets.ModelViewSet):
|
||||
class TopJuniorListAPIView(viewsets.ModelViewSet):
|
||||
"""Top juniors list"""
|
||||
serializer_class = TopJuniorSerializer
|
||||
permission_classes = [IsAuthenticated]
|
||||
# permission_classes = [IsAuthenticated]
|
||||
queryset = JuniorPoints.objects.all()
|
||||
|
||||
def get_serializer_context(self):
|
||||
context = super().get_serializer_context()
|
||||
context.update({'view': self})
|
||||
return context
|
||||
|
||||
def list(self, request, *args, **kwargs):
|
||||
"""fetch junior list those complete their task"""
|
||||
junior_total_points = self.get_queryset().order_by('-total_task_points')
|
||||
serializer = self.get_serializer(junior_total_points, many=True)
|
||||
return custom_response(serializer.data, response_status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user