|
|
@ -2,7 +2,7 @@ from django.shortcuts import get_object_or_404 |
|
|
|
from rest_framework import generics |
|
|
|
from rest_framework.permissions import IsAuthenticated |
|
|
|
|
|
|
|
from ..models import Example, ExampleState, Project |
|
|
|
from ..models import Example, ExampleState, Project, RoleMapping |
|
|
|
from ..permissions import IsInProjectOrAdmin |
|
|
|
from ..serializers import ExampleStateSerializer |
|
|
|
|
|
|
@ -20,6 +20,9 @@ class ExampleStateList(generics.ListCreateAPIView): |
|
|
|
queryset = ExampleState.objects.filter(example=self.kwargs['example_id']) |
|
|
|
if self.can_confirm_per_user: |
|
|
|
queryset = queryset.filter(confirmed_by=self.request.user) |
|
|
|
current_user_role = RoleMapping.objects.get(user_id=self.request.user.id, project_id=self.kwargs['project_id']).role |
|
|
|
ids = [q.id for q in queryset if q.confirmed_user_role == current_user_role] |
|
|
|
queryset = queryset.filter(id__in=ids) |
|
|
|
return queryset |
|
|
|
|
|
|
|
def perform_create(self, serializer): |
|
|
|