Skip to content

Commit 713d56e

Browse files
committed
Fix for canvas view
1 parent 4414ea6 commit 713d56e

File tree

1 file changed

+37
-30
lines changed

1 file changed

+37
-30
lines changed

pocs-capstone/backend/db/views.py

Lines changed: 37 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)