Skip to content

Commit 619c364

Browse files
authored
Merge pull request #173 from PROCOLLAB-github/feature/partner-programs
Feature/partner programs
2 parents 754d107 + a0ed16d commit 619c364

3 files changed

Lines changed: 25 additions & 2 deletions

File tree

partner_programs/views.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ def post(self, request, *args, **kwargs):
9696
except PartnerProgram.DoesNotExist:
9797
return Response(status=status.HTTP_404_NOT_FOUND)
9898

99+
def get(self, request, *args, **kwargs):
100+
return Response(status=status.HTTP_200_OK)
101+
99102

100103
class PartnerProgramRegister(generics.GenericAPIView):
101104
"""

users/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
SetUserOnboardingStage,
2020
ResendVerifyEmail,
2121
CurrentUserPrograms,
22+
CurrentUserProgramsTags,
2223
)
2324

2425
app_name = "users"
@@ -37,6 +38,7 @@
3738
path("users/reset-password/", EmailResetPassword.as_view()),
3839
path("users/current/", CurrentUser.as_view()),
3940
path("users/current/programs/", CurrentUserPrograms.as_view()),
41+
path("users/current/programs/tags/", CurrentUserProgramsTags.as_view()),
4042
path("users/current/events/", RegisteredEventsList.as_view()),
4143
path("users/achievements/", AchievementList.as_view()),
4244
path("users/achievements/<int:pk>/", AchievementDetail.as_view()),

users/views.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@
2727
from events.models import Event
2828
from events.serializers import EventsListSerializer
2929
from partner_programs.models import PartnerProgram
30-
from partner_programs.serializers import UserProgramsSerializer
30+
from partner_programs.serializers import (
31+
UserProgramsSerializer,
32+
PartnerProgramListSerializer,
33+
)
3134
from projects.serializers import ProjectListSerializer
3235
from users.helpers import (
3336
reset_email,
@@ -129,7 +132,7 @@ def patch(self, request, pk):
129132
return super().patch(request, pk)
130133

131134

132-
class CurrentUserPrograms(RetrieveAPIView):
135+
class CurrentUserProgramsTags(RetrieveAPIView):
133136
queryset = PartnerProgram.objects.all()
134137
permission_classes = [IsAuthenticated]
135138
serializer_class = UserProgramsSerializer
@@ -144,6 +147,21 @@ def get(self, request, *args, **kwargs):
144147
return Response(serializer.data, status=status.HTTP_200_OK)
145148

146149

150+
class CurrentUserPrograms(RetrieveAPIView):
151+
queryset = PartnerProgram.objects.all()
152+
permission_classes = [IsAuthenticated]
153+
serializer_class = PartnerProgramListSerializer
154+
155+
def get(self, request, *args, **kwargs):
156+
user = User.objects.get(id=request.user.id)
157+
# fixme: mb hide finished programs
158+
programs = [
159+
profile.partner_program for profile in user.partner_program_profiles.all()
160+
]
161+
serializer = self.get_serializer(programs, many=True)
162+
return Response(serializer.data, status=status.HTTP_200_OK)
163+
164+
147165
class CurrentUser(GenericAPIView):
148166
queryset = User.objects.get_users_for_detail_view()
149167
permission_classes = [IsAuthenticated]

0 commit comments

Comments
 (0)