11from django .utils import timezone
2-
32from django .shortcuts import render , get_object_or_404
43from rest_framework .status import *
5- from django .core .exceptions import ObjectDoesNotExist
64from rest_framework import parsers , renderers , status
75from rest_framework .authtoken .models import Token
86from rest_framework .authtoken .serializers import AuthTokenSerializer
1210from authentication .serializers import UserSerializer
1311from administration .serializers import *
1412from base .serializers import AuthSerializer , KeySerializer
15- from decide import settings
16- from decide .settings import BASEURL
1713from voting .serializers import VotingSerializer
1814from .serializers import CensusSerializer
1915from base .perms import IsAdminAPI
@@ -29,8 +25,8 @@ class VotingAPI(APIView):
2925 permission_classes = (IsAdminAPI ,)
3026
3127 def get (self , request ):
32- query = Voting .objects .all ()
33- rest = VotingSerializer (query , many = True ).data
28+ votings = Voting .objects .all ()
29+ rest = VotingSerializer (votings , many = True ).data
3430 return Response (rest , status = HTTP_200_OK )
3531
3632 def post (self , request ):
@@ -117,18 +113,15 @@ def delete(self, request):
117113 Voting .objects .filter (id__in = ids ).delete ()
118114 return Response ({}, status = HTTP_200_OK )
119115
116+
120117class VotingsAPI (APIView ):
121118 permission_classes = (IsAdminAPI ,)
122119
123120 def get (self , request , voting_id ):
124- try :
125- query = Voting .objects .filter (id = voting_id ).get ()
126- except ObjectDoesNotExist :
127- return Response ({}, status = HTTP_404_NOT_FOUND )
128- rest = VotingSerializer (query ).data
121+ votings = get_object_or_404 (Voting .objects .filter (id = voting_id ))
122+ rest = VotingSerializer (votings ).data
129123 return Response (rest , status = HTTP_200_OK )
130124
131-
132125 def delete (self , request , voting_id ):
133126 Voting .objects .all ().filter (id = voting_id ).delete ()
134127 return Response ({}, status = HTTP_200_OK )
@@ -138,8 +131,8 @@ class QuestionsAPI(APIView):
138131 permission_classes = (IsAdminAPI ,)
139132
140133 def get (self , request ):
141- query = Question .objects .all ()
142- rest = AdminQuestionSerializer (query , many = True ).data
134+ questions = Question .objects .all ()
135+ rest = AdminQuestionSerializer (questions , many = True ).data
143136 return Response (rest , status = HTTP_200_OK )
144137
145138 def post (self , request ):
@@ -165,20 +158,17 @@ class QuestionAPI(APIView):
165158 permission_classes = (IsAdminAPI ,)
166159
167160 def get (self , request , question_id ):
168- try :
169- query = Question .objects .filter (id = question_id ).get ()
170- except ObjectDoesNotExist :
171- return Response ({}, status = HTTP_404_NOT_FOUND )
172- rest = AdminQuestionSerializer (query ).data
161+ question = get_object_or_404 (Question .objects .filter (id = question_id ))
162+ rest = AdminQuestionSerializer (question ).data
173163 return Response (rest , status = HTTP_200_OK )
174164
175165 def put (self , request , question_id ):
176- obj = Question .objects .get (id = question_id )
177- serializer = AdminQuestionSerializer (obj , data = request .data )
178- if serializer .is_valid ():
179- serializer .save ()
180- return Response (serializer .data , status = HTTP_200_OK )
181- return Response (serializer .errors , status = HTTP_400_BAD_REQUEST )
166+ question = Question .objects .get (id = question_id )
167+ question_serializer = AdminQuestionSerializer (question , data = request .data )
168+ if question_serializer .is_valid ():
169+ question_serializer .save ()
170+ return Response (question_serializer .data , status = HTTP_200_OK )
171+ return Response (question_serializer .errors , status = HTTP_400_BAD_REQUEST )
182172
183173 def delete (self , request , question_id ):
184174 Question .objects .all ().filter (id = question_id ).delete ()
@@ -189,8 +179,8 @@ class CensussAPI(APIView):
189179 permission_classes = (IsAdminAPI ,)
190180
191181 def get (self , request ):
192- query = Census .objects .all ().values ()
193- return Response (query , status = HTTP_200_OK )
182+ censuss = Census .objects .all ().values ()
183+ return Response (censuss , status = HTTP_200_OK )
194184
195185 def post (self , request ):
196186 census = CensusSerializer (data = request .data )
@@ -214,73 +204,14 @@ class CensusAPI(APIView):
214204 permission_classes = (IsAdminAPI ,)
215205
216206 def get (self , request , census_id ):
217- try :
218- query = Census .objects .all ().values ().filter (id = census_id ).get ()
219- except ObjectDoesNotExist :
220- return Response ({}, status = HTTP_404_NOT_FOUND )
221- return Response (query , status = HTTP_200_OK )
222-
223- def put (self , request , census_id ):
224- if not CensusSerializer (data = request .data ).is_valid ():
225- return Response ({"result" : "Census object is not valid" }, status = HTTP_400_BAD_REQUEST )
226- else :
227- try :
228- census = Census .objects .all ().filter (id = census_id ).get ()
229- except ObjectDoesNotExist :
230- return Response ({}, status = HTTP_404_NOT_FOUND )
231- for key , value in request .data .items ():
232- setattr (census , key , value )
233- census .save ()
234- return Response ({}, status = HTTP_200_OK )
235-
236- def delete (self , request , census_id ):
237- Census .objects .all ().filter (id = census_id ).delete ()
238- return Response ({}, status = HTTP_200_OK )
239-
240-
241- class CensussAPI (APIView ):
242- permission_classes = (IsAdminAPI ,)
243-
244- def get (self , request ):
245- query = Census .objects .all ().values ()
246- return Response (query , status = HTTP_200_OK )
247-
248- def post (self , request ):
249- census = CensusSerializer (data = request .data )
250- if not census .is_valid ():
251- return Response ({"result" , "Census object is not valid" }, status = HTTP_400_BAD_REQUEST )
252- else :
253- census .save ()
254- return Response ({}, status = HTTP_200_OK )
255-
256- def delete (self , request ):
257- if request .data .get ("idList" ) is None :
258- Census .objects .all ().delete ()
259- return Response ({}, status = HTTP_200_OK )
260- else :
261- ids = request .data .get ("idList" )
262- Census .objects .filter (id__in = ids ).delete ()
263- return Response ({}, status = HTTP_200_OK )
264-
265-
266- class CensusAPI (APIView ):
267- permission_classes = (IsAdminAPI ,)
268-
269- def get (self , request , census_id ):
270- try :
271- query = Census .objects .all ().values ().filter (id = census_id ).get ()
272- except ObjectDoesNotExist :
273- return Response ({}, status = HTTP_404_NOT_FOUND )
274- return Response (query , status = HTTP_200_OK )
207+ census = get_object_or_404 (Census .objects .all ().values ().filter (id = census_id ))
208+ return Response (census , status = HTTP_200_OK )
275209
276210 def put (self , request , census_id ):
277211 if not CensusSerializer (data = request .data ).is_valid ():
278212 return Response ({"result" : "Census object is not valid" }, status = HTTP_400_BAD_REQUEST )
279213 else :
280- try :
281- census = Census .objects .all ().filter (id = census_id ).get ()
282- except ObjectDoesNotExist :
283- return Response ({}, status = HTTP_404_NOT_FOUND )
214+ census = get_object_or_404 (Census .objects .all ().filter (id = census_id ))
284215 for key , value in request .data .items ():
285216 setattr (census , key , value )
286217 census .save ()
@@ -295,8 +226,8 @@ class AuthsAPI(APIView):
295226 permission_classes = (IsAdminAPI ,)
296227
297228 def get (self , request ):
298- query = Auth .objects .all ().values ()
299- return Response (query , status = HTTP_200_OK )
229+ auths = Auth .objects .all ().values ()
230+ return Response (auths , status = HTTP_200_OK )
300231
301232 def post (self , request ):
302233 auth = AuthSerializer (data = request .data )
@@ -321,20 +252,14 @@ class AuthAPI(APIView):
321252 permission_classes = (IsAdminAPI ,)
322253
323254 def get (self , request , auth_id ):
324- try :
325- query = Auth .objects .all ().values ().filter (id = auth_id ).get ()
326- except ObjectDoesNotExist :
327- return Response ({}, status = HTTP_404_NOT_FOUND )
328- return Response (query , status = HTTP_200_OK )
255+ auth = get_object_or_404 (Auth .objects .all ().values ().filter (id = auth_id ))
256+ return Response (auth , status = HTTP_200_OK )
329257
330258 def put (self , request , auth_id ):
331259 if not AuthSerializer (data = request .data ).is_valid ():
332260 return Response ({"result" : "Auth object is not valid" }, status = HTTP_400_BAD_REQUEST )
333261 else :
334- try :
335- auth = Auth .objects .all ().filter (id = auth_id ).get ()
336- except ObjectDoesNotExist :
337- return Response ({}, status = HTTP_404_NOT_FOUND )
262+ auth = get_object_or_404 (Auth .objects .all ().filter (id = auth_id ))
338263 for key , value in request .data .items ():
339264 setattr (auth , key , value )
340265 auth .save ()
@@ -349,8 +274,8 @@ class KeysAPI(APIView):
349274 permission_classes = (IsAdminAPI ,)
350275
351276 def get (self , request ):
352- query = Key .objects .all ().values ()
353- return Response (query , status = HTTP_200_OK )
277+ keys = Key .objects .all ().values ()
278+ return Response (keys , status = HTTP_200_OK )
354279
355280 def post (self , request ):
356281 key = KeySerializer (data = request .data )
@@ -375,20 +300,14 @@ class KeyAPI(APIView):
375300 permission_classes = (IsAdminAPI ,)
376301
377302 def get (self , request , key_id ):
378- try :
379- query = Key .objects .all ().values ().filter (id = key_id ).get ()
380- except ObjectDoesNotExist :
381- return Response ({}, status = HTTP_404_NOT_FOUND )
382- return Response (query , status = HTTP_200_OK )
303+ key = get_object_or_404 (Key .objects .all ().values ().filter (id = key_id ))
304+ return Response (key , status = HTTP_200_OK )
383305
384306 def put (self , request , key_id ):
385307 if not KeySerializer (data = request .data ).is_valid ():
386308 return Response ({"result" : "User object is not valid" }, status = HTTP_400_BAD_REQUEST )
387309 else :
388- try :
389- keym = Key .objects .all ().filter (id = key_id ).get ()
390- except ObjectDoesNotExist :
391- return Response ({}, status = HTTP_404_NOT_FOUND )
310+ keym = get_object_or_404 (Key .objects .all ().filter (id = key_id ))
392311 for key , value in request .data .items ():
393312 setattr (keym , key , value )
394313 keym .save ()
@@ -403,8 +322,8 @@ class UsersAPI(APIView):
403322 permission_classes = (IsAdminAPI ,)
404323
405324 def get (self , request ):
406- query = User .objects .all ()
407- rest = UserAdminSerializer (query , many = True ).data
325+ users = User .objects .all ()
326+ rest = UserAdminSerializer (users , many = True ).data
408327 return Response (rest , status = HTTP_200_OK )
409328
410329 def post (self , request ):
@@ -432,20 +351,14 @@ class UserAPI(APIView):
432351 permission_classes = (IsAdminAPI ,)
433352
434353 def get (self , request , user_id ):
435- try :
436- query = User .objects .filter (id = user_id ).get ()
437- except ObjectDoesNotExist :
438- return Response ({}, status = HTTP_404_NOT_FOUND )
439- rest = UserAdminSerializer (query ).data
354+ user = get_object_or_404 (User .objects .filter (id = user_id ))
355+ rest = UserAdminSerializer (user ).data
440356 return Response (rest , status = HTTP_200_OK )
441357
442358 def put (self , request , user_id ):
443359 user_update = UserUpdateSerializer (data = request .data )
444360 is_valid (user_update .is_valid (), "User object is not valid" )
445- try :
446- user = User .objects .filter (id = user_id ).get ()
447- except ObjectDoesNotExist :
448- return Response ({}, status = HTTP_404_NOT_FOUND )
361+ user = get_object_or_404 (User .objects .filter (id = user_id ))
449362 for key , value in request .data .items ():
450363 if value :
451364 setattr (user , key , value )
0 commit comments