def register(request): try: join = request.POST.get("join", "false") == "true" training_id = request.POST.get("training_id") user_id = request.POST.get("user_id") training = PepRegTraining.objects.get(id=training_id) if user_id: student_user = User.objects.get(id=int(user_id)) else: student_user = request.user if join: if reach_limit(training): raise Exception("Maximum number of users have registered for this training.") try: student = PepRegStudent.objects.get(training_id=training_id, student=student_user) except: student = PepRegStudent() student.user_create = request.user student.date_create = datetime.now(UTC) student.student = student_user student.student_status = "Registered" student.training_id = int(training_id) student.user_modify = request.user student.date_modify = datetime.now(UTC) student.save() if training.type == "pepper_course": cea, created = CourseEnrollmentAllowed.objects.get_or_create(email=student_user.email, course_id=training.pepper_course) cea.is_active = True cea.save() CourseEnrollment.enroll(student_user, training.pepper_course) else: student = PepRegStudent.objects.get(training_id=training_id, student=student_user) remove_student(student) except Exception as e: return HttpResponse(json.dumps({'success': False, 'error': '%s' % e}), content_type="application/json") return HttpResponse(json.dumps({'success': True}), content_type="application/json")