def signup(request): errormessage = None #if the request type is a post if request.method == 'POST': #do checks to make sure all required fields are entered checkusername = request.POST.get("email") if checkusername == None: errormessage = "You must select an email" return render_to_response("users\signup.html",{'errormessage':errormessage},context_instance=RequestContext(request)) if request.POST.get('password') == None: errormessage = "You must choose a password" return render_to_response("users\signup.html",{'errormessage':errormessage},context_instance=RequestContext(request)) if request.POST.get('password') != request.POST.get('confirmpassword'): errormessage = "Your passwords do not match" return render_to_response("users\signup.html",{'errormessage':errormessage},context_instance=RequestContext(request)) #if that username has been taken, return error message try: User.objects.get(username = checkusername) errormessage = "That email has been taken" return render_to_response("users\signup.html",{'errormessage':errormessage},context_instance=RequestContext(request)) except: #else get all the required information required for the registration firstname = request.POST.get('firstname') lastname = request.POST.get('lastname') email = request.POST.get('email') password = request.POST.get('password') phoneno = request.POST.get('phone') address = request.POST.get('address') province = request.POST.get('province') city = request.POST.get('city') user = User.objects.create_user(checkusername,email,password) user = authenticate(username=checkusername, password=password) #create new user with all the information profile = UserProfile( username = checkusername, firstname=firstname, lastname=lastname, province= province, phoneno = phoneno, city = city, address = address, isverified = 0) profile.save() #generate a verification code verificationcode = id_generator() verificationapp = VerificationApp(username = checkusername, verificationcode = verificationcode) verificationapp.save() # generate verify url that user needs to click to activate account verify_url = 'http://%s/myaccount/verifyemail/?username=%s&verificationcode=%s' % (Site.objects.get_current(), checkusername, verificationcode) #send verification email send_signup_verification_email(verify_url, email, firstname) logtext = "Login" accounttext = "Sign Up" logparams=[logtext,accounttext] return render_to_response("users/verification.html", {'logparams' : logparams }, context_instance=RequestContext(request)) else: return render_to_response("users/signup.html",context_instance=RequestContext(request)) raise Http404
def test_verifyemail(self): username = "******" email = "*****@*****.**" password = "******" Userprofile = UserProfile(username=username) verificationapp = "1234567890" verapp = VerificationApp(username=username, verificationcode=verificationapp) verapp.save() request = HttpRequest() request.method = "GET" request.QUERY_STRING = "username="******"&verificationcode=" + verificationapp verifyemail(request) try: verificationapp = VerificationApp(username=username) return False except: userprofilecheck = UserProfile(username=username) self.assertTrue(userprofilecheck.isverified, msg) userprofilecheck.delete() return True
def test_verifyemail(self): username = "******" email = "*****@*****.**" password = "******" Userprofile = UserProfile(username=username) verificationapp = "1234567890" verapp = VerificationApp(username=username, verificationcode=verificationapp) verapp.save() request = HttpRequest() request.method = 'GET' request.QUERY_STRING = "username="******"&verificationcode=" + verificationapp verifyemail(request) try: verificationapp = VerificationApp(username=username) return False except: userprofilecheck = UserProfile(username=username) self.assertTrue(userprofilecheck.isverified, msg) userprofilecheck.delete() return True