Example #1
0
def register(request):
    """
    The user has chosen not to auth through facebook and doesn't already 
    have django credentials
    """
    template_dict = {}
    form = None
    logger.info("users.register(request):")
    return_page = ''
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            #grab ise
            baseuser = RegistrationProfile.objects.create_inactive_user\
            (username=form.cleaned_data['username'],\
            password=form.cleaned_data['password1'],\
            email=form.cleaned_data['email'])

            f_username = form.cleaned_data['username']
            
            logger.info('users.views.register(request): form was valid for user %s' \
                , f_username)

            f_first_name = form.cleaned_data['first_name']
            f_last_name = form.cleaned_data['last_name']
            f_street_address = form.cleaned_data['street_address']
            f_city = form.cleaned_data['city']
            f_state = form.cleaned_data['state']
            f_zip_code = form.cleaned_data['zip_code']
            f_phone = form.cleaned_data['phone']
            f_dob = form.cleaned_data['dob']
            #we validate the username / email is unique by overriding
            #clean_field methods in RegisterForm
            baseuser.first_name = f_first_name
            baseuser.last_name = f_last_name
            baseuser.save()
            newuser = UserProfile(user=baseuser)
            newuser.street_address = f_street_address
            newuser.city = f_city
            newuser.dob = f_dob
            newuser.phone_number = f_phone
            newuser.zip_code = f_zip_code
            newuser.state = f_state
            #all users are considered sources if they register
            newuser.user_type = 'S'
            newuser.save()
            logger.info('user.views.register(request): user %s saved', f_username) 
            #this call is antiquated and not how the flow is designed to work
            #any longer.  
            #return do_login(f_username,f_password,request)
            return HttpResponseRedirect('/accounts/register/complete/')
        else:
            logger.info('user.views.register(request): invalid form')
            return_page = 'registration/registration_form.html'
    if request.method != 'POST': 
        #get a new form
        form = RegisterForm()
        return_page = 'registration/registration_form.html'
    template_dict['form'] = form
    logger.info('users.views.register(request: returning page='+return_page)
    return render_to_response(return_page, template_dict,\
        context_instance=RequestContext(request))