Skip to content

Commit af0a15c

Browse files
committed
logs retention fix, convert to correct with generics functions view
1 parent af712f2 commit af0a15c

1 file changed

Lines changed: 17 additions & 20 deletions

File tree

partner_programs/views.py

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from rest_framework.permissions import AllowAny, IsAuthenticated
66
from rest_framework.response import Response
77

8-
from core.serializers import SetLikedSerializer
8+
from core.serializers import SetLikedSerializer, SetViewedSerializer
99
from core.services import add_view, set_like
1010
from partner_programs.helpers import date_to_iso
1111
from partner_programs.models import PartnerProgram, PartnerProgramUserProfile
@@ -28,26 +28,21 @@ class PartnerProgramList(generics.ListCreateAPIView):
2828
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
2929
pagination_class = PartnerProgramPagination
3030

31-
def get(self, request, *args, **kwargs):
32-
programs = self.paginate_queryset(self.get_queryset())
33-
context = {"user": request.user}
34-
serializer = PartnerProgramListSerializer(programs, context=context, many=True)
35-
return self.get_paginated_response(serializer.data)
36-
3731

3832
class PartnerProgramDetail(generics.RetrieveAPIView):
3933
queryset = PartnerProgram.objects.all()
4034
permission_classes = [permissions.IsAuthenticatedOrReadOnly]
35+
serializer_class = PartnerProgramForUnregisteredUserSerializer
4136

4237
def get(self, request, *args, **kwargs):
4338
try:
44-
program = PartnerProgram.objects.get(pk=kwargs["pk"])
45-
# fixme
39+
program = self.get_object()
4640
is_user_member = program.users.filter(pk=request.user.pk).exists()
47-
if is_user_member:
48-
serializer_class = PartnerProgramForMemberSerializer
49-
else:
50-
serializer_class = PartnerProgramForUnregisteredUserSerializer
41+
serializer_class = (
42+
PartnerProgramForMemberSerializer
43+
if is_user_member
44+
else PartnerProgramForUnregisteredUserSerializer
45+
)
5146
data = serializer_class(program).data
5247
data["is_user_member"] = is_user_member
5348
if request.user.is_authenticated:
@@ -65,6 +60,7 @@ class PartnerProgramCreateUserAndRegister(generics.GenericAPIView):
6560

6661
permission_classes = [AllowAny]
6762
serializer_class = PartnerProgramNewUserSerializer
63+
queryset = PartnerProgram.objects.none()
6864

6965
def post(self, request, *args, **kwargs):
7066
data = request.data
@@ -73,7 +69,7 @@ def post(self, request, *args, **kwargs):
7369
return Response(status=status.HTTP_200_OK)
7470

7571
try:
76-
program = PartnerProgram.objects.get(pk=kwargs["pk"])
72+
program = self.get_object()
7773
except PartnerProgram.DoesNotExist:
7874
return Response(status=status.HTTP_404_NOT_FOUND)
7975

@@ -133,13 +129,13 @@ class PartnerProgramRegister(generics.GenericAPIView):
133129
"""
134130
Register user to program and save additional program data
135131
"""
136-
132+
queryset = PartnerProgram.objects.none()
137133
permission_classes = [IsAuthenticated]
138134
serializer_class = PartnerProgramUserSerializer
139135

140136
def post(self, request, *args, **kwargs):
141137
try:
142-
program = PartnerProgram.objects.get(pk=kwargs["pk"])
138+
program = self.get_object()
143139
if program.datetime_registration_ends < timezone.now():
144140
return Response(
145141
data={"detail": "Registration period has ended."},
@@ -166,26 +162,27 @@ def post(self, request, *args, **kwargs):
166162

167163

168164
class PartnerProgramSetViewed(generics.GenericAPIView):
169-
# fixme
170-
# serializer_class = SetViewedSerializer
165+
queryset = PartnerProgram.objects.none()
166+
serializer_class = SetViewedSerializer
171167
permission_classes = [IsAuthenticated]
172168

173169
def post(self, request, *args, **kwargs):
174170
try:
175-
program = PartnerProgram.objects.get(pk=self.kwargs["pk"])
171+
program = self.get_object()
176172
add_view(program, request.user)
177173
return Response(status=status.HTTP_200_OK)
178174
except PartnerProgram.DoesNotExist:
179175
return Response(status=status.HTTP_404_NOT_FOUND)
180176

181177

182178
class PartnerProgramSetLiked(generics.CreateAPIView):
179+
queryset = PartnerProgram.objects.none()
183180
serializer_class = SetLikedSerializer
184181
permission_classes = [IsAuthenticated]
185182

186183
def post(self, request, *args, **kwargs):
187184
try:
188-
program = PartnerProgram.objects.get(pk=self.kwargs["pk"])
185+
program = self.get_object()
189186
set_like(program, request.user, request.data.get("is_liked"))
190187
return Response(status=status.HTTP_200_OK)
191188
except PartnerProgram.DoesNotExist:

0 commit comments

Comments
 (0)