def register(self, request, pk=None): """ Register a student to a course. """ course = get_object_or_404(Course, pk=pk, type='O') try: coursehistory = CourseHistory.objects.get( course=course, user=request.user, ) if coursehistory.active == 'U': coursehistory.active = 'A' coursehistory.save() # TODO: shift the usersetting to the approve function usersetting = UserSetting.objects.filter( user=request.user, forum=course.forum) if len(usersetting) > 0: usersetting = usersetting[0] usersetting.is_active = True usersetting.save() return Response("Successfully registered", status.HTTP_202_ACCEPTED) else: return Response( "Your approval is pending. Please contact instructor for your approval", status.HTTP_400_BAD_REQUEST ) except: coursehistory = CourseHistory( course=course, user=request.user, active='A' ) if course.enrollment_type == 'M': coursehistory.active = 'P' coursehistory.save() usersetting = UserSetting(user=request.user, forum=course.forum) usersetting.save() return Response("Successfully registered", status.HTTP_202_ACCEPTED)
def register(self, request, pk=None): """ Register a student to a course. """ course = get_object_or_404(Course, pk=pk, type='O') try: coursehistory = CourseHistory.objects.get( course=course, user=request.user, ) if coursehistory.active == 'U': coursehistory.active = 'A' coursehistory.save() # TODO: shift the usersetting to the approve function usersetting = UserSetting.objects.filter(user=request.user, forum=course.forum) if len(usersetting) > 0: usersetting = usersetting[0] usersetting.is_active = True usersetting.save() return Response("Successfully registered", status.HTTP_202_ACCEPTED) else: return Response( "Your approval is pending. Please contact instructor for your approval", status.HTTP_400_BAD_REQUEST) except: coursehistory = CourseHistory(course=course, user=request.user, active='A') if course.enrollment_type == 'M': coursehistory.active = 'P' coursehistory.save() usersetting = UserSetting(user=request.user, forum=course.forum) usersetting.save() return Response("Successfully registered", status.HTTP_202_ACCEPTED)