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))