def student_create(request): body_unicode = request.body.decode('utf-8') body = json.loads(body_unicode) major = Major.objects.get(name=body['major']) level = Level.objects.get(level=body['level']) modeOfEntry = ModeOfEntry.objects.get(name=body['modeOfEntry']) dateBirth = body['dateBirth'] user = User() user.username = body['username'] user.password = dateBirth user.first_name = body['first_name'] user.last_name = body['last_name'] user.email = body['email'] user.type = '7' user.sex = body['sex'] user.save() student = Student() student.user = user student.major = major student.level = level student.modeOfEntry = modeOfEntry student.status = '1' student.dateBirth = dateBirth student.save() serial = StudentSerializer(student) return JsonResponse(serial.data, safe=False, status=200)
def form_valid(self, form): data = form.cleaned_data user = User(username=data.get('username')) user.first_name = data.get('firstname') user.last_name = data.get('lastname') user.email = data.get('email') user.set_password(data.get('password')) user.is_active = False user.save() if data.get('role') == RESEARCHER: researcher = Researcher() researcher.user = user researcher.phone = data.get('phone') researcher.save() elif data.get('role') == STUDENT: student = Student() student.user = user student.school = School.objects.get( id=data.get('school')) # <select name=xxxx> defines this student.role = PEERLEADER student.save() else: advisor = Advisor() advisor.user = user advisor.school = School.objects.get(id=data.get('school')) advisor.save() return super(RegisterView, self).form_valid(form)