|
15 | 15 | ListCreateAPIView, |
16 | 16 | RetrieveUpdateDestroyAPIView, |
17 | 17 | UpdateAPIView, |
| 18 | + RetrieveAPIView, |
18 | 19 | ) |
19 | 20 | from rest_framework.permissions import AllowAny, IsAuthenticated |
20 | 21 | from rest_framework.request import Request |
|
25 | 26 | from core.permissions import IsOwnerOrReadOnly |
26 | 27 | from events.models import Event |
27 | 28 | from events.serializers import EventsListSerializer |
| 29 | +from partner_programs.models import PartnerProgram |
| 30 | +from partner_programs.serializers import UserProgramsSerializer |
28 | 31 | from projects.serializers import ProjectListSerializer |
29 | 32 | from users.helpers import ( |
30 | 33 | reset_email, |
@@ -126,6 +129,20 @@ def patch(self, request, pk): |
126 | 129 | return super().patch(request, pk) |
127 | 130 |
|
128 | 131 |
|
| 132 | +class CurrentUserPrograms(RetrieveAPIView): |
| 133 | + queryset = PartnerProgram.objects.all() |
| 134 | + permission_classes = [IsAuthenticated] |
| 135 | + serializer_class = UserProgramsSerializer |
| 136 | + |
| 137 | + def get(self, request, *args, **kwargs): |
| 138 | + user = User.objects.get(id=request.user.id) |
| 139 | + programs = [ |
| 140 | + profile.partner_program for profile in user.partner_program_profiles.all() |
| 141 | + ] |
| 142 | + serializer = self.get_serializer(programs, many=True) |
| 143 | + return Response(serializer.data, status=status.HTTP_200_OK) |
| 144 | + |
| 145 | + |
129 | 146 | class CurrentUser(GenericAPIView): |
130 | 147 | queryset = User.objects.get_users_for_detail_view() |
131 | 148 | permission_classes = [IsAuthenticated] |
|
0 commit comments