Esempio n. 1
0
def student_signup(request):
    email = None
    if request.user.is_authenticated:
        email = request.user.email

    student = Student.objects.filter(email_address=email)

    # if len(student) > 0:
    #     messages.info(request, 'You have already signed up.')
    #     return redirect('/profile/')

    if request.method == 'POST':
        form = EditStudentSignupForm(request.POST)
        if form.is_valid():

            s = Student(
                email_address=email,
                first_name=form.cleaned_data['first_name'],
                last_name=form.cleaned_data['last_name'],
                student_id=form.cleaned_data['student_id'],
                college=form.cleaned_data['college'],
                major=form.cleaned_data['major'],
                year=form.cleaned_data['year'],
                resume_link=form.cleaned_data['resume_link'],
                general_question=form.cleaned_data['general_question'],
                additional_skills=form.cleaned_data['additional_skills'])

            skills = s.skills
            for skill in skills:
                skills[skill] = form.cleaned_data.get(skill, "")

            s._skills = skills

            s.save()

            return redirect('/profile/')

        else:
            logger.error(
                f"Invalid profile form for student {student}:\n{form}")
            messages.info(
                request,
                'Your application was invalid and could not be processed. If this error persists, '
                'please contact [email protected].')
            return redirect('/profile/')

    else:
        form = EditStudentSignupForm()
        return render(request, 'profile/edit_student_profile.html', {
            'title': "Student Create profile/",
            'form': form
        })