@@ -148,40 +148,17 @@ class VacationUserApiView(ListAPIView):
148148 permission_classes = [UserIsAuthenticated ]
149149 pagination_class = BaseGeneralUserPagination
150150
151- def get_queryset (self ) -> Response :
151+ def get_queryset (self ):
152152 """method to get all vacations for certain user"""
153153 user_id = self .request .query_params .get ("user_id" )
154- if not user_id :
155- return CustomResponse .bad_request (message = "user_id is required" )
156-
157154 year = self .request .query_params .get ("year" )
158155 if not year :
159156 year = datetime .now ().year
160157
161- request_type = self .request .query_params .get ("type" )
162- if not request_type :
163- request_type = "all"
158+ request_type = self .request .query_params .get ("type" , "all" )
159+ status = self .request .query_params .get ("status" , "all" )
164160
165- if request_type != "all" :
166- request_type = normalize_request_type (request_type )
167- if request_type is None :
168- return CustomResponse .bad_request (message = "Invalid request type" )
169-
170- current_user : User = get_user_by_id (user_id )
171- if current_user is None :
172- return CustomResponse .not_found (
173- message = "user is not found" , status_code = 404
174- )
175-
176- queryset = None
177-
178- status = self .request .query_params .get ("status" )
179- if not status :
180- status = "all"
181-
182- queryset = filter_vacations_by_user_id (current_user .id ).filter (
183- from_date__year = year
184- )
161+ queryset = filter_vacations_by_user_id (user_id ).filter (from_date__year = year )
185162
186163 if request_type != "all" :
187164 request_type = normalize_request_type (request_type )
@@ -193,6 +170,22 @@ def get_queryset(self) -> Response:
193170
194171 return queryset .order_by ("-created_at" )
195172
173+ def get (self , request : Request , * args , ** kwargs ) -> Response :
174+ user_id = request .query_params .get ("user_id" )
175+ if not user_id :
176+ return CustomResponse .bad_request (message = "user_id is required" )
177+
178+ request_type = request .query_params .get ("type" , "all" )
179+ if request_type != "all" :
180+ if normalize_request_type (request_type ) is None :
181+ return CustomResponse .bad_request (message = "Invalid request type" )
182+
183+ current_user = get_user_by_id (user_id )
184+ if current_user is None :
185+ return CustomResponse .not_found (message = "user is not found" )
186+
187+ return super ().get (request , * args , ** kwargs )
188+
196189
197190class VacationsUpdateApiView (ListAPIView , GenericAPIView ):
198191 serializer_class = VacationsUpdateSerializer
0 commit comments