Ejemplo n.º 1
0
 def test_last_name_form_char_field_max_length(self):
     form = UserForm()
     self.assertEquals(form.fields['last_name'].max_length, 50)
Ejemplo n.º 2
0
 def test_email_form_email_field_label(self):
     form = UserForm()
     self.assertEquals(form.fields['email'].label, 'Email')
Ejemplo n.º 3
0
 def test_email_form_email_field_required(self):
     """ Checks if email is required """
     form = UserForm()
     self.assertEquals(form.fields['email'].required, True)
Ejemplo n.º 4
0
 def test_password2_form_char_field_help_text(self):
     form = UserForm()
     self.assertEquals(
         form.fields['password2'].help_text,
         'Enter the same password as above, for verification.')
Ejemplo n.º 5
0
 def test_password2_form_char_field_label(self):
     form = UserForm()
     self.assertTrue(
         form.fields['password2'].label == None
         or form.fields['password2'].label == 'Password confirmation')
Ejemplo n.º 6
0
def register(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 = UserForm(data=request.POST)
        profile_form = UserProfileInfoForm(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
            # UserForm and UserProfileInfoForm
            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 = UserForm()
        profile_form = UserProfileInfoForm()

    # This is the render and context dictionary to feed
    # back to the registration.html file page.
    return render(
        request, 'first_app/registration.html', {
            'user_form': user_form,
            'profile_form': profile_form,
            'registered': registered
        })