From f156e2bb4d0c2ad5a906c45a86ba53a3a7ea2e9e Mon Sep 17 00:00:00 2001 From: gzbender Date: Fri, 5 Oct 2018 16:04:53 +0500 Subject: [PATCH] LIL-686 --- api/v1/urls.py | 4 +++- api/v1/views.py | 10 +++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/api/v1/urls.py b/api/v1/urls.py index f4e57664..69a56e18 100644 --- a/api/v1/urls.py +++ b/api/v1/urls.py @@ -18,7 +18,8 @@ from .views import ( UserViewSet, LessonViewSet, ImageObjectViewSet, SchoolScheduleViewSet, LiveLessonViewSet, PaymentViewSet, ObjectCommentsViewSet, - ContestViewSet, ContestWorkViewSet) + ContestViewSet, ContestWorkViewSet, + AuthorBalanceUsersViewSet) router = DefaultRouter() router.register(r'author-requests', AuthorRequestViewSet, base_name='author-requests') @@ -63,6 +64,7 @@ schema_view = get_schema_view( ) urlpatterns = [ + path('author-balance-users/', AuthorBalanceUsersViewSet.as_view(), name='author-balance-users'), path('api-token-auth/', ObtainToken.as_view(), name='api-token-auth'), path('temp-auth-token/', ObtainTempToken.as_view(), name='temp-auth-token'), path('configs/', ConfigViewSet.as_view(), name='configs'), diff --git a/api/v1/views.py b/api/v1/views.py index df0d180c..b942720c 100644 --- a/api/v1/views.py +++ b/api/v1/views.py @@ -78,7 +78,7 @@ User = get_user_model() class AuthorBalanceViewSet(ExtendedModelViewSet): queryset = AuthorBalance.objects.filter( Q(type=1) | Q(payment__status__in=Payment.PW_PAID_STATUSES), - author__role__in=[User.AUTHOR_ROLE, User.ADMIN_ROLE, User.TEACHER_ROLE], + # author__role__in=[User.AUTHOR_ROLE, User.ADMIN_ROLE, User.TEACHER_ROLE], ) serializer_class = AuthorBalanceCreateSerializer serializer_class_map = { @@ -121,6 +121,14 @@ class AuthorBalanceViewSet(ExtendedModelViewSet): return Response(status=status.HTTP_200_OK) +class AuthorBalanceUsersViewSet(views.APIView): + + def get(self, request): + users = AuthorBalance.objects.filter(amount__gt=0).values_list('author', flat=True) + users = User.objects.filter(id__in=users, is_active=True).order_by('first_name', 'last_name') + return Response(UserSerializer(users, many=True).data) + + class BanerViewSet(ExtendedModelViewSet): queryset = Baner.objects.all() serializer_class = BanerSerializer