From 58bc941f11c63cea4b73becaf849014c8ee81cc4 Mon Sep 17 00:00:00 2001 From: Hironsan Date: Wed, 19 Jan 2022 15:25:59 +0900 Subject: [PATCH] Add username property to Member model --- backend/members/models.py | 4 ++++ backend/metrics/views.py | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/members/models.py b/backend/members/models.py index 2ce7c378..99ad5192 100644 --- a/backend/members/models.py +++ b/backend/members/models.py @@ -61,5 +61,9 @@ class Member(models.Model): message = 'This user is already assigned to a role in this project.' raise ValidationError(message) + @property + def username(self): + return self.user.username + class Meta: unique_together = ('user', 'project') diff --git a/backend/metrics/views.py b/backend/metrics/views.py index d6628e8b..6e231a31 100644 --- a/backend/metrics/views.py +++ b/backend/metrics/views.py @@ -7,6 +7,7 @@ from rest_framework.response import Response from rest_framework.views import APIView from api.models import Example, ExampleState, Project, Annotation, Label, Category, CategoryType, Span, SpanType +from members.models import Member from members.permissions import IsInProjectReadOnlyOrAdmin @@ -24,9 +25,9 @@ class MemberProgressAPI(APIView): permission_classes = [IsAuthenticated & IsInProjectReadOnlyOrAdmin] def get(self, request, *args, **kwargs): - project = get_object_or_404(Project, pk=self.kwargs['project_id']) examples = Example.objects.filter(project=self.kwargs['project_id']).values('id') - data = ExampleState.objects.measure_member_progress(examples, project.users.all()) + members = Member.objects.filter(project=self.kwargs['project_id']) + data = ExampleState.objects.measure_member_progress(examples, members) return Response(data=data, status=status.HTTP_200_OK)