def sign_up(request): context_dict = {'head_title': 'Software Security Project - Sign Up'} if request.method == 'POST': # form = UserCreationForm(request.POST) form = UserCreateForm(request.POST) if form.is_valid(): form.save() username = form.cleaned_data.get('username') raw_password = form.cleaned_data.get('password1') user = authenticate(username=username, password=raw_password) # this is where we hash the password using sha1 and store it in out ExtendUser model sha1 = hashlib.sha1(raw_password.encode('utf-8')).hexdigest() public_key, private_key = generate_keys() ext_user = ExtendUser(user=user, password_sha1=sha1, public_key=public_key, private_key=private_key) ext_user.save() login(request, user) return redirect('home') else: # form = UserCreationForm() form = UserCreateForm() context_dict['form'] = form return render(request, 'accounts/signup.html', context_dict)
def signup(request): user_form = UserCreateForm(data=request.POST) if request.method == 'POST': if user_form.is_valid(): username = user_form.clean_username() password = user_form.clean_password2() user_form.save() #user = authenticate(username=username, password=password) # Want more sophisticated email verification here. #login(request, user) return redirect('/') else: return redirect('/signup') return register_view(request)
def sign_up(request): resend_email = request.GET.get('resend') if resend_email: user = get_object_or_404(User, email=resend_email) send_email(request, user, resend_email) context = { 'email': resend_email, 'resend': True } return render(request, 'accounts/complete_sign_up.html', context) if request.method == 'POST': form = UserCreateForm(request.POST) if form.is_valid(): user = form.save(commit=False) is_email_exist = User.objects.filter(email=user.email).exists() if is_email_exist: form.add_error('email', 'This email is already taken!') return render(request, 'accounts/register.html', {'form': form}) user.is_active = False user.save() email = form.cleaned_data.get('email') user_profile = UserProfileInfo(user=user) user_profile.save() send_email(request, user, email) return render(request, 'accounts/complete_sign_up.html', {'email': email}) else: form = UserCreateForm() return render(request, 'accounts/register.html', {'form': form})
def register(request): if request.method == 'POST': user_form = UserCreateForm(data=request.POST) profile_form = TeacherProfileCreateForm( data=request.POST, files=request.FILES ) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save(commit=False) user.staff = True user.save() user.groups.add(Group.objects.get(name='Instructors')) profile = profile_form.save(commit=False) profile.user = user # set the user created to the profile if 'mugshot' in request.FILES: profile.mugshot = request.FILES['mugshot'] profile.save() return HttpResponseRedirect(reverse('teacher_profile:teacher_profile_list')) else: user_form = UserCreateForm() profile_form = TeacherProfileCreateForm() return render(request, 'teachers/profile/create_form.html', { 'user_form': user_form, 'profile_form': profile_form })
def test_user_create_form(): form = UserCreateForm({ 'username': '******', 'email': '*****@*****.**', 'name': 'tomek', 'profile_photo': '', 'password1': 'pass123password', 'password2': 'pass123password' }) assert form.is_valid() is True # Confirm manually set field attributes are ok. assert form.fields['password1'].help_text == ( '8 characters or more & not numerical only.') assert form.fields['email'].required is True assert form.fields['email'].help_text == 'Required' assert form.fields['profile_photo'].help_text == ( 'Image file, 300 - 500px width/height, .jpeg, .png or .gif.') user = form.save() # Confirm saved user matches data from form. assert user.username == 'tom_k' assert user.name == 'tomek' assert user.email == '*****@*****.**' assert user.profile_photo == '' # Confirm is_parent is appropriately set in save method. assert user.user_type == User.TYPE_PARENT
def VendorSignUp(request): registered = False if request.method == 'POST': # Get info from "both" forms # It appears as one form to the user on the .html page user_form = UserCreateForm(data=request.POST) profile_form = VendorsProfileForm(data=request.POST) # Check to see both forms are valid if user_form.is_valid() and profile_form.is_valid(): # Save User Form to Database user = user_form.save() # Hash the password user.set_password(user.password) # Update with Hashed password user.save() # Now we deal with the extra info! # Can't commit yet because we still need to manipulate profile = profile_form.save(commit=False) # Set One to One relationship between # UserCreateForm and VendorsProfileForm profile.user = user # Check if they provided a profile picture if 'profile_pic' in request.FILES: print('found it') # If yes, then grab it from the POST form reply profile.profile_pic = request.FILES['profile_pic'] # Now save model profile.save() # Registration Successful! registered = True else: # One of the forms was invalid if this else gets called. print(user_form.errors, profile_form.errors) else: # Was not an HTTP post so we just render the forms as blank. user_form = UserCreateForm() profile_form = VendorsProfileForm() # This is the render and context dictionary to feed # back to the registration.html file page. return render( request, 'registration/signup.html', { 'user_form': user_form, 'profile_form': profile_form, 'registered': registered })
def signup(request): """ Sign up page :param request: :return to Homepage """ if request.method == 'POST': form = UserCreateForm(request.POST) if form.is_valid(): form.save() username = form.cleaned_data.get('username') raw_password = form.cleaned_data.get('password1') user = authenticate(username=username, password=raw_password) login(request, user) return redirect('home') else: form = UserCreateForm() return render(request, 'accounts/signup.html', {'form': form})
def signup(request): if request.user.is_authenticated(): return HttpResponseRedirect("/") if request.method == "POST": user_form = UserCreateForm(data=request.POST) if form.is_valid(): #user = User.objects.create_user(username=form.cleaned_data["username"], #email = form.cleaned_data["email"], #password = form.cleaned_data["password"]) username = user_form.clean_username() password = user_form.clean_password2() user_form.save() account.name = form.cleaned_data["name"] account.birthday = form.cleaned_data["birthday"] account.save() return redirect('/') else: return index(request, user_form=user_form) else: """user is not submitting the form, show them a blank registration form""" form = UserCreateForm() return render(request, 'accounts/signup.html', {'form': form})
def create_user(request): title = "Create User" form = UserCreateForm(request.POST or None) if form.is_valid(): instance = form.save(commit=False) instance.save() return HttpResponseRedirect(f'/user/{instance.id}/info') context = { 'title': title, 'form': form, } return render(request, 'accounts/user_form.html', context)
def register(request): args = {} args.update(csrf(request)) # args['form'] = UserCreationForm() args['form'] = UserCreateForm() if request.POST: # form = UserCreationForm(request.POST) form = UserCreateForm(request.POST) if form.is_valid(): newuser = form.save() auth.login(request, newuser) return redirect('/') else: args['form'] = form return render_to_response('register.html', args)
def register(request): if request.method == 'POST': user_form = UserCreateForm(data=request.POST) profile_form = StudentProfileCreateForm(data=request.POST, files=request.FILES) if user_form.is_valid() and profile_form.is_valid(): user = user_form.save(commit=False) user.student = True user.save() profile = profile_form.save(commit=False) profile.user = user # set the user created to the profile if 'mugshot' in request.FILES: profile.mugshot = request.FILES['mugshot'] profile.save() return HttpResponseRedirect( reverse('students_profile:student_profile_list')) else: user_form = UserCreateForm() profile_form = StudentProfileCreateForm() return render(request, 'students/profile/create_form.html', { 'user_form': user_form, 'profile_form': profile_form })
def signup(request): """Signup user view. Render a blank form, or validate a post.""" if request.method == 'POST': form = UserCreateForm(request.POST) if form.is_valid(): user = form.save() user.is_active = False user.save() lbwuser = LbwUser(user=user) lbwuser.save() message = """A new user: %s %s has signed up. Please check http://%s%s and activate them as necessary. """ mail_admins("New User signed up", message % (user.get_full_name(), user.email, request.get_host(), reverse('activate_users'))) return redirect('index') else: form = UserCreateForm() return render(request, 'accounts/create_user.html', {'form': form})