@@ -262,10 +262,20 @@ def post(self, request):
262262 if registration_serializer .is_valid ():
263263 newuser = registration_serializer .save ()
264264 if newuser :
265- try :
266- send_email (request .data ['email' ])
267- except :
268- print ("Oops! Registration email failed to send" )
265+ user_email = request .data .get ('email' )
266+
267+ if user_email :
268+ try :
269+ send_email (user_email )
270+ except Exception as e :
271+ print (f"Oops! Registration email failed to send: { e } " )
272+
273+ # Canvas assignments reminder email
274+ try :
275+ send_assignment_reminder_email (user_email , days_ahead = 7 )
276+ except Exception as e :
277+ print (f"Oops! Assignment reminder email failed to send: { e } " )
278+
269279 return Response (status = status .HTTP_201_CREATED )
270280
271281 print (registration_serializer .errors )
@@ -290,37 +300,34 @@ def post(self, request):
290300 return Response (e , status = status .HTTP_400_BAD_REQUEST )
291301
292302
293- class CustomUserCreate (APIView ):
294- permission_classes = [AllowAny ]
303+ class CanvasView (APIView ):
304+ permission_classes = [IsAuthenticated , ]
295305
296- def post (self , request ):
297- registration_serializer = RegisterUserSerializer (data = request .data )
298- if registration_serializer .is_valid ():
299- newuser = registration_serializer .save ()
300- if newuser :
301- user_email = request .data .get ('email' )
306+ def __enter_inventory_item (self , _user , old_date , new_task ):
302307
303- if user_email :
304- try :
305- send_email (user_email )
306- except Exception as e :
307- print (f"Oops! Registration email failed to send: { e } " )
308+ if ((old_date != None ) and (new_task .completed_date != None )):
309+ new_task .completed = True
310+ new_task .save ()
311+ return
308312
309- # Canvas assignments reminder email
310- try :
311- send_assignment_reminder_email (user_email , days_ahead = 7 )
312- except Exception as e :
313- print (f"Oops! Assignment reminder email failed to send: { e } " )
313+ if old_date == None :
314+ if new_task .completed_date != None : # first time completed
314315
315- return Response (status = status .HTTP_201_CREATED )
316+ new_task .completed = True # The task has officially been completed!
317+ new_task .save ()
316318
317- print (registration_serializer .errors )
318- errors = registration_serializer .errors
319- if ('email' in errors .keys ()):
320- return Response ("Email is taken" , status = status .HTTP_409_CONFLICT )
321- if ('username' in errors .keys ()):
322- return Response ("Username is taken" , status = status .HTTP_409_CONFLICT )
323- return Response (registration_serializer .errors , status = status .HTTP_400_BAD_REQUEST )
319+ try :
320+ obj = Inventory .objects .get (
321+ user = _user , candy_base_type = new_task .task_type , candy_level = new_task .task_level )
322+ updated_quantity = obj .quantity + 1
323+ obj .quantity = updated_quantity
324+ obj .save () # inventory is updated
325+
326+ except Inventory .DoesNotExist :
327+ obj = Inventory (
328+ user = _user , candy_base_type = new_task .task_type , candy_level = new_task .task_level , quantity = 1 )
329+ obj .save () # new inventory item now created
330+ pass
324331
325332 def get (self , request ):
326333
0 commit comments