Beispiel #1
0
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)
Beispiel #2
0
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)
Beispiel #3
0
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})
Beispiel #4
0
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
    })
Beispiel #5
0
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
Beispiel #6
0
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
        })
Beispiel #7
0
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})
Beispiel #8
0
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})
Beispiel #9
0
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)
Beispiel #10
0
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)
Beispiel #11
0
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
    })
Beispiel #12
0
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})