Skip to content

Commit

Permalink
Merge pull request #113 from AI4Bharat/next_fix_multiple_anno
Browse files Browse the repository at this point in the history
final changes
  • Loading branch information
aparna-aa authored Nov 6, 2024
2 parents cc24024 + 2e9ca64 commit 2f1f876
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 4 deletions.
30 changes: 28 additions & 2 deletions backend/projects/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1547,10 +1547,36 @@ def next(self, request, pk):
task_ids = [an.task_id for an in ann_filter1]

queryset = Task.objects.filter(id__in=task_ids).order_by("id")

if current_task_id != None:
required_annotators_per_task = project.required_annotators_per_task
next_anno = ""
if required_annotators_per_task > 1:
try:
curr_anno_id = int(request.data.get("current_annotation_id"))
except Exception as e:
ret_dict = {"message": "Please send the current_annotation_id"}
ret_status = status.HTTP_400_BAD_REQUEST
return Response(ret_dict, status=ret_status)
for task in queryset:
curr_task_anno = ann_filter1.filter(task=task).order_by("id")
ann_ids = [an.id for an in curr_task_anno]
if curr_anno_id != ann_ids[-1]:
for i, c in enumerate(ann_ids):
if c == curr_anno_id:
next_anno = ann_ids[i + 1]
if next_anno:
queryset = queryset.filter(id=current_task_id)
elif current_task_id != None:
queryset = queryset.filter(id__gt=current_task_id)
for task in queryset:
if next_anno:
task_dict = TaskSerializer(task, many=False).data
task_dict["correct_annotation"] = next_anno
return Response(task_dict)
elif required_annotators_per_task > 1:
next_anno = ann_filter1.filter(task=task).order_by("id")
task_dict = TaskSerializer(task, many=False).data
task_dict["correct_annotation"] = next_anno[0].id
return Response(task_dict)
task_dict = TaskSerializer(task, many=False).data
return Response(task_dict)
ret_dict = {"message": "No more tasks available!"}
Expand Down
6 changes: 4 additions & 2 deletions backend/tasks/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -403,7 +403,7 @@ def list(self, request, *args, **kwargs):
a
for a in Annotation.objects.filter(
task_id=tas["id"]
)
).order_by("id")
if a.annotation_type == REVIEWER_ANNOTATION
]
if len(review_ann) > 1:
Expand Down Expand Up @@ -562,7 +562,9 @@ def list(self, request, *args, **kwargs):
if required_annotators_per_task > 1:
review_ann = [
a
for a in Annotation.objects.filter(task_id=tas["id"])
for a in Annotation.objects.filter(
task_id=tas["id"]
).order_by("id")
if a.annotation_type == REVIEWER_ANNOTATION
]
if len(review_ann) > 1:
Expand Down

0 comments on commit 2f1f876

Please sign in to comment.