def register_student(self, request, tl, one, two, module, extra, prog): resp = HttpResponse(content_type='application/json') program = self.program success = False student = get_object_or_404(ESPUser,pk=request.POST.get("student_id")) registration_profile = RegistrationProfile.getLastForProgram(student, program) success = registration_profile.student_info is not None if success: registration_profile.save() for extension in ['paid','Attended','medical','liability','OnSite']: Record.createBit(extension, program, student) IndividualAccountingController.updatePaid(self.program, student, paid=True) json.dump({'status':success}, resp) return resp
def onsite_create(self, request, tl, one, two, module, extra, prog): if request.method == 'POST': form = OnSiteRegForm(request.POST) if form.is_valid(): new_data = form.cleaned_data username = ESPUser.get_unused_username(new_data['first_name'], new_data['last_name']) new_user = ESPUser.objects.create_user(username = username, first_name = new_data['first_name'], last_name = new_data['last_name'], email = new_data['email']) self.student = new_user regProf = RegistrationProfile.getLastForProgram(new_user, self.program) contact_user = ContactInfo(first_name = new_user.first_name, last_name = new_user.last_name, e_mail = new_user.email, user = new_user) contact_user.save() regProf.contact_user = contact_user student_info = StudentInfo(user = new_user, graduation_year = ESPUser.YOGFromGrade(new_data['grade'], ESPUser.program_schoolyear(self.program))) try: if isinstance(new_data['k12school'], K12School): student_info.k12school = new_data['k12school'] else: if isinstance(new_data['k12school'], int): student_info.k12school = K12School.objects.get(id=int(new_data['k12school'])) else: student_info.k12school = K12School.objects.filter(name__icontains=new_data['k12school'])[0] except: student_info.k12school = None student_info.school = new_data['school'] if not student_info.k12school else student_info.k12school.name student_info.save() regProf.student_info = student_info regProf.save() if new_data['paid']: Record.createBit('paid', self.program, self.user) IndividualAccountingController.updatePaid(True, self.program, self.user) else: IndividualAccountingController.updatePaid(False, self.program, self.user) Record.createBit('Attended', self.program, self.user) if new_data['medical']: Record.createBit('Med', self.program, self.user) if new_data['liability']: Record.createBit('Liab', self.program, self.user) Record.createBit('OnSite', self.program, self.user) new_user.groups.add(Group.objects.get(name="Student")) new_user.recoverPassword() return render_to_response(self.baseDir()+'reg_success.html', request, { 'student': new_user, 'retUrl': '/onsite/%s/classchange_grid?student_id=%s' % (self.program.getUrlBase(), new_user.id) }) else: form = OnSiteRegForm() return render_to_response(self.baseDir()+'reg_info.html', request, {'form':form})